Ignora collegamenti di spostamento | |
Esci da visualizzazione stampa | |
![]() |
Guida all''nstallazione di Oracle Solaris 10 10/13: Solaris Live Upgrade e pianificazione degli aggiornamenti Oracle Solaris 10 1/13 Information Library (Italiano) |
Parte I Aggiornamento con Live Upgrade
1. Informazioni sulla pianificazione dellinstallazione di Oracle Solaris
3. Live Upgrade (pianificazione)
4. Uso di Live Upgrade per creare un ambiente di boot (procedure)
5. Aggiornamento con Live Upgrade (procedure)
6. Ripristino dei guasti: ripristino dellambiente di boot originale (procedure)
7. Gestione degli ambienti di boot con Live Upgrade (procedure)
8. Aggiornamento del sistema operativo Oracle Solaris su un sistema con zone non globali
Parte II Aggiornamento e migrazione con Live Upgrade a un pool root ZFS
10. Live Upgrade e ZFS (panoramica)
11. Live Upgrade per ZFS (pianificazione)
12. Creazione di un ambiente di boot per i pool root ZFS
13. Live Upgrade per ZFS con zone non globali installate
A. Riferimenti sui comandi Live Upgrade
B. Risoluzione dei problemi (procedure)
C. Altri requisiti per i pacchetti SVR4 (riferimenti)
Prevenzione delle modifiche al sistema operativo
Differenze tra $PKG_INSTALL_ROOT e $BASEDIR
Linee guida per la scrittura degli script
Prevenzione delle interazioni con lutente durante l
installazione o l
aggiornamento.
Impostazione dei parametri dei pacchetti per le zone
D. Utilizzo dello strumento di analisi delle patch nellaggiornamento (procedure)
Le indicazioni fornite in questa sezione permettono di mantenere invariato il sistema operativo attualmente in uso.
Per una corretta installazione di un sistema operativo, è necessario che i pacchetti riconoscano e rispettino i file system root (/) alternativi, come l'ambiente di boot inattivo di Live Upgrade.
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 root (/) 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. Questa funzionalità viene utilizzata con JumpStart, Live Upgrade, le zone non globali e i client diskless.
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 seguente mostra alcuni esempi di sintassi dello script.
Tabella C-1 Esempi di sintassi per gli script di installazione
|
$PKG_INSTALL_ROOT designa la posizione del file system root (/) 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
Gli script contenenti le procedure da eseguire sui pacchetti devono essere indipendenti dal sistema operativo attualmente in uso, per impedire che quest'ultimo venga modificato. Gli script procedurali definiscono le azioni da eseguire in determinati momenti durante l'installazione o la rimozione dei pacchetti. È possibile creare quattro script procedurali con i seguenti nomi predefiniti: preinstall, postinstall, preremove e postremove.
Tabella C-2 Linee guida per la creazione degli script
|
I pacchetti non devono eseguire comandi forniti dal pacchetto stesso. Questa limitazione garantisce la compatibilità dei client diskless ed evita la necessità di eseguire comandi che potrebbero richiedere librerie condivise non ancora installate.
Tutti i pacchetti devono superare la verifica con pkgchk. Prima di installare un pacchetto di nuova creazione, è necessario verificarlo con il comando seguente.
# pkgchk -d dir-name pkg-name
Specifica il nome del pacchetto
Esempio C-1 Test di un pacchetto
I pacchetti di nuova creazione devono essere sottoposti a test con un'installazione in un file system root (/) alternativo utilizzando l'opzione -R directory di pkgadd. Dopo l'installazione del pacchetto, è necessario verificarne la correttezza usando pkgchk, come nell'esempio seguente.
# pkgadd -d . -R /a SUNWvxvm # pkgchk -R /a SUNWvxvm
Il comando non dovrebbe restituire errori.
Esempio C-2 Test di un pacchetto su /export/SUNWvxvm
Se un pacchetto si trova in /export/SUNWvxvm, occorre eseguire il comando seguente:
# pkgchk -d /export SUNWvxvm
Il comando non dovrebbe restituire errori.
Sono inoltre disponibili altri comandi per verificare il pacchetto durante la creazione, la modifica e l'eliminazione dei file. Ad esempio:
È possibile utilizzare il comando dircmp o fssnap per verificare il comportamento dei pacchetti.
È possibile utilizzare il comando ps per eseguire il test della conformità dei daemon e verificare che nessun daemon venga arrestato o avviato dal pacchetto.
I comandi truss, pkgadd -v e pkgrm possono eseguire il test della conformità dell'installazione dei pacchetti runtime, ma non funzionano in tutte le situazioni. Nell'esempio seguente, il comando truss non considera gli accessi in sola lettura a directory diverse da $TEMPDIR e restituisce solo gli accessi di altro tipo alle directory che non risiedono nell'ambiente di boot inattivo specificato.
# TEMPDIR=/a; export TEMPDIR # truss -t open /usr/sbin/pkgadd -R ${TEMPDIR} SUNWvxvm \ 2>&1 > /dev/null | grep -v O_RDONLY | grep -v \ 'open("'${TEMPDIR}