Un ambiente di boot inattivo è una copia dell'ambiente operativo, non del sistema attualmente in esecuzione. I package utilizzati da Solaris Live Upgrade o dal programma JumpStart personalizzato devono soddisfare i seguenti requisiti:
Devono consentire un'installazione o un aggiornamento con il programma JumpStart personalizzato senza bisogno dell'interazione dell'utente
Non devono modificare il sistema attualmente in uso, condizione necessaria per l'uso di Solaris Live Upgrade
Qui di seguito sono elencati i requisiti di conformità per l'ambiente di boot inattivo.
Perché l'installazione del sistema operativo venga eseguita correttamente, i package devono riconoscere e rispettare gli specificatori dell'ambiente di boot inattivo.
I package possono includere percorsi assoluti nel file pkgmap (mappa dei package). Questi file, se presenti, vengono scritti in modo relativo all'opzione - R del comando pkgadd. I package che contengono sia percorsi assoluti che percorsi relativi possono essere installati anche in un file system radice (/) alternativo. È necessario anteporre $PKG_INSTALL_ROOT sia ai file con percorso assoluto che a quelli con percorso relativo, in modo che tutti i percorsi vengano risolti correttamente durante l'installazione con pkgadd.
I package installati con l'opzione -R di pkgadd o quelli rimossi con l'opzione -R di pkgrm non devono modificare il sistema attualmente in uso.
Gli script procedurali eventualmente inclusi nei package installati con il comando pkgadd e l'opzione -R o in quelli rimossi con il comando pkgrm e l'opzione -R non devono modificare il sistema attualmente in uso. Negli script di installazione eventualmente utilizzati, tutte le directory e i file referenziati devono essere preceduti dalla variabile $PKG_INSTALL_ROOT. Il package deve scrivere tutte le directory e i file con il prefisso $PKG_INSTALL_ROOT. Il package non deve rimuovere le directory che non siano precedute dalla variabile $PKG_INSTALL_ROOT. La Tabella G–2 fornisce alcuni esempi di sintassi corretta per gli script.
Tabella G–2 Esempi di sintassi per gli script di installazione
$PKG_INSTALL_ROOT designa la posizione del file system radice (/) del sistema a cui viene aggiunto il package. La posizione viene impostata dall'argomento -R del comando pkgadd. Ad esempio, se viene eseguito il seguente comando, il valore di $PKG_INSTALL_ROOT diventa /a nell'installazione del package.
# pkgadd -R /a SUNWvxvm |
$BASEDIR punta alla directory base relativa in cui vengono installati gli oggetti dei package. In questa posizione vengono installati solo oggetti “riposizionabili”, cioè con percorso relativo. Gli oggetti designati con un percorso assoluto nel file pkgmap vengono sempre installati relativamente all'ambiente di boot inattivo, ma non relativamente alla variabile $BASEDIR impostata. I package che non contengono oggetti riposizionabili vengono detti assoluti; in questi package, la variabile $BASEDIR non è definita e non è disponibile per gli script procedurali.
Ad esempio, si supponga che il file pkgmap contenga due righe:
1 f none sbin/ls 0555 root sys 3541 12322 1002918510 1 f none /sbin/ls2 0555 root sys 3541 12322 2342423332 |
E che il file pkginfo contenga una specifica per $BASEDIR:
BASEDIR=/opt |
Se il package viene installato con il seguente comando, ls viene installato in /a/opt/sbin/ls, ma ls2 viene installato in /a/sbin/ls2.
# pkgadd -R /a SUNWtest |