20 Installieren von benutzerdefinierten Vorinstallationen #
Durch die Verteilung angepasster Vorinstallationen von SUSE Linux Enterprise Server auf einer großen Anzahl identischer 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 in Abschnitt 20.1, „Vorbereiten des Master-Rechners“. 
- Passen Sie den Firstboot-Workflow an. Weitere Informationen hierzu finden Sie in Abschnitt 20.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 in Abschnitt 20.3, „Klonen der Master-Installation“. 
- Lassen Sie den Endbenutzer die Instanz von SUSE Linux Enterprise Server personalisieren. Weitere Informationen hierzu finden Sie in Abschnitt 20.4, „Anpassen der Installation“. 
20.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 einschließlich aller erforderlichen Konfigurationsschritte durch, und stellen Sie sicher, dass Sie für die Installation das Paket - yast2-firstbootauswä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 20.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 20.3, „Klonen der Master-Installation“ fort. 
20.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 in Abschnitt 20.2.1, „Anpassen von YaST-Meldungen“ beschrieben anpassen 
- Lizenzen und Lizenzaktionen wie in Abschnitt 20.2.2, „Anpassen der Lizenzaktion“ beschrieben anpassen 
- Versionshinweise für die Anzeige wie in Abschnitt 20.2.3, „Anpassen der Versionshinweise“ beschrieben anpassen 
- Reihenfolge und Anzahl der an der Installation beteiligten Komponenten wie in Abschnitt 20.2.4, „Anpassen des Workflows“ beschrieben anpassen 
- Zusätzliche optionale Skripten wie in Abschnitt 20.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 in Abschnitt 20.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/firstboot, und geben Sie in der Variablen- FIRSTBOOT_CONTROL_FILEden gewünschten Speicherort an.
   Wenn Sie mehr als nur die Arbeitsflusskomponenten anpassen möchten, finden Sie Informationen in der Dokumentation zu control.xml unter https://doc.opensuse.org/projects/YaST/SLES11/tdg/inst_in_general_chap.html#product_control.
  
20.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/firstboot, und übernehmen Sie die folgenden Änderungen:- 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 sind 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.
   
20.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. 
    Treffen Sie Ihre Wahl, und stellen Sie den entsprechenden Wert für LICENSE_REFUSAL_ACTION ein.
   
20.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-notes, und speichern Sie das Ergebnis als- RELEASE-NOTES.en.rtf(für Englisch).
- 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 unter - /etc/sysconfig/firstboot, und legen Sie für- FIRSTBOOT_RELEASE_NOTES_PATHdas tatsächliche Verzeichnis fest, in dem die Versionshinweise gespeichert sind.
20.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 20.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 20.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 20.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: - Um einen Gesamtvorschlag zu löschen, entfernen Sie das Element - proposaleinschließlich aller Unterelemente aus dem Abschnitt- proposals, und entfernen Sie das entsprechende Element- module(mit Unterelementen) aus dem Workflow.
- Um einen neuen Vorschlag hinzuzufügen, erstellen Sie ein neues Element - proposal, 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 zu 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 Ihr 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 sämtliche Abhängigkeiten zu anderen Schritten im Workflow berücksichtigt und aufgelöst werden. 
- Erstellen Sie im Container - modulesein neues- module-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 Suffix- .rbweg.
 
- Wenden Sie Ihre Einstellungen an, und schließen Sie die Konfigurationsdatei. 
     Falls die Zielhardware über mehrere Netzwerkschnittstellen verfügen könnte, fügen Sie das network-autoconfig-Paket zum Anwendungsimage hinzu. network-autoconfig durchläuft alle verfügbaren Ethernet-Schnittstellen, bis eine erfolgreich per DHCP konfiguriert ist.
    
20.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/firstboot, und 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. 
20.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 20.2.4, „Anpassen des Workflows“ beschrieben angepasst haben. 
   
    Wenn Sie /etc/YaST2/firstboot.xml geändert und Änderungen von Zeichenketten eingeführt haben, generieren Sie eine neue Übersetzungsvorlagendatei (.pot-Datei), und verwenden Sie die Toolchain gettext, um die Dateien zu übersetzen und diese anschließend in den YaST-Locale-Verzeichnissen (/usr/share/YaST2/locale) als kompilierte .mo-Dateien zu installieren. 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 die übersetzten Dateien ( - .LL_code.po-Dateien) dann 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 https://doc.opensuse.org/projects/YaST/SLES11/tdg/bk09ch01s02.html.
20.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/.
20.4 Anpassen der Installation #
Wenn das geklonte Festplatten-Image gestartet wird, startet firstboot, und die Installation fährt genauso fort wie in Abschnitt 20.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.