RHEL/CentOS 8 Kickstart Beispiel | Kickstart Generator

Inhaltsverzeichnis

Werbung

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%preund%postInstallationsphase 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

HINWEIS:

Auf dem RHEL-System müssen Sie ein aktives Abonnement für RHN haben oder Sie können ein lokales Offline-Repository konfigurieren, mit dem „yum“ package manager das bereitgestellte RPM und seine Abhängigkeiten installieren kann.

# 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

Werbung

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:

Advertisement

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 cdromharddrivehmcnfsliveimg oder url.

Wir verwenden meistens urlcdrom 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 _ oder localectl 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

HINWEIS:

Ich habe einen traditionellen Schnittstellennamen verwendet, der nur möglich ist, wenn Sie die konsistente Benennung von Netzwerkgeräten deaktivieren.

# 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.