RHEL/CentOS 8 Exemple de démarrage| Générateur de démarrage

Table des matières

Publicité

Dans l’article, je partagerai la liste des exemples de commandes RHEL / CentOS 8 kickstart que vous pouvez utiliser pour automatiser l’installation de Red Hat et CentOS. Je n’ai pas couvert l’étape d’installation de %pre et %post dans cet article car cela pourrait simplement allonger cet article déjà long. Bien que je vais essayer de couvrir les commandes kickstart les plus utilisées dans un environnement de production en temps réel.

Générateur Kickstart

Vous pouvez utiliser l’outil de générateur Kickstart officiel de Red Hat pour créer votre fichier kickstart afin d’automatiser l’installation.

Suivez simplement les options à l’écran et vous obtiendrez un exemple de fichier kickstart basé sur votre choix.

Validateur Kickstart

Avant de lancer l’installation à l’aide du fichier kickstart, il est recommandé de valider le contenu du fichier de configuration Kickstart. Installez pykickstartpour installer l’outil ksvalidator

REMARQUE:

Sur le système RHEL, vous devez avoir un abonnement actif à RHN ou vous pouvez configurer un référentiel hors ligne local à l’aide duquel le gestionnaire de paquets « yum » peut installer le rpm fourni et ses dépendances.
# dnf -y install pykickstart

Pour valider le fichier kickstart, fournissez le chemin absolu et le fichier kickstart avec ksvalidator:

# ksvalidator kickstart.conf

Vous trouverez ci-dessous la liste des commandes Kickstart que vous pouvez ajouter manuellement et créer votre propre fichier Kickstart pour automatiser l’ensemble du processus d’installation de Red Hat/CentOS. À la fin de l’article, j’ai joint un exemple de fichier de configuration kickstart que j’ai utilisé pour installer une machine virtuelle dans Oracle VirtualBox

Publicité

Ajouter un commentaire (facultatif)

Vous pouvez choisir d’ajouter un commentaire pour identifier le Kickstart comme je l’ai ajouté pour l’identification. Cette option est facultative et vous pouvez choisir d’ignorer:

# version=RHEL8# RHEL/CentOS 8 Kickstart Example

Effectuer une vérification du support

Vous pouvez vérifier le support avant de démarrer l’installation

Commande Kickstart – mediacheck

Cette commande force le programme d’installation à effectuer une vérification du support avant de démarrer l’installation.
Cette commande nécessite que les installations soient suivies, elle est donc désactivée par défaut.

Syntaxe :

mediacheck

Mode d’installation

Pour une installation entièrement automatique, vous devez soit spécifier l’un des modes disponibles dans le fichier Kickstart:

Commande Kickstart – graphique

  • Il effectue l’installation Kickstart en mode graphique.
  • Vous pouvez également le combiner avec --non-interactive qui effectue l’installation dans un mode complètement non interactif.
  • Ce mode met fin à l’installation lorsque l’interaction de l’utilisateur est requise.

Commande Kickstart-text

  • Il effectue l’installation Kickstart en mode texte.
  • Vous pouvez également le combiner avec --non-interactive qui effectue l’installation dans un mode complètement non interactif.
  • Ce mode met fin à l’installation lorsque l’interaction de l’utilisateur est requise.

Commande Kickstart – cmdline

  • Il effectue l’installation dans un mode de ligne de commande complètement non interactif.
  • Toute invite d’interaction arrête l’installation.
  • Cette commande n’a pas d’options.

Dans mon exemple de démarrage RHEL / CentOS 8, je choisis textcomme méthode d’installation préférée

# Install in text modetext

Créer un dépôt supplémentaire

Vous pouvez configurer des dépôts yum supplémentaires qui peuvent être utilisés comme sources pour l’installation des paquets.

Commande Kickstart-repo

  • Par défaut, tous les dépôts fournis sont automatiquement créés et montés sur /run/install/repo/<repo_name>
  • Vous pouvez ajouter plusieurs .

Syntaxe:

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.

Pour la liste complète des options prises en charge, consultez le Guide d’installation avancée de Red Hat

Dans mon exemple de démarrage RHEL / CentOS 8, je créerai également un dépôt AppStream qui fait partie de l’image ISO.

# Create additional repo during installationrepo --name="AppStream" --baseurl=file:///run/install/repo/AppStream

Méthode d’installation

Il existe différentes méthodes d’installation parmi lesquelles choisir, telles que cdromharddrivehmcliveimg, ou url.

Nous utilisons principalement urlcdrom et nfsdans l’environnement de production, je vais donc expliquer ces méthodes d’installation:

Commande Kickstart -nfs

Il effectue l’installation à partir d’un serveur NFS spécifié.

Syntaxe:

nfs OPTIONS

Options:

  • --server= Serveur à partir duquel installer (nom d’hôte ou IP).
  • --dir= Répertoire contenant le répertoire des variantes de l’arborescence d’installation.
  • --opts=Options de montage à utiliser pour le montage de l’exportation NFS. (facultatif)

Commande Kickstart – url

Elle effectue l’installation à partir d’une image d’arborescence d’installation sur un serveur distant en utilisant FTP, HTTP ou HTTPS.

Syntaxe:

url --url=FROM 

Options obligatoires:

  • --url= L’emplacement à partir duquel installer. Les protocoles pris en charge sont HTTP, HTTPS, FTP et file.

Options facultatives:

  • --proxy= Spécifiez un proxy HTTP, HTTPS ou FTP à utiliser lors de l’installation.

Pour obtenir la liste complète des options prises en charge, consultez le Guide d’installation avancée de Red Hat

Commande Kickstart -cdrom

  • Il effectue l’installation à partir du premier lecteur optique du système.
  • Cette commande n’a pas d’options.

Dans mon exemple de démarrage RHEL / CentOS 8, j’utiliserai NFS comme méthode d’installation

# Installation medianfs --server=10.10.10.12 --dir=/images/

Dispositions de clavier

  • Il définit une ou plusieurs dispositions de clavier disponibles pour le système.
  • Toutes les mises en page disponibles peuvent être consultées sur la page de manuel xkeyboard-config(7) sous Mises en page.

Syntaxe:

keyboard --vckeymap|--xlayouts OPTIONS

Options:

  • --vckeymap= Spécifiez un keymap VConsole à utiliser. Les noms valides correspondent à la liste des fichiers du répertoire /usr/lib/kbd/keymaps/xkb/, sans l’extension .map.gz.
  • --xlayouts= Spécifiez une liste de mises en page X qui doivent être utilisées comme une liste séparée par des virgules sans espaces. Accepte les valeurs dans le même format que setxkbmap(1), soit dans le format de mise en page (tel que cz), soit dans le format de mise en page (variante) (tel que cz (qwerty)).

Dans mon exemple de démarrage RHEL / CentOS 8, j’utiliserai English UScomme Disposition du clavier

# Keyboard layoutskeyboard --vckeymap=us --xlayouts='us'

Définir la langue du système

Commande de démarrage-lang

  • Il définit la langue à utiliser lors de l’installation et la langue par défaut à utiliser sur le système installé.
  • Vous pouvez utiliser locale -a | grep _ ou localectl list-locales pour obtenir la liste des paramètres régionaux pris en charge.

Syntaxe:

lang language 

Dans mon exemple de démarrage RHEL/CentOS 8, j’utiliserai en_US.UTF-8

# System languagelang en_US.UTF-8

Informations réseau

Commande Kickstart-réseau

  • Il configure les informations réseau pour le système cible et active les périphériques réseau dans l’environnement d’installation.
  • Le périphérique spécifié dans la première commande réseau est activé automatiquement.
  • L’activation du périphérique peut également être explicitement requise par l’optionactivateactivate.

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;
  • --noipv4Désactivez l’IPv4 sur ce périphérique.
  • --noipv6Désactivez l’IPv6 sur ce périphérique.

Dans mon exemple de démarrage RHEL / CentOS 8, j’affecterai le réseau à 2 interfaces eth0 et eth1

ASTUCE:

J’ai utilisé un nom d’interface traditionnel qui n’est possible que si vous désactivez la dénomination cohérente des périphériques réseau.
# 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

Attribuer un mot de passe root

  • Il définit le mot de passe root du système sur l’argument password.
  • Vous pouvez fournir un mot de passe root en texte brut ou crypté
  • Pour créer un mot de passe crypté, vous pouvez utiliser python:
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
  • Cela génère un hachage compatible avec la crypte sha512 de votre mot de passe à l’aide d’un sel aléatoire.

Syntaxe:

rootpw password

Options:

  • --iscryptedSi cette option est présente, l’argument du mot de passe est supposé être déjà chiffré.
  • --plaintextSi cette option est présente, l’argument du mot de passe est supposé être en texte brut.
  • --lockSi cette option est présente, le compte racine est verrouillé par défaut. Cela signifie que l’utilisateur root ne pourra pas se connecter à partir de la console.

Dans mon exemple de démarrage RHEL/CentOS 8, j’ai déjà créé et attribué un mot de passe root

# Root passwordrootpw --iscrypted $6$w7El/FYx9mbTG6x9$Te.Yg6dq0TsQwGpdSjeDGSw4J9ZBAkLXzT9ODMV7I7lHvX3n5.9PCS4jIkS2GbVLZOpVRLvrua3wwbwA.cfWX.

Exécutez l’agent d’installation au premier démarrage

Commande Kickstart -firstboot

  • Il détermine si l’application d’installation initiale démarre le démarrage de première fois que le système est démarré.
  • Si cette option est activée, le package de configuration initiale doit être installé.
  • Si elle n’est pas spécifiée, cette option est désactivée par défaut.

Syntaxe:

firstboot OPTIONS

Options:

  • --enable ou --enabled : La configuration initiale est démarrée la première fois que le système démarre.
  • --disable ou --disabled : La configuration initiale n’est pas démarrée la première fois que le système démarre.
  • --reconfig: Permet à la configuration initiale de démarrer au démarrage en mode de reconfiguration.

Dans mon exemple de démarrage RHEL / CentOS 8, j’activerai firstboot

# Run the Setup Agent on first bootfirstboot --enable

Configurer le système X Window

Vous pouvez choisir d’installer et de configurer le système X Window ou le désactiver

Commande Kickstart – xconfig

  • Si vous installez un gestionnaire d’affichage parmi vos options de sélection de paquets, ce paquet crée une configuration X et le système installé par défaut est graphical.target.
  • Qui remplace l’effet de l’option skipx.
  • Pour configurer le système X Window, utilisez « xconfig « 

Commande Kickstart-skipx

Pour éviter de configurer le système X Window, utilisez skipx

Dans mon RHEL/ Exemple de démarrage de CentOS 8 Je désactiverai le système X Windows

# Do not configure the X Window Systemskipx

Activer ou Désactiver les services système

Commande Kickstart-services

  • Il modifie l’ensemble de services par défaut qui s’exécutera sous la cible systemd par défaut.
  • La liste des services désactivés est traitée avant la liste des services activés.
  • Par conséquent, si un service apparaît sur les deux listes, il sera activé.

Syntaxe:

services 

Dans mon exemple de démarrage RHEL / CentOS 8, j’activerai chronyd service

# System servicesservices --enabled="chronyd"

Définir le fuseau horaire

Commande Kickstart – fuseau horaire

  • Il définit le fuseau horaire système.
  • Vous pouvez utiliser timedatectl list-timezonespour obtenir la liste des valeurs de fuseau horaire prises en charge

Syntaxe:

timezone timezone 

Options optionnelles:

  • --utc Le cas échéant, le système suppose que l’horloge matérielle est réglée sur l’heure UTC (moyenne de Greenwich).
  • --nontpDésactivez le démarrage automatique du service NTP.
  • --ntpservers= Spécifiez une liste de serveurs NTP à utiliser comme liste séparée par des virgules sans espaces.

Dans mon exemple de démarrage RHEL / CentOS 8, j’utiliserai Asia/Kolkatacomme fuseau horaire

# System timezonetimezone Asia/Kolkata --isUtc

Gérer le redémarrage du nœud

Commande de démarrage – redémarrage

  • Le « reboot » indique au programme d’installation de redémarrer une fois l’installation terminée avec succès (aucun argument).
  • Normalement, Kickstart affiche un message et attend que l’utilisateur appuie sur une touche avant de redémarrer.
  • Spécifiez le redémarrage pour automatiser l’installation

Dans mon exemple de démarrage RHEL / CentOS 8, je vais utiliser le redémarrage car je prévois d’automatiser toute l’installation

# Reboot the nodereboot

Créer une partition de disque

Vous pouvez utiliser différentes variables pour configurer la disposition de votre disque

Commande Kickstart – ignoredisk

  • Cela fait que le programme d’installation ignore les disques spécifiés.
  • Ceci est utile si vous utilisez le partitionnement automatique et que vous voulez être sûr que certains disques sont ignorés.

Dans mon exemple de démarrage RHEL / CentOS 8, je veux uniquement utiliser le disque sdapour l’installation

# Choose the disks to be usedignoredisk --only-use=sda

Commande Kickstart -clearpart

  • Il supprime les partitions de le système, avant la création de nouvelles partitions.
  • Par défaut, aucune partition n’est supprimée.

Dans mon exemple de kickstart CentOS / RHEL 8, je vais supprimer toutes les partitions existantes:

# Partition clearing informationclearpart --all

Commande Kickstart – partie ou partition

  • Il crée une partition sur le système.
  • Ce sujet est très vaste et je prévois de donner différents exemples de disposition de partition pour installer Linux

Dans mon exemple d’exemple de démarrage, j’installerai CentOS 8 en utilisant le Gestionnaire de volumes logiques. Ici, je vais créer

  • volume logique racine
  • partition d’échange
  • partition de démarrage
# 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

Créer un nouvel utilisateur (permanent)

Vous pouvez également créer un nouvel utilisateur en utilisant kickstart qui sera également présent après l’installation

Commande Kickstart -user

Utilisez user pour créer un nouvel utilisateur en utilisant la syntaxe kickstart

:

user --name=username 

Dans mon exemple de démarrage RHEL / CentOS 8, je vais créer un utilisateur deepak

# Create useruser --name=deepak --shell=/bin/bash --homedir=/home/deepak --iscrypted --password=$6$uSejt/TeWMJVQ/F8$/oFsIanDHS/5b9ssy7gZbQwNkORgRjsQIw4JyFjlTWDh9TVsEXWEy2APpCUNTHipOOEe..ubg3qBZOwpaPtsB.

Créer un utilisateur (uniquement pour l’installation)

Vous pouvez créer un utilisateur uniquement pour surveiller le processus d’installation. Une fois l’installation terminée, cet utilisateur sera retiré du nœud

Commande Kickstart – sshpw

  • Pendant l’installation, vous pouvez interagir avec le programme d’installation et surveiller sa progression sur une connexion SSH
  • Utilisez la commande sshpw pour créer des comptes temporaires à travers lesquels vous pourrez vous connecter.
  • Chaque instance de la commande crée un compte distinct qui n’existe que dans l’environnement d’installation.
  • Ces comptes ne sont pas transférés sur le système installé.

Syntaxe:

sshpw --username=name password

Dans mon exemple de démarrage CentOS / RHEL 8, je crée un utilisateur adminpour surveiller l’installation:

sshpw --username=admin --iscrypted --password=$6$PMLcSXd.w5pBvC.u$D06Ip60h/iWExxQ09gMi5aAbFaDK.NtLOgOZ56uU6kw.uUy/9/Mmw6vYBjs8Hw50y0Rx4m0yMdH0Vt5EUEsRI.

Créer un nouveau groupe

Vous pouvez également créer un nouveau groupe en utilisant kickstart

Commande Kickstart-group

  • Si un groupe avec le nom donné ou le GID existe déjà, cette commande échoue.
  • La commande user peut être utilisée pour créer un nouveau groupe pour l’utilisateur nouvellement créé.
  • Il crée un nouveau groupe d’utilisateurs sur le système.

Syntaxe :

group --name=name 

Options obligatoires

  • --name= Fournit le nom du groupe.

Activer ou désactiver le pare-feu

Vous pouvez activer ou désactiver le pare-feu pendant la phase d’installation

Commande Kickstart-firewall

Elle spécifie la configuration du pare-feu pour le système installé.

Syntaxe:

firewall --enabled|--disabled 

Ici,

  • --enabled ou --enable – Rejette les connexions entrantes qui ne sont pas en réponse aux demandes sortantes, telles que les réponses DNS ou Demandes DHCP.
  • --disabled ou --disable – Ne configurez aucune règle iptables.

Activer un module

Vous pouvez également activer un module à l’aide de kickstart

Commande Kickstart-module

Utilisez cette commande pour activer un flux de module de package dans le script kickstart.

Syntaxe :

module --name=NAME 

Options obligatoires

  • --name= Spécifie le nom du module à activer. Remplacez le NOM par le nom réel.

Activer ou désactiver SELinux

Vous pouvez également activer ou désactiver selinux à l’aide de la commande kickstart

Kickstart – selinux

  • Elle définit l’état de SELinux sur le système installé.
  • La stratégie SELinux par défaut est appliquée.

Syntaxe:

selinux 

Options:

  • --enforcing Active SELinux avec l’application de la stratégie ciblée par défaut.
  • --permissive Génère des avertissements basés sur la stratégie SELinux, mais n’applique pas réellement la stratégie.
  • --disabled Désactive complètement SELinux sur le système.

Sélection de paquets

Kickstart utilise les sections démarrées par la commande %packages pour sélectionner les paquets à installer.

Commande Kickstart -%packages

  • Vous pouvez installer des packages, des groupes, des environnements, des flux de modules et des profils de modules de cette façon.
  • Utilisez la commande %packages pour démarrer une section Kickstart qui décrit les packages logiciels à installer.
  • La section %packages doit se terminer par la commande %end.

Spécification de groupes

  • Spécifiez des groupes, une entrée sur une ligne, en commençant par un symbole @, puis le nom complet du groupe ou l’id du groupe
  • Vous pouvez obtenir la liste des options prises en charge à partir de la liste de « dnf grouplist« 
%packages@X Window System@Desktop@Sound and Video%end

Spécification des paquets individuels

  • Spécifiez les paquets individuels par leur nom, une entrée sur une ligne. Vous pouvez utiliser le caractère astérisque (*) comme caractère générique dans les noms de paquets. Exemple:
%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=La quantité de mémoire que vous souhaitez réserver pour kdump, dans MiB

Dans mon exemple de démarrage RHEL / CentOS 8, j’ai utilisé auto pour réserver automatiquement la mémoire requise pour kdump:

%addon com_redhat_kdump --enable --reserve-mb='auto'%end

Appliquer la stratégie de mot de passe

Commande Kickstart – pwpolicy

  • Utilisez cette commande pour appliquer une stratégie de mot de passe personnalisée lors de l’installation.
  • La stratégie vous oblige à créer des mots de passe pour les comptes root, users ou luks.
  • Les facteurs tels que la longueur et la force du mot de passe déterminent la validité d’un mot de passe.

Pour la liste des options prises en charge, consultez le Guide d’installation avancée de Red Hat

Dans mon exemple de démarrage RHEL/CentOS 8 que j’ai utilisé ci-dessous la politique de mot de passe:

%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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.