====== Inštalátor balíčkov ====== **Cesta**: /usr/sbin/installer\\ **Účel**: Inštalácia aplikačných alebo systémových balíčkov\\ **Typ balíčkov**: tar.gz/tgz archív, ktorý obsahuje skript install.sh (nesmie byť vnorený v nejakom adresári, musí byť toplevel)\\ **Použitie**: installer \\ ex.: installer /tmp/update_3.1.0_to_3.1.1.tgz installer ./update_3.1.0_to_3.1.1.tgz **Návratová hodnota**:\\ 1 - neplatné vstupné parametre (cesta k balíčku, poškodený archív, v archíve chýba install.sh) iné - vráti návratovú hodnotu z install.sh - v prípade úspešnej inštalácie odporúčam návratovu hodnotu 0 **Priebeh inštalácie**:\\ 1. Inštalačný balíček sa rozbalí do adresára /mnt/updatefs/install.XXXXXX, kde XXXXXX je náhodne vygenerovaný \\ znakový reťazec - jedinečnosť adresára je zabezpečená.\\ 2. Spustí sa inštalácia balíčka. Z installera je spustený nasledovný príkaz: /mnt/updatefs/install.XXXXXX/install.sh /mnt/updatefs/install.XXXXXX ex.: /mnt/updatefs/install.hKl42r/install.sh /mnt/updatefs/install.hKl42r/ Ako je vidieť z vyššie uvedeného, install.sh dostane ako vstupný parameter cestu k adresáru, kde sú rozbalené dáta. Odporúčam používať v install.sh návratové hodnoty, 0 ako úspech. Ak chcete inštaláciu vykonávať v inom čase, nie v rámci install.sh (odložená inštalácia), je nutné všetky potrebné dáta presunúť do iného priečinka, t.j. pripraviť si dáta pre inštaláciu, nakoľko aktuálny inštalačný adresár /mnt/updatefs/install.XXXXXX bude po ukončení install.sh vymazaný. Odporúčam ho presúvať/premenovávať v rámci adresára /mnt/updatefs - v takom prípade ide o veľmi rýchlu operáciu. Adresár /mnt/updatefs je špeciálne vyhradená partícia o veľkosti 1GB určená iba na inštaláciu balíčkov. Po úspešnej aj neúspešnej inštalácii je nutné inštalačné dáta a všetky medziprodukty vymazať - upratať si po sebe.\\ **Pre update systému si rezervujem následovné názvoslovie adresárov a súborov (aby nedochádzalo ku konfliktom):**\\ /mnt/updatefs/update_system/ - inštalačné dáta /mnt/updatefs/*.state - súbory signalizujúce stav inštalácie (TRANSFERRED.state, RECOVER.state, ...) 3. Bez ohľadu na stav inštalácie bude vymazaný dočasný adresár /mnt/updatefs/install.XXXXXX\\ 4. installer bude ukončený z návratovou hodnotou z install.sh resp. 1 ak nebol install.sh vykonaný. Viď vyššie.