Tips und Tricks zu Anaconda und Kickstart
Ausführliche Informationen finden Sie unter http://www.centos.org/docs/5/html/5.2/Installation_Guide/s1-kickstart2-howuse.html
1. %packages Bereich anpassen
Innerhalb des %packages Bereichs einer Kickstart Beschreibungsdatei werden die zu installierenden Pakete angegeben. Mit den folgenden mehr oder weniger gut dokumentierten Parametern können Sie die Paketinstallation weiter beeinflussen:
- --resolvedeps
- Paketabhängigkeiten werden automatisch aufgelöst. Seit CentOS 5 wird dieser Parameter automatisch gesetzt, so dass die Option nicht mehr explizit angeben werden muss.
- --ignoredeps
- Paketabhängigkeiten werden vollständig ignoriert. Alle nicht explizit angegebenen Pakete werden auch nicht installiert. Seit CentOS 5 ist dieser Parameter unwirksam da Paketabhängigkeiten in jedem Fall aufgelöst werden.
- --excludedocs
Verhindert die Installation von als Dokumentation gekennzeichneten Dateien. (Diese Dateien werden bei einem Aufruf von rpm -qld <Paketname> ausgegeben.)
- --nobase
- Verhindert die Installation von Paketen aus der @Base Paketgruppe. Dies ist nur zu empfehlen wenn Sie sich über die Auswirkungen im Klaren sind, da einige dieser Pakete von Post-Installationsprozessen benötigt werden.
- --ignoremissing
- Fehlende Paketabhängigkeiten oder Paketgruppen werden ohne weitere Nachfrage ignoriert.
Ein Beispiel einer minimalen CentOS 4.4 Installation:
%packages --resolvedeps --excludedocs --nobase kudzu
Beachten Sie das bei obigem Beispiel essentielle Bestandteile wie rpm, yum, vim, dhcp-client oder Tastaturlayouts nicht mit installiert werden. kudzu wird zwingend vom Installationsprogramm benötigt. Wie bereits beschrieben ist die Angabe des --resolvedeps Parameters unter CentOS 5 nicht mehr notwendig da Abhängigkeiten in jedem Fall aufgelöst werden.
2. Partitionierung
Wenn Sie CentOS mit Hilfe von Kickstart auf einer unpartitionierten Festplatte oder auf einem unpartitioniertem Festplattenimage einer virtuellen Maschine installieren möchten, sollten Sie den --initlabel Parameter nutzen um sicherzustellen das ein Disklabel erzeugt wird. Andernfalls wird Anaconda Sie auffordern die Erstellung des Disklabels zu bestätigen.
Um beispielsweise alle Partitionen auf xvda zu löschen und ein neues Disklabel zu erstellen, können Sie folgende Optionen angeben:
clearpart --all --initlabel --drives=xvda
3. Anaconda im Nur-Text Modus starten
Sicherlich ist Ihnen die Möglichkeit bekannt Anaconda durch Hinzufügen der "text" Direktive zu Ihrer Kickstart Beschreibungsdatei im NCurses Modus zu starten.
Neben der X11 und der NCurses Oberfläche bietet Anaconda auch einen Shell-ähnlichen Nur-Text Modus. Damit die gesamte Installation im Nur-Text Modus durchgeführt wird, ersetzen Sie bitte in Ihrer Kickstart Beschreibung den "text" Parameter durch "cmdline".
Besonders wenn Sie %packages --nobase oder komplexe %post Scripte einsetzen kann dies hilfreich zur Fehlersuche sein, da die Ausgabe aller Scripte während der Installation sichtbar ist.
4. firstboot aktivieren oder de-aktivieren
Bei firstboot handelt es sich um den bekannten Wizard der Ihnen bei der Grundkonfiguration des Systems nach der Installation hilft. Der Aufruf von firstboot kann durch Hinzufügen von "firstboot --enable" oder "firstboot --disable" innerhalb des Befehls-Bereichs Ihrer Kickstart Beschreibungsdatei forciert oder verhindert werden.
5. Funktionen der Virtuellen Konsolen
- Alt-F1
- Der Installationsdialog wenn "text" oder "cmdline" als Installationsart gewählt wurde
- Alt-F2
- Eine Shell
- Alt-F3
- Das Protokoll des Anaconda Installationsprogramms
- Alt-F4
- Das Systemprotokoll mit Meldungen des Kernels usw.
- Alt-F5
- Alle anderen Meldungen
- Alt-F7
- Der Installationsdialog wenn die grafische Installationsart gewählt wurde
6. %pre und %post Scripte überwachen
Wenn Sie %pre und/oder %post Scripte nutzen können Sie deren Ausgabe mit Hilfe von '--log=/path/to/file' in eine Datei umlenken.
%post --log=/root/my-post-log echo 'Hallo, Welt!'
Es besteht auch die Möglichkeit die Ausgabe auf eine virtuelle Konsole umzulenken: {{{%post exec < /dev/tty3 > /dev/tty3
chvt 3 echo echo "################################" echo "# Running Post Configuration #" echo "################################"
( echo 'Hallo, Welt!' ) 2>&1 | /usr/bin/tee /var/log/post_install.log
chvt 1 }}}
7. Vertrauenswürdige Schnittstellen in der Firewall Konfiguration festlegen
Sie können die '--trust' Option zur Firewall Konfiguration Ihrer Kickstart Beschreibungsdatei hinzufügen um eine oder mehrere Netzwerkschnittstellen als vertrauenswürdig einzustufen:
# Enable firewall, open port for ssh and make eth1 and eth2 trusted firewall --enable --ssh --trust=eth1 --trust=eth2
8. Netzwerkschnittstelle für Kickstart definieren
Falls Ihr System über mehr als eine Netzwerkschnittstelle verfügt, wird das Anaconda Installationssystem Sie auffordern die für den Kickstart Vorgang zu verwendende Schnittstelle anzugeben.
Mit Hilfe des ksdevice Kernel Parameters können Sie diesen Prozess schon im Vorfeld beeinflussen. Um z.B. für Kickstart die eth0 Netzwerkschnittstelle zu nutzen setzen Sie den ksdevice=eth0 Kernelparameter.
Eine weitere Möglichkeit ist der ksdevice=link Parameter. In diesem Fall verwendet Anaconda das erste Interface mit einem aktiven Link.
Wenn Sie mit Hilfe von PXE installieren können Sie auch IPAPPEND 2 zu Ihrer PXE Konfigurationsdatei hinzufügen und den ksdevice=bootif Kernelparameter setzen. Bei dieser Einstellung nutzt Anaconda die Netzwerkschnittstelle über die der PXE Bootprozess initiiert wurde (bei der es sich nicht zwingend um die erste Schnittstelle mit einem aktiven Link handeln muss).
Innerhalb der Kickstart Beschreibungsdatei werden die Netzwerkschnittstellen im network Bereich konfiguriert. Wenn Sie sich für die zweite oder dritte der oben beschriebenen Vorgehensweise entschieden haben, können Sie im Vorfeld nicht wissen welche der definierten Schnittstellen tatsächlich von Anaconda genutzt wird. Haben Sie innerhalb des network Bereiches keine physikalische Schnittstelle angegeben, konfiguriert Anaconda die Schnittstelle die Sie für den Kickstart Vorgang angegeben haben anhand der network Einstellungen Ihrer Kickstart Datei.