Personnaliser RHEL9 avec Anaconda
Au sommaire:
- 1-Qu'est-ce que Anaconda ?
- 2-Décryptage du fichier kickstart
- 3-Lancement de l'installation
1-Qu'est-ce que Anaconda ?
Ananconda est un installeur écrit en Python (le nom est un clin d’œil à ce dernier) très souvent utilisé dans l’écosystème Red Hat.
Il permet l'installation d'un système d'exploitation à partir de périphériques locaux ou réseau comme avec les protocoles FTP, HTTP ou NFS (ce qu'on utilisera dans ce tutoriel) à partir d'un fichier Kickstart.
Je vous rassure. Pas de gif d'un anaconda et encore moins du clip de Nickie Minaj.
2-Décryptage du fichier kickstart
À la fin d'une installation effectué en manuelle, Anaconda créera automatiquement un fichier Kickstart que vous trouverez dans le dossier /root un fichier et qui sera nommé "anaconda-ks.cfg".
Note : ce fichier n’apparaît pas dans les images cloud.
Vérifiez que le fichier soit bien présent dans le dossier "root" à la racine du système hôte.
[sussudio@rhel9-server repos]$ sudo ls /root/
anaconda-ks.cfg
Vérifiez également le contenu du fichier avec la commande "cat"
Je vous montre un extrait du mien.
Nous allons décrypter ensemble les différents paramétrés du fichier.
La version de RHEL qui sera installé.
#version=RHEL9
L'installation se fera avec l'interface graphique.
# Use graphical install
graphical
Le dépôt qui sera utilisé par défaut pour la mise à jour des paquets.
repo --name="AppStream" --baseurl=file:///run/install/sources/mount-0000-cdrom/AppStream
La liste des paquets qui seront installés. Entre "@^minimal-environment" et "%end", il faut indiquer les paquets que vous souhaitez installer. Pour ma part, j'inclus systématiquement Cockpit et ses modules ainsi que quelques paquets qui me servent au quotidien.
%packages
@^minimal-environment
cockpit-bridge
cockpit-composer
cockpit-doc
cockpit-machines
cockpit-packagekit
cockpit-pcp
cockpit-podman
cockpit-session-recording
cockpit-storaged
cockpit-system
cockpit-ws
nano
dnf-utils
createrepo
%end
Le clavier sera configuré en QWERTY.
# Keyboard layouts
keyboard --xlayouts='us'
La langue choisis est l'anglais.
# System language
lang en_US.UTF-8
Les informations réseaux. Le système sera configuré en DHCP avec comme nom d'hôte "rhel9".
# Network information
network --bootproto=dhcp --device=enp1s0 --ipv6=auto --activate
network --hostname=rhel9
Le système sera installé à partir d'un disque.
# Use CDROM installation media
cdrom
# Run the Setup Agent on first boot
firstboot --enable
Tout les disques seront ignorés sauf le disque vda.
ignoredisk --only-use=vda
# System bootloader configuration
bootloader --append="crashkernel=auto" --location=mbr --boot-drive=vda
le disque subira un partitionnement automatique.
autopart
# Partition clearing information
clearpart --none --initlabel
Le fuseau horaire.
# System timezone
timezone Europe/paris --isUtc
L'identifiant et le mot de passe de l'utilisateur utilisé lors de la première installation.
# Root password
rootpw --iscrypted $xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
user --groups=wheel --name=user --password=$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --iscrypted --gecos="user"
3-Lancement de l'installation
Et voilà! Le fichier kickstart est prêt. Récupérez le par SFTP, copiez le sur un partage accessible en NFS et au démarrage du disque, appuyez sur “tab”, effacez le mot “quiet" et tapez la ligne suivante :
inst.ks=nfs:192.168.0.219:/Download/anaconda-ks.cfg
Cela devrait ressembler à ceci.
Le système va vérifier le disque. Appuyez sur "Échap" si vous souhaitez passer cette étape..
OKLM poto!!!!!!
Vous emballez pas, on a juste effleurer le sujet de l'automatisation. Il y a encore pas mal de choses à faire du côté dans l’écosystème Red Hat.
Sources: