32.7. Script di post-installazione
È possibile utilizzare l'opzione di aggiungere i comandi da eseguire sul sistema una volta completata l'installazione. Questa sezione deve trovarsi alla fine del file kickstart, dopo i comandi di kickstart descritti in Sezione 32.4, «Opzioni di kickstart», e deve iniziare con il comando
%post
. Se il file kickstart include anche una sezione %pre
, l'ordine delle sezioni %pre
e %post
non ha importanza.
Questa sezione è utile per funzioni usate per l'installazione di software aggiuntivo e la configurazione di un nameserver.
Nota
Se la rete è stata configurata con le informazioni dell'IP statico, incluso un nameserver, allora è possibile accedere alla rete e risolvere gli indirizzi IP nella sezione
%post
. Se la rete è stata configurata per DHCP, il file /etc/resolv.conf
non è stato ancora completato quando l'installazione esegue la sezione %post
. Ora è possibile accedere alla rete ma non è possibile risolvere gli indirizzi IP. Quindi se si stà usando DHCP, sarà necessario specificare gli indirizzi IP nella sezione %post
.
Nota
Lo script post-installazione viene eseguito in un ambiente chroot, per questo motivo, l'esecuzione di compiti come ad esempio la copiatura degli script o RPM dal media d'installazione non avrà l'esito sperato.
--nochroot
- Permette di specificare i comandi che si desidera eseguire al di fuori dell'ambiente "chroot".Il seguente esempio copia il file
/etc/resolv.conf
sul file system appena installato.%post --nochroot cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python
- Consente di specificare un linguaggio di scripting diverso, quale Python. Sostituire /usr/bin/python con il linguaggio di scripting scelto.
--log /path/to/logfile
- Registrare l'output dello script post-installazione. Da notare che il percorso del file di log deve considerare se usare o meno l'opzione
--nochroot
. Per esempio, senza--nochroot
:%post --log=/root/ks-post.log
con--nochroot
:%post --nochroot --log=/mnt/sysimage/root/ks-post.log
32.7.1. Esempi
Esempio 32.1. Registrare il sistema su di un Red Hat Network Satellite e registrare l'output:
%post --log=/root/ks-post.log wget -O- http://proxy-or-sat.example.com/pub/bootstrap_script | /bin/bash /usr/sbin/rhnreg_ks --activationkey=<activationkey>
Esempio 32.2. Esegue uno script chiamato runme
da una condivisione NFS:
mkdir /mnt/temp mount -o nolock 10.10.0.2:/usr/new-machines /mnt/temp openvt -s -w -- /mnt/temp/runme umount /mnt/temp
L'NFS file locking non è supportato in modalità kickstart, per questo motivo è necessario
-o nolock
quando si esegue il montaggio di un mount NFS.
Esempio 32.3. Esecuzione di subscription-manager come script post-installazione
Red Hat Enterprise Linux 6 presenta un tool a linea di comando, subscription-manager, il quale è in grado di registrare un servizio del contenuto di Red Hat acquisendone il contenuto in base alla sottoscrizione disponibile per l'organizzazione. In modo simile alla registrazione di un sistema ad un servizio locale di Satellite, il tool subscription-manager può essere eseguito come script post-installazione. L'opzione
--autosubscribe
sottoscrive automaticamente il nuovo sistema al gruppo di sottoscrizioni più idoneo dopo la sua registrazione con il servizio di entitlement.
%post --log=/root/ks-post.log /usr/sbin/subscription-manager register --username rhn_username --password rhn_password --autosubscribe