Solaris 10 10/08 Installationshandbuch: Solaris Flash-Archive (Erstellung und Installation)

Erstellen von Anpassungsskripten

Ein Archiv kann mithilfe von Skripten angepasst werden. Verwenden Sie die verschiedenen Typen von Skripten für folgende Vorgänge:

Richtlinien zur Skripterstellung finden Sie unter Richtlinien für das Erstellen von Anpassungsskripten.

ProcedureSo erzeugen Sie ein Precreation-Skript

Ein solches Skript wird beim Anlegen des Archivs ausgeführt. Es hat verschiedene Aufgaben.

  1. Erzeugen Sie das Precreation-Skript. Befolgen Sie dabei die Richtlinien in Richtlinien für das Erstellen von Anpassungsskripten.

  2. Speichern Sie das Skript im Verzeichnis /etc/flash/precreation.


Beispiel 3–1 Ausschnitte aus einem Precreation-Skript

Die folgenden Beispiele sind Ausschnitte aus einem Precreation-Skript.



Beispiel 3–2 Precreation-Skript

#!/bin/sh
echo "Test precreation script started" >> $FLASH_DIR/summary
cat /opt/TestApp/critical_file_list | flcheck -
if [ $? != 0 ]; then
	echo "Test precreation script failure" >> $FLASH_DIR/summary
	exit 1
fi
echo "Test precreation script started" >> $FLASH_DIR/summary
/opt/TestApplication/license_cloning
	$FLASH_DIR/predeployment/.TestApplicationLicenceTransfer \
	$FLASH_DIR/custom_sections/TestApplicationLicenceCounter
echo "Test precreation script finished" >> $FLASH_DIR/summary
exit 0

Erzeugen eines benutzerdefinierten Archivteils per Precreation-Skript

Mit einem Precreation-Skript kann im Archiv ein benutzerdefinierter Teil erzeugt werden, der anwendungsspezifische Informationen enthalten soll. Dieser Teil dient zur Archivpflege. Ein solches Skript muss im Verzeichnis $FLASH_DIR/sections abgelegt werden. Das Solaris Flash-Archiv verarbeitet benutzerdefinierte Teile nicht. So könnte dieser Teil beispielsweise eine Beschreibung des Archivs oder auch ein Skript für die Integritätsprüfung einer Anwendung enthalten.

Für benutzerdefinierte Teile gilt folgendes Format:

ProcedureSo erzeugen Sie ein Predeployment-Skript

Ein solches Skript wird vor der Installation des Archivs ausgeführt. Wenn das Skript zur Validierung des Archivs bestimmt ist, wird es im Archiv aufbewahrt. Dient es zur Beibehaltung lokaler Konfigurationen des Klonsystems, so wird es auf dem Klonsystem gespeichert. Dieses Skript kann auch lokale Daten, die für eine spätere Anpassung benötigt werden, analysieren und abrufen. So lassen sich beispielsweise client-spezifische Informationen speichern, bevor sie von zu extrahierenden Dateien überschrieben werden. Diese Informationen können dann in der Endphase im Anschluss an die Extraktion verwendet werden.

  1. Erstellen Sie das Predeployment-Skript. Befolgen Sie dabei die Richtlinien in Richtlinien für das Erstellen von Anpassungsskripten.

  2. Speichern Sie das Skript in einem der folgenden Verzeichnisse.

    • Skripten zur Validierung des Archivs speichern Sie in /etc/flash/predeployment.

    • Wenn ein Precreation-Skript auf dieses Skript verweist, speichern Sie es im Verzeichnis $FLASH_DIR/preinstall.

    • Zum Beibehalten von Konfigurationen auf einem Klonsystem geben Sie im JumpStart-Profil mit dem Schlüsselwort local_customization den Pfad zu dem auf dem Klonsystem gespeicherten Skript an.


Beispiel 3–3 Predeployment-Skript

#!/bin/sh
$FLASH_DIR/TestApplication/check_hardware
if [ $? != 0 ]; then
	echo Unsupported hardware
	exit 1
fi
$FLASH_DIR/TestApplication/check_licence_key
if [ $? != 0 ]; then
	echo No license for this host
	exit 1
fi
$FLASH_DIR/TestApplication/deploy_license_key \
	$FLASH_DIR/TestApplication/.TestApplicationLicenceTransfer
$FLASH_DIR/TestApplication/save_data_files $FLASH_DIR/flash

exit 0

ProcedureSo erzeugen Sie ein Postdeployment-Skript

Ein solches Skript wird entweder im Archiv aufbewahrt oder in einem lokalen Verzeichnis auf dem Klonsystem gespeichert und im Anschluss an die Installation ausgeführt. Es ändert die Konfiguration eines neuen Systemabbilds auf einem Klonsystem. Ist das Skript im Archiv gespeichert, dann wirken sich die Änderungen auf alle Klonsysteme aus. Ist es in einem lokalen Verzeichnis auf einem Klonsystem gespeichert, dann wirken sich die Änderungen nur auf dieses Klonsystem aus. So können beispielsweise die durch ein Predeployment-Skript gesicherten client-spezifischen Informationen auf eine Klon-Umgebung angewendet werden, um die Installation zu vervollständigen.

Postdeployment-Skripten lassen sich auch zur Reinigung, also zur Entfernung überflüssig gewordener Dateien, nach der Archivinstallation einsetzen. Beispielsweise Protokolldateien wie diejenigen in /var/adm können entfernt werden.


Hinweis –

Nicht alle Protokolldateien benötigen jedoch ein Skript, um entfernt zu werden. Die Protokolldateien in /var/tmp können bei Archiverstellung ausgeschlossen werden.


  1. Erstellen Sie das Postdeployment-Skript. Befolgen Sie dabei die Richtlinien in Richtlinien für das Erstellen von Anpassungsskripten.

  2. Speichern Sie das Skript in einem der folgenden Verzeichnisse.

    • Wenn es auf alle Klonsysteme angewendet werden soll, speichern Sie es in /etc/flash/postdeployment.

    • Soll es sich nur auf ein Klonsystem auswirken, geben Sie im JumpStart-Profil mit dem Schlüsselwort local_customization den Pfad zu dem auf dem Klonsystem lokal gespeicherten Skript an.


Beispiel 3–4 Postdeployment-Skript

#!/bin/sh
$FLASH_DIR/TestApplication/clone_reconfiguration
$FLASH_DIR/TestApplication/restore_data $FLASH_DIR/flash

ProcedureSo erzeugen Sie ein Reboot-Skript

Dieses Skript wird im Archiv gespeichert und nach dem Neustart des Systems ausgeführt. Das Skript erledigt abschließende Konfigurationsaufgaben, die unter Umständen nach der Systemkonfiguration anfallen.

Nach der Installation des Solaris Flash-Archivs auf einem Klonsystem werden einige Host-spezifische Dateien gelöscht und für das Klonsystem neu erstellt. Das Installationsprogramm verwendet zum Löschen und Neuerstellen der rechnerspezifischen Netzwerkkonfigurationsdateien den Befehl sys-unconfig(1M) und die sysidtool(1M)-Programme. Neu erstellt werden unter anderem Dateien wie /etc/hosts, /etc/defaultrouter und /etc/defaultdomain. Reboot-Skripten können Sie für jede beliebige abschließende Änderung der Konfiguration einsetzen.

  1. Erstellen Sie das reboot-Skript.

  2. Speichern Sie das Skript im Verzeichnis /etc/flash/reboot.


Beispiel 3–5 So erstellen Sie ein reboot-Skript

#!/bin/sh 
$FLASH_DIR/TestApplication/finalize_license