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