Un ambiente di boot inattivo è una copia dell'ambiente operativo, non del sistema attualmente in esecuzione. I pacchetti 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 pacchetti devono riconoscere e rispettare gli specificatori dell'ambiente di boot inattivo.
I pacchetti possono includere percorsi assoluti nel file pkgmap (mappa dei pacchetti). Questi file, se presenti, vengono scritti in modo relativo all'opzione -R del comando pkgadd. I pacchetti 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 pacchetti 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 pacchetti 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 pacchetto deve scrivere tutte le directory e i file con il prefisso $PKG_INSTALL_ROOT. Il pacchetto 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 pacchetto. 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 pacchetto.
# pkgadd -R /a SUNWvxvm |
$BASEDIR punta alla directory base relativa in cui vengono installati gli oggetti dei pacchetti. 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 pacchetti che non contengono oggetti riposizionabili vengono detti assoluti; in questi pacchetti, 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 pacchetto 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 |