32.7. Script post-installation

Vous avez l'option d'ajouter des commandes à exécuter sur le système une fois l'installation terminée. Cette section doit se trouver à la fin du fichier kickstart, après les commandes kickstart décrites dans la Section 32.4, « Options de kickstart », et doit commencer avec la commande %post. Si votre fichier kickstart inclus aussi une section %pre, alors l'ordre des sections %pre et %post n'importera pas.
Cette section est utile pour des fonctions telles que l'installation de logiciels supplémentaires et la configuration d'un serveur de noms supplémentaire.

Note

Si vous avez configuré le réseau avec des informations IP statiques, y compris un serveur de noms, vous pouvez accéder au réseau et résoudre les adresses IP dans la section %post. Si vous avez configuré le réseau pour DHCP, le fichier /etc/resolv.conf n'a pas été complété lorsque l'installation exécute la section %post. Vous pouvez accéder au réseau, mais vous ne pouvez pas résoudre les adresses IP. Ainsi, si vous utilisez DHCP, vous devez spécifier les adresses IP dans la section %post.

Note

Le script post-install est exécuté dans un environnement chroot. De ce fait, des tâches comme la copie de scripts ou de RPM du support d'installation ne fonctionnent pas.
--nochroot
Permet de spécifier des commandes que vous souhaitez exécuter en dehors de l'environnement chroot.
L'exemple suivant copie le fichier /etc/resolv.conf sur le système de fichiers qui vient d'être installé.
%post --nochroot 
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python
Permet de spécifier un autre langage de script, tel que Python. Remplacez /usr/bin/python par le langage de script de votre choix.
--log /path/to/logfile
Journalise la sortie du script post-installation. Remarquez que le chemin du fichier de journalisation doit prendre en compte si vous utilisez l'option --nochroot. Par exmeple, sans --nochroot :
%post --log=/root/ks-post.log
avec --nochroot:
%post --nochroot --log=/mnt/sysimage/root/ks-post.log

32.7.1. Exemples

Exemple 32.1. Enregistrer le système sur un Satellite Red Hat Network et journaliser la sortie :

%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>

Exemple 32.2. Exécuter un script nommé runme d'un partage 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
Le verrouillage de fichiers NFS n'est pas pris en charge en mode kickstart, -o nolock est donc requis lors du montage d'un point de montage NFS.

Exemple 32.3. Exécuter subscription-manager comme un script de post-installation

Red Hat Enterprise Linux 6 possède un outil de ligne de commande, subscription-manager, qui enregistre un système au service des contenus hébergés par Red Hat et récupère des contenus depuis ce service en fonction des abonnements disponibles à l'organisation. Comme pour l'enregistrement d'un système sur un service Satellite local, l'outil subscription-manager peut être exécuté en tant que script post-installation. L'option --autosubscribe abonne automatiquement le nouveau système au pool d'abonnements disponible, qui correspond le mieux, après l'enregistrement auprès du service des droits d'accès.
%post --log=/root/ks-post.log
/usr/sbin/subscription-manager register --username rhn_username --password rhn_password --autosubscribe