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 <path to package>
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.