Inhaltsverzeichnis
n dem Artikel werde ich die Liste der RHEL / CentOS 8 Kickstart-Beispielbefehle teilen, mit denen Sie die Installation für Red Hat und CentOS automatisieren können. Ich habe%pre
und%post
Installationsphase in diesem Artikel nicht behandelt, da dies diesen bereits langen Artikel nur verlängern kann. Obwohl ich versuchen werde, die am häufigsten verwendeten Kickstart-Befehle in einer Echtzeit-Produktionsumgebung abzudecken.
Kickstart-Generator
Sie können das offizielle Kickstart-Generator-Tool von Red Hat verwenden, um Ihre Kickstart-Datei zu erstellen und die Installation zu automatisieren.
Folgen Sie einfach den Bildschirmoptionen und Sie erhalten eine Beispiel-Kickstart-Datei, die auf Ihrer Wahl basiert.
Kickstart Validator
Bevor Sie die Installation mit kickstart file starten, wird empfohlen, den Inhalt der Kickstart-Konfigurationsdatei zu validieren. Install pykickstart
to install the ksvalidator
tool
# dnf -y install pykickstart
Um die Kickstart-Datei zu validieren, geben Sie den absoluten Pfad und die Kickstart-Datei mit ksvalidator
:
# ksvalidator kickstart.conf
Nachfolgend finden Sie die Liste der Kickstart-Befehle, die Sie manuell hinzufügen und Ihre eigene Kickstart-Datei erstellen können, um den gesamten Red Hat / CentOS-Installationsprozess zu automatisieren. Am Ende des Artikels habe ich eine Beispiel-Kickstart-Konfigurationsdatei angehängt, mit der ich die virtuelle Maschine in Oracle VirtualBox installiert habe
Kommentar hinzufügen (Optional)
Sie können einen Kommentar hinzufügen, um den Kickstart zu identifizieren, wie ich ihn zur Identifizierung hinzugefügt habe. Dies ist optional und Sie können ignorieren:
# version=RHEL8# RHEL/CentOS 8 Kickstart Example
Medienprüfung durchführen
Sie können die Medien überprüfen, bevor Sie mit der Installation beginnen
Kickstart-Befehl – mediacheck
Dieser Befehl zwingt das Installationsprogramm, vor dem Start der Installation eine Medienprüfung durchzuführen.
Dieser Befehl erfordert, dass Installationen besucht werden, so ist es standardmäßig deaktiviert.
Syntax:
mediacheck
Installationsmodus
Für eine vollautomatische Installation müssen Sie entweder einen der verfügbaren Modi in der Kickstart-Datei angeben:
Kickstart-Befehl – grafisch
- Er führt die Kickstart-Installation im grafischen Modus durch.
- Sie können es auch mit
--non-interactive
kombinieren, wodurch die Installation in einem vollständig nicht interaktiven Modus ausgeführt wird. - Dieser Modus beendet die Installation, wenn eine Benutzerinteraktion erforderlich ist.
Kickstart-Befehl – text
- Er führt die Kickstart-Installation im Textmodus durch.
- Sie können es auch mit
--non-interactive
kombinieren, wodurch die Installation in einem vollständig nicht interaktiven Modus ausgeführt wird. - Dieser Modus beendet die Installation, wenn eine Benutzerinteraktion erforderlich ist.
Kickstart command – cmdline
- Es führt die Installation in einem vollständig nicht interaktiven Befehlszeilenmodus durch.
- Jede Aufforderung zur Interaktion stoppt die Installation.
- Dieser Befehl hat keine Optionen.
In meinem RHEL / CentOS 8 Kickstart-Beispiel wähle ich text
als bevorzugte Installationsmethode
# Install in text modetext
Zusätzliches Repo erstellen
Sie können zusätzliche Yum-Repositorys konfigurieren, die als Quellen für die Paketinstallation verwendet werden können.
Kickstart command – repo
- Standardmäßig werden alle bereitgestellten Repos automatisch erstellt und montiert auf
/run/install/repo/<repo_name>
- Sie können mehrere hinzufügen
repo
linien.
Syntax:
repo --name=repoid
Here,
-
--baseurl=
The URL to the repository. -
--mirrorlist=
The URL pointing at a list of mirrors for the repository. -
--metalink=
The URL with metalink for the repository.
Eine vollständige Liste der unterstützten Optionen finden Sie im Red Hat Guide for Advanced Installation
In meinem RHEL / CentOS 8 Kickstart-Beispiel werde ich auch AppStream
repo erstellen, das Teil des ISO-Images ist.
# Create additional repo during installationrepo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
Installation Methode
Es sind verschiedene installation methoden zu wählen aus wie cdrom
harddrive
hmc
nfs
liveimg
oder url
.
Wir verwenden meistens url
cdrom
und nfs
in der Produktionsumgebung, also werde ich diese Installationsmethode erklären:
Kickstart-Befehl – nfs
Es führt die Installation von einem angegebenen NFS-Server aus.
Syntax:
nfs OPTIONS
Optionen:
-
--server=
Server, von dem aus installiert werden soll (Hostname oder IP). -
--dir=
Verzeichnis, das das Variantenverzeichnis des Installationsbaums enthält. -
--opts=
Mount-Optionen zum Mounten des NFS-Exports. (optional)
Kickstart command – url
Führt die Installation von einem Installationsbaumimage auf einem Remote-Server über FTP, HTTP oder HTTPS aus.
Syntax:
url --url=FROM
Obligatorische Optionen:
-
--url=
Der zu installierende Speicherort. Unterstützte Protokolle sind HTTP, HTTPS, FTP und File.
Optionale Optionen:
-
--proxy=
Geben Sie einen HTTP-, HTTPS- oder FTP-Proxy an, der während der Installation verwendet werden soll.
Eine vollständige Liste der unterstützten Optionen finden Sie im Red Hat Guide for advanced installation
Kickstart command – cdrom
- Es führt die Installation vom ersten optischen Laufwerk des Systems aus durch.
- Dieser Befehl hat keine Optionen.
In meinem RHEL / CentOS 8 Kickstart-Beispiel verwende ich NFS als Installationsmethode
# Installation medianfs --server=10.10.10.12 --dir=/images/
Tastaturlayouts
- Es legt ein oder mehrere verfügbare Tastaturlayouts für das System fest.
- Alle verfügbaren Layouts können auf der Manpage xkeyboard-config(7) unter Layouts eingesehen werden.
Syntax:
keyboard --vckeymap|--xlayouts OPTIONS
Optionen:
-
--vckeymap=
Geben Sie eine VConsole-Keymap an, die verwendet werden soll. Gültige Namen entsprechen der Liste der Dateien im Verzeichnis/usr/lib/kbd/keymaps/xkb/
ohne die Erweiterung.map.gz
. -
--xlayouts=
Geben Sie eine Liste von X-Layouts an, die als kommagetrennte Liste ohne Leerzeichen verwendet werden soll. Akzeptiert Werte im selben Format wie setxkbmap(1), entweder im Layout-Format (z. B. cz) oder im Layout-Format (Variante) (z. B. cz (qwerty)).
In meinem RHEL / CentOS 8-Kickstart-Beispiel verwende ich English US
als Tastaturlayout
# Keyboard layoutskeyboard --vckeymap=us --xlayouts='us'
Systemsprache festlegen
Kickstart command – lang
- Es legt die Sprache des während der Installation zu verwenden und die Standardsprache auf dem installierten System zu verwenden.
- Sie können
locale -a | grep _
oderlocalectl list-locales
verwenden, um die Liste der unterstützten Gebietsschemas abzurufen.
Syntax:
lang language
In meinem RHEL / CentOS 8 Kickstart-Beispiel verwende ich en_US.UTF-8
# System languagelang en_US.UTF-8
Netzwerkinformationen
Kickstart-Befehl – Netzwerk
- Es konfiguriert Netzwerkinformationen für das Zielsystem und aktiviert Netzwerkgeräte in der Installationsumgebung.
- Das im ersten Netzwerkbefehl angegebene Gerät wird automatisch aktiviert.
- Die Aktivierung des Geräts kann auch explizit durch die Option –activate angefordert werden.
Syntax:
network OPTIONS
Options:
-
--activate
activate this device in the installation environment. -
--no-activate
do not activate this device in the installation environment. -
--nodefroute
prevent the device from using the default route. -
--bootproto=
One of dhcp, bootp, ibft, or static. The default option is dhcp; -
--noipv4
Deaktivieren Sie IPv4 auf diesem Gerät. -
--noipv6
Deaktivieren Sie IPv6 auf diesem Gerät.
In meinem RHEL / CentOS 8 Kickstart-Beispiel werde ich das Netzwerk 2 Schnittstellen zuweisen eth0
und eth1
# Network informationnetwork --bootproto=static --ip=10.10.10.15 --netmask=255.255.255.0 --gateway=10.10.10.1 --nameserver=8.8.8.8 --device=eth0 network --bootproto=dhcp --device=eth0 --activatenetwork --bootproto=dhcp --device=eth1 --onboot=off --activatenetwork --hostname=centos8-4.example.com
Root-Passwort zuweisen
- Es setzt das Root-Passwort des Systems auf das Passwort-Argument.
- Sie können das Root-Passwort entweder im Klartext oder verschlüsselt angeben
- Um ein verschlüsseltes Passwort zu erstellen, können Sie Python verwenden:
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
- ein sha512 Crypt-kompatibler Hash Ihres Passworts mit einem zufälligen Salt.
Syntax:
rootpw password
Optionen:
-
--iscrypted
Wenn diese Option vorhanden ist, wird angenommen, dass das Passwort-Argument bereits verschlüsselt ist. -
--plaintext
Wenn diese Option vorhanden ist, wird angenommen, dass das Passwort-Argument im Klartext vorliegt. -
--lock
Wenn diese Option vorhanden ist, ist das Root-Konto standardmäßig gesperrt. Dies bedeutet, dass sich der Root-Benutzer nicht über die Konsole anmelden kann.
In meinem RHEL / CentOS 8-Kickstart-Beispiel habe ich bereits ein Root-Passwort erstellt und zugewiesen
# Root passwordrootpw --iscrypted $6$w7El/FYx9mbTG6x9$Te.Yg6dq0TsQwGpdSjeDGSw4J9ZBAkLXzT9ODMV7I7lHvX3n5.9PCS4jIkS2GbVLZOpVRLvrua3wwbwA.cfWX.
Führen Sie den Setup-Agenten beim ersten Start aus
Kickstart-Befehl – firstboot
- Er bestimmt, ob die Ersteinrichtungsanwendung beim ersten Start des Systems gestartet gebootet.
- Wenn aktiviert, muss das initial-setup-Paket installiert werden.
- Wenn nicht angegeben, ist diese Option standardmäßig deaktiviert.
Syntax:
firstboot OPTIONS
Optionen:
-
--enable
oder--enabled
:Die Ersteinrichtung wird beim ersten Systemstart gestartet. -
--disable
oder--disabled
:Die Ersteinrichtung wird nicht beim ersten Systemstart gestartet. -
--reconfig
:Aktivieren Sie die Ersteinrichtung, um beim Booten im Rekonfigurationsmodus zu starten.
In meinem RHEL / CentOS 8 Kickstart-Beispiel aktiviere ich firstboot
# Run the Setup Agent on first bootfirstboot --enable
X Window System konfigurieren
Sie können das X Window System entweder installieren und konfigurieren oder deaktivieren
Kickstart-Befehl – xconfig
- Wenn Sie einen Display Manager unter Ihren Paketauswahloptionen installieren, erstellt dieses Paket eine X-Konfiguration, und das installierte System ist standardmäßig
graphical.target
. - Das überschreibt den Effekt der
skipx
Option. - Um das X-Window-System zu konfigurieren, verwenden Sie „
xconfig
„
Kickstart-Befehl – skipx
Um das Konfigurieren des X-Window-Systems zu vermeiden, verwenden Sie skipx
In meinem RHEL / CentOS 8 Kickstart-Beispiel werde ich X Windows-System deaktivieren
# Do not configure the X Window Systemskipx
Systemdienste aktivieren oder deaktivieren
Kickstart command – services
- Es ändert den Standardsatz von Diensten, die unter dem Standardziel systemd ausgeführt werden.
- Die Liste der deaktivierten Dienste wird vor der Liste der aktivierten Dienste verarbeitet.
- Wenn daher ein Dienst in beiden Listen angezeigt wird, wird er aktiviert.
Syntax:
services
In meinem RHEL / CentOS 8 Kickstart-Beispiel aktiviere ich chronyd
Dienst
# System servicesservices --enabled="chronyd"
Zeitzone einstellen
Kickstart-Befehl – Zeitzone
- Legt die Systemzeitzone fest.
- Sie können
timedatectl list-timezones
verwenden, um die Liste der unterstützten Zeitzonenwerte abzurufen
Syntax:
timezone timezone
Optionale Optionen:
-
--utc
Falls vorhanden, geht das System davon aus, dass die Hardwareuhr auf UTC (Greenwich Mean) eingestellt ist. -
--nontp
Deaktivieren Sie den automatischen Start des NTP-Dienstes. -
--ntpservers=
Geben Sie eine Liste von NTP-Servern an, die als kommagetrennte Liste ohne Leerzeichen verwendet werden soll.
In meinem RHEL / CentOS 8 Kickstart-Beispiel verwende ich Asia/Kolkata
als meine Zeitzone
# System timezonetimezone Asia/Kolkata --isUtc
Neustart des Knotens
Kickstart-Befehl – Neustart
- Das „
reboot
“ weist das Installationsprogramm an, nach erfolgreichem Abschluss der Installation neu zu starten (keine Argumente). - Normalerweise zeigt Kickstart eine Meldung an und wartet darauf, dass der Benutzer vor dem Neustart eine Taste drückt.
- Geben Sie reboot an, um die Installation zu automatisieren
In meinem RHEL / CentOS 8 Kickstart-Beispiel werde ich reboot verwenden, um die gesamte Installation zu automatisieren
# Reboot the nodereboot
Festplattenpartition erstellen
Sie können verschiedene Variablen verwenden, um Ihr Festplattenlayout zu konfigurieren
Kickstart-Befehl – ignoredisk
- Das Installationsprogramm ignoriert die angegebenen Datenträger.
- Dies ist nützlich, wenn Sie die automatische Partitionierung verwenden und sicherstellen möchten, dass einige Festplatten ignoriert werden.
In meinem RHEL / CentOS 8 Kickstart-Beispiel möchte ich nur sda
Festplatte für die Installation verwenden
# Choose the disks to be usedignoredisk --only-use=sda
Kickstart-Befehl – clearpart
- Es entfernt Partitionen aus dem System, bevor neue erstellt werden partitionen.
- Standardmäßig werden keine Partitionen entfernt.
In meinem CentOS / RHEL 8 Kickstart-Beispiel werde ich alle vorhandenen Partitionen entfernen:
# Partition clearing informationclearpart --all
Kickstart-Befehl – Teil oder Partition
- Es erstellt eine Partition auf dem System.
- Dieses Thema ist sehr umfangreich und ich plane, verschiedene Beispiele für das Partitionslayout für die Installation von Linux zu geben
In meinem Beispiel-Kickstart-Beispiel werde ich CentOS 8 mit Logical Volume Manager installieren. Hier erstelle ich
- logisches Root-Volume
- Swap-Partition
- Boot-Partition
# Disk partitioning informationpart pv.409 --fstype="lvmpv" --ondisk=sda --size=14847part /boot --fstype="ext4" --ondisk=sda --size=512volgroup rhel --pesize=4096 pv.409logvol swap --fstype="swap" --size=953 --name=swap --vgname=rhellogvol / --fstype="ext4" --size=13887 --name=root --vgname=rhel
Neuen Benutzer erstellen (permanent )
Sie können auch einen neuen Benutzer mit kickstart erstellen, der auch nach der Installation vorhanden sein wird
Kickstart command – user
Verwenden Sie user
um einen neuen Benutzer mit kickstart zu erstellen
Syntax:
user --name=username
In meinem RHEL / CentOS 8 Kickstart-Beispiel erstelle ich einen Benutzer deepak
# Create useruser --name=deepak --shell=/bin/bash --homedir=/home/deepak --iscrypted --password=$6$uSejt/TeWMJVQ/F8$/oFsIanDHS/5b9ssy7gZbQwNkORgRjsQIw4JyFjlTWDh9TVsEXWEy2APpCUNTHipOOEe..ubg3qBZOwpaPtsB.
Benutzer erstellen (nur für die Installation)
Sie können Benutzer nur erstellen, um den Installationsprozess zu überwachen. Sobald die Installation abgeschlossen ist, wird dieser Benutzer vom Knoten entfernt
Kickstart-Befehl – sshpw
- Während der Installation können Sie mit dem Installationsprogramm interagieren und dessen Fortschritt über eine SSH-Verbindung überwachen
- Verwenden Sie den Befehl sshpw, um temporäre Konten zu erstellen, über die Sie sich anmelden können.
- Jede Instanz des Befehls erstellt ein separates Konto, das nur in der Installationsumgebung vorhanden ist.
- Diese Konten werden nicht auf das installierte System übertragen.
Syntax:
sshpw --username=name password
In meinem CentOS /RHEL 8 Kickstart-Beispiel erstelle ich einen Benutzer admin
um die Installation zu überwachen:
sshpw --username=admin --iscrypted --password=$6$PMLcSXd.w5pBvC.u$D06Ip60h/iWExxQ09gMi5aAbFaDK.NtLOgOZ56uU6kw.uUy/9/Mmw6vYBjs8Hw50y0Rx4m0yMdH0Vt5EUEsRI.
Neue Gruppe erstellen
Sie können auch eine neue gruppe mit Kickstart
Kickstart command – group
- Wenn eine Gruppe mit dem angegebenen Namen oder der angegebenen GID bereits existiert, schlägt dieser Befehl fehl.
- Mit dem Befehl user kann eine neue Gruppe für den neu angelegten Benutzer angelegt werden.
- Es wird eine neue Benutzergruppe auf dem System erstellt.
Syntax:
group --name=name
Obligatorische Optionen
-
--name=
Gibt den Namen der Gruppe an.
Firewall aktivieren oder deaktivieren
Sie können die Firewall während der Installation aktivieren oder deaktivieren
Kickstart command – firewall
Es gibt die Firewall-Konfiguration für das installierte System an.
Syntax:
firewall --enabled|--disabled
Hier
-
--enabled
oder--enable
– Lehnen Sie eingehende Verbindungen ab, die nicht auf ausgehende Anforderungen reagieren, z. B. DNS-Antworten oder DHCP-Anforderungen. -
--disabled
oder--disable
– Konfigurieren Sie keine iptables-Regeln.
Modul aktivieren
Sie können ein Modul auch mit kickstart aktivieren
Kickstart command – module
Verwenden Sie diesen Befehl, um einen Paketmodulstream innerhalb des Kickstart-Skripts zu aktivieren.
Syntax:
module --name=NAME
Obligatorische Optionen
-
--name=
Gibt den Namen des zu aktivierenden Moduls an. Ersetzen Sie den Namen durch den tatsächlichen Namen.
SELinux aktivieren oder deaktivieren
Sie können Selinux auch mit kickstart aktivieren oder deaktivieren
Kickstart command – selinux
- Es legt den Status von SELinux auf dem installierten System fest.
- Die Standard-SELinux-Richtlinie wird erzwungen.
Syntax:
selinux
Optionen:
-
--enforcing
Aktiviert SELinux, wobei die standardmäßige Zielrichtlinie erzwungen wird. -
--permissive
Gibt Warnungen basierend auf der SELinux-Richtlinie aus, erzwingt die Richtlinie jedoch nicht. -
--disabled
Deaktiviert SELinux vollständig auf dem System.
Paketauswahl
Kickstart verwendet Abschnitte, die mit dem Befehl %packages gestartet werden, um zu installierende Pakete auszuwählen.
Kickstart-Befehl – %packages
- Auf diese Weise können Sie Pakete, Gruppen, Umgebungen, Modulströme und Modulprofile installieren.
- Verwenden Sie den Befehl %packages, um einen Kickstart-Abschnitt zu starten, der die zu installierenden Softwarepakete beschreibt.
- Der Abschnitt %packages muss mit dem Befehl %end enden.
Angeben von Gruppen
- Geben Sie Gruppen an, einen Eintrag in einer Zeile, beginnend mit einem @ -Symbol, und dann den vollständigen Gruppennamen oder die Gruppen-ID
- Sie können die Liste der unterstützten Optionen aus der Liste der „
dnf grouplist
„
%packages@X Window System@Desktop@Sound and Video%end
Angeben einzelner Pakete
- Geben Sie einzelne Pakete nach Namen an, einen Eintrag in einer Zeile. Sie können das Sternchen (*) als Platzhalter in Paketnamen verwenden. Beispielsweise:
%packagessqlitecurlaspelldocbook*%end
In my RHEL/CentOS 8 kickstart example I have used „Virtualization Host
„
%packages@^Virtualization Hostkexec-tools%end
Enable or Disable Kdump
Kickstart command – %addon com_redhat_kdump
This command configures the kdump kernel crash dumping mechanism.
Syntax:
%addon com_redhat_kdump %end
Options:
-
--enable
Enable kdump on the installed system. -
--disable
Disable kdump on the installed system. -
--reserve-mb=
Die Speichermenge, die Sie für kdump reservieren möchten, in MiB
In meinem RHEL / CentOS 8 Kickstart-Beispiel habe ich auto
verwendet, um automatisch den erforderlichen Speicher für kdump zu reservieren:
%addon com_redhat_kdump --enable --reserve-mb='auto'%end
Kennwortrichtlinie anwenden
Kickstart-Befehl – pwpolicy
- Verwenden Sie diesen Befehl, um während der Installation eine benutzerdefinierte Kennwortrichtlinie durchzusetzen.
- Die Richtlinie verlangt, dass Sie Passwörter für die Root-, Benutzer- oder luks-Benutzerkonten erstellen.
- Die Faktoren wie Passwortlänge und -stärke entscheiden über die Gültigkeit eines Passworts.
Eine Liste der unterstützten Optionen finden Sie im Red Hat-Handbuch für die erweiterte Installation
In meinem RHEL / CentOS 8 Kickstart-Beispiel habe ich die folgende Kennwortrichtlinie verwendet:
%anacondapwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notemptypwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyokpwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty%end
RHEL/CentOS 8 Kickstart Example File
Below is one sample kickstart file example from my server which I use to install Virtual Machine on Oracle VirtualBox
Red_Hat_CentOS_8_Kickstart_Example