19 Installieren von benutzerdefinierten Vorinstallationen #
Durch die Verteilung angepasster Vorinstallationen von SUSE Linux Enterprise Server auf viele identische Rechner können Sie es vermeiden, die Installation auf jedem einzelnen Rechner durchführen zu müssen. Gleichzeitig erhalten die Endbenutzer ein standardisiertes Installationsverfahren.
Erstellen Sie mit YaST Firstboot benutzerdefinierte Vorinstallations-Images und legen Sie den Workflow für die abschließenden Personalisierungsschritte fest, bei denen das Eingreifen der Endbenutzer erforderlich ist (im Gegensatz zu AutoYaST, das vollständig automatische Installationen zulässt).
Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Installation zu erstellen, an Ihre Hardware zu verteilen und das endgültige Produkt anzupassen:
- Bereiten Sie den Master-Computer vor, dessen Festplatte auf die Client-Computer geklont werden muss. Weitere Informationen hierzu finden Sie im Abschnitt 19.1, „Vorbereiten des Master-Rechners“. 
- Passen Sie den Firstboot-Workflow an. Weitere Informationen hierzu finden Sie im Abschnitt 19.2, „Anpassen der Firstboot-Installation“. 
- Erstellen Sie einen Klon der Festplatte des Master-Rechners und verteilen Sie das Image auf den Festplatten der Clients. Weitere Informationen hierzu finden Sie im Abschnitt 19.3, „Klonen der Master-Installation“. 
- Lassen Sie den Endbenutzer die Instanz von SUSE Linux Enterprise Server personalisieren. Weitere Informationen hierzu finden Sie im Abschnitt 19.4, „Anpassen der Installation“. 
19.1 Vorbereiten des Master-Rechners #
Um einen Master-Rechner für einen Firstboot-Workflow vorzubereiten, gehen Sie wie folgt vor:
- Legen Sie das Installationsmedium in den Master-Rechner ein. 
- Booten Sie den Rechner. 
- Führen Sie eine normale Installation mit allen erforderlichen Konfigurationsschritten durch und stellen Sie sicher, dass Sie das Paket - yast2-firstbootfür die Installation auswählen.
- Um Ihren eigenen Workflow von YaST-Konfigurationsschritten für den Endbenutzer zu definieren oder diesem Workflow Ihre eigenen YaST-Module hinzuzufügen, fahren Sie mit Abschnitt 19.2, „Anpassen der Firstboot-Installation“ fort. Fahren Sie andernfalls direkt bei Schritt 5 fort. 
- Aktivieren Sie Firstboot als - root:- Erstellen Sie eine leere Datei - /var/lib/YaST2/reconfig_system, um die Ausführung von Firstboot auszulösen. Diese Datei wird gelöscht, sobald die Firstboot-Konfiguration erfolgreich durchgeführt wurde. Erstellen Sie diese Datei mit dem folgenden Befehl:- touch /var/lib/YaST2/reconfig_system 
- Fahren Sie mit Abschnitt 19.3, „Klonen der Master-Installation“ fort. 
19.2 Anpassen der Firstboot-Installation #
Beim Anpassen des Workflows der Firstboot-Installation können mehrere Komponenten betroffen sein. Es wird empfohlen, sie anzupassen. Wenn Sie keine Änderungen vornehmen, führt Firstboot die Installation mithilfe von Standardeinstellungen aus. Folgende Optionen sind verfügbar:
- Meldungen an den Benutzer wie unter Abschnitt 19.2.1, „Anpassen von YaST-Meldungen“ beschrieben anpassen 
- Lizenzen und Lizenzaktionen wie unter Abschnitt 19.2.2, „Anpassen der Lizenzaktion“ beschrieben anpassen 
- Versionshinweise für die Anzeige wie unter Abschnitt 19.2.3, „Anpassen der Versionshinweise“ beschrieben anpassen 
- Reihenfolge und Anzahl der an der Installation beteiligten Komponenten wie unter Abschnitt 19.2.4, „Anpassen des Workflows“ beschrieben anpassen 
- Zusätzliche optionale Skripten wie unter Abschnitt 19.2.5, „Konfigurieren von zusätzlichen Skripten“ beschrieben konfigurieren 
So bearbeiten Sie die folgenden Konfigurationsdateien, um diese Komponenten anzupassen:
- /etc/sysconfig/firstboot
- Konfiguriert verschiedene Aspekte von Firstboot (wie Versionshinweise, Skripten und Lizenzaktionen). 
- /etc/YaST2/firstboot.xml
- Zur Konfiguration des Installations-Workflows durch Aktivierung oder Deaktivierung von Komponenten oder Hinzufügen von benutzerdefinierten Komponenten. - Bietet Übersetzungen für den Workflow einer angepassten Installation wie unter Abschnitt 19.2.6, „Bereitstellen von Übersetzungen des Installations-Workflows“ beschrieben. Tipp: Alternativer Speicherort der Steuerdatei- /etc/YaST2/firstboot.xmlist der Standardpfad für die Steuerdatei, die mit dem Paket- yast2-firstbootinstalliert wird. Wenn ein anderer Speicherort für die Steuerdatei definiert werden soll, bearbeiten Sie- /etc/sysconfig/firstbootund ändern Sie in der Variable- FIRSTBOOT_CONTROL_FILEden gewünschten Speicherort.
   Wenn Sie mehr als nur die Arbeitsflusskomponenten anpassen möchten, finden Sie Informationen in der Dokumentation zu control.xml unter http://doc.opensuse.org/projects/YaST/SLES11/tdg/inst_in_general_chap.html#product_control.
  
19.2.1 Anpassen von YaST-Meldungen #
Standardmäßig enthält eine Installation von SUSE Linux Enterprise Server verschiedene Standardnachrichten, die in verschiedenen Phasen des Installationsprozesses lokalisiert und angezeigt werden. Dazu gehört eine Willkommensmitteilung, eine Lizenzmitteilung und eine Glückwunschmitteilung am Ende der Installation. Sie können diese Meldungen durch eigene Versionen ersetzen und lokalisierte Versionen in die Installation aufnehmen. Gehen Sie wie folgt vor, um Ihre eigene Willkommensmitteilung einzubinden:
- Melden Sie sich als - rootan.
- Öffnen Sie die Konfigurationsdatei - /etc/sysconfig/firstbootund wenden Sie die folgenden Änderungen an:- Legen Sie - FIRSTBOOT_WELCOME_DIRauf den Verzeichnispfad fest, in dem Sie die Dateien speichern möchten, die die Willkommensnachricht und die lokalisierten Versionen enthalten, z. B.:- FIRSTBOOT_WELCOME_DIR="/usr/share/firstboot/" 
- Wenn der Dateiname der Willkommensnachricht weder - welcome.txtnoch- welcome_locale.txtlautet (wobei locale dem ISO 639-Sprachcode entspricht, wie „cs“ oder „de“), legen Sie das Dateinamensschema in- FIRSTBOOT_WELCOME_PATTERNSfest. Beispiel:- FIRSTBOOT_WELCOME_PATTERNS="mywelcome.txt" - Falls nicht anderweitig festgelegt, wird vom Standardwert - welcome.txtausgegangen.
 
- Erstellen Sie die Willkommensdatei und die lokalisierten Versionen, und legen Sie sie in das in der Konfigurationsdatei - /etc/sysconfig/firstbootangegebene Verzeichnis ab.
    Gehen Sie genauso vor, um angepasste Lizenz- und Beendigungsmitteilungen zu konfigurieren. Diese Variablen lauten FIRSTBOOT_LICENSE_DIR und FIRSTBOOT_FINISH_FILE.
   
    Ändern Sie die Einstellung von SHOW_Y2CC_CHECKBOX in „Ja“, wenn der Benutzer in der Lage sein soll, YaST direkt nach dem Ausführen der Installation zu starten.
   
19.2.2 Anpassen der Lizenzaktion #
Sie können die Reaktion des Installationssystems auf Benutzer, die die Lizenzvereinbarung nicht akzeptieren, anpassen. Das System kann auf die folgenden drei Arten auf dieses Szenario reagieren:
- Halt
- Die Firstboot-Installation wird abgebrochen und das gesamte System wird heruntergefahren. Das ist die Standardeinstellung. 
- Fortsetzen
- Die Firstboot-Installation wird fortgesetzt. 
- Abbrechen
- Die Firstboot-Installation wird abgebrochen, das System versucht jedoch zu booten. 
    Wählen Sie die geeignete Option aus, und stellen Sie für LICENSE_REFUSAL_ACTION den entsprechenden Wert ein.
   
19.2.3 Anpassen der Versionshinweise #
Je nachdem, ob Sie die Instanz von SUSE Linux Enterprise Server, die Sie mit Firstboot installieren möchten, geändert haben, müssen Sie die Endbenutzer möglicherweise über wichtige Aspekte ihres neuen Betriebssystems unterrichten. Eine Standardinstallation verwendet Versionshinweise (angezeigt in einer der abschließenden Phasen der Installation), um Benutzer über wichtige Änderungen zu informieren. Wenn Ihre eigenen bearbeiteten Versionshinweise als Teil einer Firstboot-Installation angezeigt werden sollen, gehen Sie wie folgt vor:
- Erstellen Sie Ihre eigene Versionshinweisdatei. Verwenden Sie das RTF-Format wie in der Beispieldatei in - /usr/share/doc/release-notesund speichern Sie das Ergebnis als- RELEASE-NOTES.en.rtf(für Deutsch).
- Speichern Sie die optional lokalisierte Version neben der ursprünglichen Version, und ersetzen Sie den Teil - endes Dateinamens durch den tatsächlichen ISO 639-Sprachcode, beispielsweise- defür Deutsch.
- Öffnen Sie die Firstboot-Konfigurationsdatei von - /etc/sysconfig/firstbootund legen Sie- FIRSTBOOT_RELEASE_NOTES_PATHauf das tatsächliche Verzeichnis fest, in dem die Versionshinweisdateien gespeichert sind.
19.2.4 Anpassen des Workflows #
    Im bereitgestellten Beispiel /etc/YaST2/firstboot.xml ist ein Standard-Workflow definiert, der die folgenden aktivierten Komponenten enthält:
   
- Sprachauswahl 
- Willkommen 
- Lizenzvereinbarung 
- Zeit und Datum 
- Benutzer 
- Stammpasswort 
- Beenden der Einrichtung 
    Beachten Sie, dass dieser Workflow eine Vorlage ist. Sie können sie richtig anpassen, indem Sie die Firstboot-Konfigurationsdatei /etc/YaST2/firstboot.xml manuell bearbeiten. Die XML-Datei ist eine Teilmenge der Standarddatei control.xml, die von YaST verwendet wird, um den Installations-Workflow zu steuern. In Beispiel 19.2, „Konfigurieren des Workflow-Abschnitts“ erfahren Sie mehr darüber, wie Sie den Workflow-Bereich konfigurieren.
   
Eine Übersicht mit Vorschlägen finden Sie in Beispiel 19.1, „Konfigurieren von Vorschlagsbildschirmen“. Dort werden Ihnen alle Hintergrundinformationen bereitgestellt, die Sie benötigen, um den Workflow für die Firstboot-Installation zu ändern. Die Basissyntax der Firstboot-Konfigurationsdatei (und die Konfiguration der Schlüsselelemente) werden anhand dieses Beispiels erklärt.
    …
    <proposals config:type="list">1
        <proposal>2
            <name>firstboot_hardware</name>3
            <mode>installation</mode>4
            <stage>firstboot</stage>5
            <label>Hardware Configuration</label>6
            <proposal_modules config:type="list">7
                <proposal_module>printer</proposal_module>8
            </proposal_modules>
        </proposal>
        <proposal>
        …
        </proposal>
    </proposals>| Der Container für alle Vorschläge, die Teil des Firstboot-Workflows sein sollen. | |
| Der Container für einen einzelnen Vorschlag. | |
| Der interne Name des Vorschlags. | |
| 
      Der Modus dieses Vorschlags. Nehmen Sie hier keine Änderungen vor. Für eine Firstboot-Installation muss diese Option auf  | |
| 
      Die Phase des Installationsprozesses, in der dieser Vorschlag aufgerufen wird. Nehmen Sie hier keine Änderungen vor. Für eine Firstboot-Installation muss diese Option auf  | |
| Die auf dem Vorschlag anzuzeigende Kennung. | |
| Der Container für alle Module, die Teil des Vorschlagbildschirms sind. | |
| Ein oder mehrere Module, die Teil des Vorschlagbildschirms sind. | 
Der nächste Abschnitt der Firstboot-Konfigurationsdatei besteht aus der Workflow-Definition. Alle Module, die Teil des Firstboot-Installations-Workflows sein sollen, müssen hier aufgeführt werden.
    <workflows  config:type="list">
        <workflow>
            <defaults>
                <enable_back>yes</enable_back>
                <enable_next>yes</enable_next>
                <archs>all</archs>
            </defaults>
            <stage>firstboot</stage>
            <label>Configuration</label>
            <mode>installation</mode>
            … <!–– list of modules  ––>
            </modules>
        </workflow>
    </workflows>
    …
    Die Gesamtstruktur des Abschnitts workflows entspricht weitgehend dem des Abschnitts proposals. Ein Container enthält die Workflow-Elemente, die Workflow-Elemente enthalten wiederum Informationen zu Stufe, Kennung und Modus (wie die in Beispiel 19.1, „Konfigurieren von Vorschlagsbildschirmen“ eingeführten Vorschläge). Am meisten fällt der Unterschied in Abschnitt defaults auf. Er enthält grundlegende Design-Informationen für die Workflow-Komponenten:
   
- enable_back
- Zeigt in allen Dialogfeldern die Schaltfläche an. 
- enable_next
- Zeigt in allen Dialogfeldern die Schaltfläche an. 
- archs
- Geben Sie die Hardware-Architekturen an, in denen dieser Workflow verwendet werden soll. 
<modules config:type="list">1 <module>2 <label>Language</label>3 <enabled config:type="boolean">false</enabled>4 <name>firstboot_language</name>5 </module> <modules>
| Der Container für alle Komponenten des Workflows | |
| Die Moduldefinitionen | |
| Die mit allen Modulen angezeigte Kennung | |
| Der Schalter zum Aktivieren/Deaktivieren dieser Komponenten im Workflow | |
| 
      Der Modulname – Das Modul selbst muss sich unter  | 
Um während der Firstboot-Installation Änderungen an der Zahl und Reihenfolge der Vorschlagsbildschirme durchzuführen, fahren Sie fort wie folgt:
- Öffnen Sie die Firstboot-Konfigurationsdatei unter - /etc/YaST2/firstboot.xml.
- Löschen Sie Vorschlagsbildschirme, fügen Sie Bildschirme hinzu oder ändern Sie die Reihenfolge von vorhandenen Bildschirmen: - Wenn Sie einen Gesamtvorschlag löschen möchten, entfernen Sie das - proposal-Element einschließlich aller Unterelemente aus dem Abschnitt- proposalsund entfernen Sie das entsprechende- module-Element (mit Unterelementen) aus dem Workflow.
- Wenn Sie einen neuen Vorschlag hinzufügen möchten, erstellen Sie ein neues - proposal-Element und tragen Sie alle erforderlichen Unterelemente ein. Stellen Sie sicher, dass der Vorschlag in- /usr/share/YaST2/clientsals YaST-Modul vorhanden ist.
- Wenn Sie die Reihenfolge der Vorschläge ändern möchten, verschieben Sie die entsprechenden - module-Elemente mit den Vorschlagsbildschirmen im Workflow. Beachten Sie, dass Abhängigkeiten von anderen Installationsschritten bestehen können, die eine bestimmte Reihenfolge der Vorschläge und Workflow-Komponenten voraussetzen.
 
- Wenden Sie Ihre Änderungen an und schließen Sie die Konfigurationsdatei. 
Sie können den Workflow der Konfigurationsschritte immer ändern, wenn der Standard Ihren Anforderungen nicht entspricht. Aktivieren oder deaktivieren Sie bestimmte Module im Workflow (oder fügen Sie eigene Workflows hinzu).
Um den Status eines Moduls im Firstboot-Workflow umzuschalten, gehen Sie wie folgt vor:
- Öffnen Sie die Konfigurationsdatei - /etc/YaST2/firstboot.xml.
- Ändern Sie den Wert für das - enabled-Element von- truein- false, um das Modul zu deaktivieren oder von- falsein- true, um es erneut zu aktivieren.- <module> <label>Time and Date</label> <enabled config:type="boolean">true</enabled> <name>firstboot_timezone</name> </module>
- Wenden Sie Ihre Änderungen an und schließen Sie die Konfigurationsdatei. 
Um dem benutzerdefinierten Modul einen Workflow hinzuzufügen, gehen Sie wie folgt vor:
- Erstellen Sie ein eigenes YaST-Modul und speichern Sie die Moduldatei - module_name.rbin- /usr/share/YaST2/clients.
- Öffnen Sie die Konfigurationsdatei - /etc/YaST2/firstboot.xml.
- Legen Sie fest, an welchem Punkt des Workflows Ihr neues Modul ausgeführt werden soll. Stellen Sie dabei sicher, dass Abhängigkeiten von anderen Schritten im Workflow berücksichtigt und aufgelöst werden. 
- Erstellen Sie im - module-Container ein neues- modules-Element und fügen Sie die entsprechenden Unterelemente hinzu:- <modules config:type="list"> … <module> <label>my_module</label> <enabled config:type="boolean">true</enabled> <name>filename_my_module</name> </module> </modules>- Geben Sie die Kennung ein, die im - label-Element auf Ihrem Modul angezeigt werden soll.
- Stellen Sie sicher, dass - enabledauf- trueeingestellt ist, damit Ihr Modul in den Workflow aufgenommen wird.
- Geben Sie den Dateinamen Ihres Moduls in das Element - nameein. Lassen Sie den vollständigen Pfad und das- .rb-Suffix weg.
 
- Wenden Sie Ihre Einstellungen an, und schließen Sie die Konfigurationsdatei. 
     Falls die Zielhardware mehrere Netzwerkschnittstellen besitzen könnte, fügen Sie das network-autoconfig-Paket zum Anwendungs-Image hinzu. network-autoconfig durchläuft alle verfügbaren Ethernet-Schnittstellen, bis eine erfolgreich per DHCP konfiguriert ist.
    
19.2.5 Konfigurieren von zusätzlichen Skripten #
Firstboot kann so konfiguriert werden, dass zusätzliche Skripten ausgeführt werden, nachdem der Firstboot-Workflow abgeschlossen wurde. Um der Firstboot-Sequenz zusätzliche Skripten hinzuzufügen, gehen Sie wie folgt vor:
- Öffnen Sie die Konfigurationsdatei - /etc/sysconfig/firstbootund stellen Sie sicher, dass der für- SCRIPT_DIRangegebene Pfad korrekt ist. Der Standardwert ist- /usr/share/firstboot/scripts.
- Erstellen Sie Ihr Shell-Skript, speichern Sie es in das angegebene Verzeichnis und wenden Sie die entsprechenden Dateiberechtigungen an. 
19.2.6 Bereitstellen von Übersetzungen des Installations-Workflows #
    Abhängig vom Endbenutzer könnten Übersetzungen des benutzerdefinierten Workflows gewünscht werden. Diese Übersetzungen könnten notwendig sein, wenn Sie den Workflow durch Ändern der Datei /etc/YaST2/firstboot.xml wie in Abschnitt 19.2.4, „Anpassen des Workflows“ beschrieben angepasst haben. 
   
    Wenn Sie die Datei /etc/YaST2/firstboot.xml geändert und Änderungen an Zeichenketten vorgenommen haben, erstellen Sie eine neue Übersetzungsvorlagendatei (.pot-Datei). Verwenden Sie die gettext-Toolkette zur Übersetzung und installieren Sie die übersetzten Dateien schließlich in den YaST-Locale-Verzeichnissen (/usr/share/YaST2/locale) als kompilierte .mo-Dateien. Führen Sie dazu die folgenden Schritte aus:
   
- Ändern Sie beispielsweise die Einstellung - textdomainvon:- <textdomain>firstboot</textdomain> - zu: - <textdomain>firstboot-oem</textdomain> 
- Extrahieren Sie mit - xgettextdie übersetzbaren Zeichenketten in die Übersetzungsvorlagendatei (- .pot-Datei), zum Beispiel in- firstboot-oem.pot:- xgettext -L Glade -o firstboot-oem.pot /etc/YaST2/firstboot.xml 
- Starten Sie den Übersetzungsprozess. Verpacken Sie dann die übersetzten Dateien ( - .LL_code.po-Dateien) auf die gleiche Weise wie die Übersetzungen der anderen Projekte und installieren Sie die kompilierten- firstboot-oem.mo-Dateien.
Falls Sie Übersetzungen für zusätzliche oder geänderte YaST-Module benötigen, stellen Sie die Übersetzungen in einem derartigen Modul selbst bereit. Wenn Sie ein vorhandenes Modul geändert haben, ändern Sie auf jeden Fall auch dessen Textdomain-Anweisung, um unerwünschte Nebeneffekte zu vermeiden.
Weitere Informationen zur YaST-Bereitstellung finden Sie in https://en.opensuse.org/openSUSE:YaST_development. Detaillierte Informationen über YaST Firstboot finden Sie unter http://doc.opensuse.org/projects/YaST/SLES11/tdg/bk09ch01s02.html.
19.3 Klonen der Master-Installation #
Klonen Sie die Festplatte des Master-Rechners mit einem verfügbaren Imaging-Mechanismus und führen Sie die Images auf den Zielrechnern ein. Weitere Informationen zum Imaging finden Sie unter https://doc.suse.com/kiwi/.
19.4 Anpassen der Installation #
Sobald das geklonte Festplatten-Image gebootet wurde, startet Firstboot, und die Installation fährt genauso fort wie in Abschnitt 19.2.4, „Anpassen des Workflows“ beschrieben. Nur die Komponenten werden gestartet, die in der Firstboot-Workflow-Konfiguration enthalten sind. Alle anderen Installationsschritte werden übersprungen. Der Endbenutzer passt Sprache, Tastatur, Netzwerk und Passworteinstellungen an, um den Arbeitsplatzrechner zu personalisieren. Nach Abschluss dieses Vorgangs verhält sich ein mit Firstboot installiertes System wie eine normale Instanz von SUSE Linux Enterprise Server.