32.7. Post-Installationsskript

Sie können Befehle, die nach der Installation auf dem System ausgeführt werden sollen, hinzufügen. Dieser Abschnitt muss an das Ende der Kickstart-Datei nach den in Abschnitt 32.4, »Kickstart-Optionen« beschriebenen Befehlen eingefügt werden und muss mit dem Befehl %post starten. Falls Ihre Kickstart-Datei auch einen %pre-Abschnitt enthält, so ist die Reihenfolge der %pre- und %post-Abschnitte egal.
Dieser Abschnitt ist nützlich für Funktionen wie die Installation zusätzlicher Software und die Konfiguration eines zusätzlichen Nameservers.

Anmerkung

Wenn Sie das Netzwerk einschließlich eines Name-Servers mit statischen IP-Informationen konfigurieren, können Sie auf das Netzwerk zugreifen und IP-Adressen im Abschnitt %post auflösen. Wenn Sie das Netzwerk für DHCP konfigurieren, ist die Datei /etc/resolv.conf noch nicht vollständig, wenn die Installation die %post-Sektion erreicht. Sie haben Zugriff auf das Netzwerk, können aber keine IP-Adressen auflösen. Deshalb müssen Sie IP-Adressen im %post-Abschnitt benutzen, wenn Sie DHCP verwenden.

Anmerkung

Das Post-Installationsskript wird in einer chroot-Umgebung ausgeführt. Aus diesem Grund funktionieren Aufgaben wie das Kopieren von Skripts oder RPMs von den Installationsmedien nicht.
--nochroot
Damit können Befehle angegeben werden, die außerhalb der chroot-Umgebung ausgeführt werden sollen.
Im folgenden Beispiel wird die Datei /etc/resolv.conf in das gerade erstellte Dateisystem kopiert.
%post --nochroot 
cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf
--interpreter /usr/bin/python
Ermöglicht es Ihnen, eine andere Skript-Sprache anzugeben, wie z.B. Python. Ersetzen Sie /usr/bin/python durch die Skript-Sprache Ihrer Wahl.
--log /path/to/logfile
Protokolliert die Ausgabe des Post-Installations-Skripts. Beachten Sie, dass beim Pfad der Protokolldatei in Betracht gezogen werden muss, ob Option --nochroot verwendet wird oder nicht. Ohne --nochroot beispielsweise:
%post --log=/root/ks-post.log
mit --nochroot:
%post --nochroot --log=/mnt/sysimage/root/ks-post.log

32.7.1. Beispiele

Beispiel 32.1. System bei einem Red Hat Network Satellite registrieren und die Ausgabe protokollieren:

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

Beispiel 32.2. Das Skript runme von einer NFS-Freigabe ausführen:

mkdir /mnt/temp 
mount -o nolock 10.10.0.2:/usr/new-machines /mnt/temp 
openvt -s -w -- /mnt/temp/runme 
umount /mnt/temp
NFS File-Locking (Sperren von Dateien) wird während des Kickstart-Modus nicht unterstützt. Aus diesem Grund wird beim Einhängen eines NFS-Einhängepunkts die Option -o nolock benötigt.

Beispiel 32.3. Ausführung des Subskriptionsmanagers als ein Post-Installationsskript

Red Hat Enterprise Linux 6 besitzt ein Befehlszeilen-Tool subscription-manager, welches ein System bei Red Hats gehostetem Content Service registriert und Inhalte von diesem Dienst entsprechend den für diese Organisation verfügbaren Subskriptionen abruft. Wie bei der Registrierung eines Systems bei einem lokalen Satellite-Dienst kann das subscription-manager-Tool als Post-Installationsskript laufen. Die Option --autosubscribe führt eine automatische Subskription des am besten passenden Subskriptions-Pools für das neue System aus, nachdem es beim Berechtigungsdienst registriert wurde.
%post --log=/root/ks-post.log
/usr/sbin/subscription-manager register --username rhn_username --password rhn_password --autosubscribe