Depuis la version 5.0 de Linux RedHat, un utilitaire peu connu appelé KickStart est livré avec . Il vous permet de personnaliser et d'automatiser l'installation d'une distribution Linux RedHat, en sautant bon nombre de choix qui sont proposés dans l'installation classique. KickStart ne s'arrête pas là. Il permet de lancer des commandes shell immédiatement après l'installation, ceci afin d'installer des packages externes ou des programmes "maison".
Grâce à
KickStart, il vous sera possible de prédéfinir les options
suivantes à l'installation d'une distribution RedHat :
- sélection de la langue;
- configuration réseau et sélection des sources de
la distribution;
- sélection du clavier;
- installation de l'utilitaire de démarrage (ex : lilo);
- partitionnement du disque et création du système de fichiers;
- sélection de la souris;
- configuration du serveur X-Window;
- sélection de la zone géographique;
- sélection du mot de passe de l'utilisateur root;
- sélection des packages à installer.
CONFIGURATION MINIMUM
KickStart peut être utilisé de deux manières différentes. La première façon de procéder est de copier le fichier de configuration de KickStart sur une disquette d'amorçage RedHat. La seconde est d'utiliser une disquette d'amorçage classique et de récupérer ce fichier de configuration via le réseau (nous n'en parlerons pas ici). Quelle que soit la manière de procéder, vous aurez besoin de :
- une machine à
processeur Intel (famille i386)
- un fichier de configuration de KickStart
(voir plus loin)
- une disquette Boot RedHat qu'il conviendra de créer depuis le
CDROM
- des entrées DNS pour les adresses IP que vous allez utiliser,
ceci évitera de spécifier le nom de domaine de la machine
CREATION DE LA DISQUETTE
Vous devrez simplement
copier le fichier de configuration KickStart sur la disquette de Boot
issue du CDROM. Lors de la copie, vous lui donnerez le nom ks.cfg :
mcopy ks.cfg a:
Lorsque la disquette est bien remplie, il sera nécessaire d'y faire
un peu le ménage. Vous pourrez, par exemple supprimer les fichiers
messages qui sont normalement affichés :
mdel a:.msg
Ensuite, il vous faudra éditer le fichier de configuration syslinux.cfg.
Celui-ci est situé à la racine de la disquette d'amorçage.
Voici un exemple de fichier de configuration permettant de
passer automatiquement en mode KickStart :
default ks
prompt 0
label ks
kernel vmlinuz
append ks=floppy ini
trd=initrd.img
FICHIER DE CONFIGURATION KICKSTART
Informations système
Attention, certains paramètres comme la gestion des partitions
sont à utiliser avec un maximum de précaution . Vérifiez
deux fois votre fichier pour ne pas créer un effaceur de disque
! Voici les divers paramètres que vous pouvez spécifier
:
- La langue utilisée à l'installation, pour l'anglais :
lang en
-La configuration du réseau, pour utiliser BOOTP/DHCP utilisez
:
network --bootp
- La source d'installation comme le CDROM : cdrom
- Les paramètres d'un périphérique comme une carte
réseau :
device ethernet 3c509 --opts "io=0x330, irq=7"
(d'autres valeurs pour device sont possibles, scsi pour les contrôleurs
SCSI et cdrom pour les gestionnaires de CD-ROM)
- Le serveur NFS et le répertoire à partir duquel l'installation
devra se faire : nfs --server trucmuche.org /mnt/cdrom
- La nationalité du clavier, pour un clavier anglais: keyboard
uk
- L'effacement du secteur MBR (dangereux) : zerombr
- L'effacement des partitions déjà existantes avant installation
: clearpart -all
- Le partitionnement du disque, exemple créer une partition de
700Mo : part / --size 500
- Le lancement d'une installation : install
- ou la mise à jour d'un système : upgrade
- La définition du type de souris, ici une PS/2 : mouse ps/2
- Les paramètres d'installation du serveur Xwindow, exemple : xconfig
--server "Mach64" --monitor "tatung cm14uhe"
- Le paramètrage du fuseau horaire, fuseau anglais (Londres) :
timezone --utc Europe/London
- Le mot de passe du root à partir d'un mot de passe déjà
crypté : rootpw --iscrypted XaacoeGPmf/A.
- L'installation du chargeur LILO sur le MBR :
lilo --location mbr
- Les packages à installer (voir chapitre suivant)
- Les commandes à lancer après installation (voir plus bas)
Le répertoire dans lequel KickStart cherche la distribution RedHat
doit contenir un sous-répertoire RedHat. Celui-ci devra contenir
la distribution selon une arborescence comme :
/cdrom/RedHat
/cdrom/RedHat/base
/cdrom/RedHat/contents
/cdrom/RedHat/i386
/cdrom/RedHat/instimage
/Cd-rom/RedHat/RPMS
/cdrom/RPM-PGP-KEY
Voici un exemple
de fichier de configuration (1ère partie) :
lang en
network --bootp
nfs --server chicken.swedish-chef.org /mnt/cdrom
keyboard uk
zerombr yes
clearpart --all
part / --size 500
part swap --size 120
install
mouse ps/2
timezone --utc Europe/London
rootpw --iscrypted XaacoeGPmf/A.
lilo --location mbr
Ceci débutera une installation en anglais à partir d'un serveur NFS chicken.swedish-chef.org après avoir supprimé les partitions existantes sur le disque. Le système sera configuré sur une partition de 500 Mo et un swap de 120 Mo, il utilisera une souris PS/2 et une zone horaire anglaise. Nous définissons également un mot de passe crypté pour l'utilisateur root.
Configuration des
packages
Pour spécifier les packages à installer, il faut créer
un nouveau paragraphe dans le fichier de configuration. Celui-ci débutera
avec la mention %packages. Il est ainsi possible d'installer des packages
ou des groupes de packages appelés components. Pour connaître
la liste des divers packages et components, consultez le fichier /RedHat/base/comps.
Les components sont précédés d'un chiffre et d'un
espace à la différence des packages, qui eux, ne le
sont pas.
Voici un exemple de la section %packages d'un fichier de configuration
de KickStart :
%packages
@ Base
netkit-base
traceroute
bsd-games
@ X Window System
@ C development
Ceci permettra d'installer
les groupes de packages Base, X window System et C développent
ainsi que les packages netkit-base, traceroute et bsd-games.
Lancer des commandes post-installation
Il s'agit là de la fonction la plus pratique de Kickstart. Le script
d'installation permet de lancer des commandes shell automatiquement. C'est
très utile pour paramétrer d'avance des alias par exemple.
Le paragraphe décrivant les commandes post-installation débute
avec la mention %post.
Exemple :
%post
echo alias ls='ls --color=tty -F -b -T 0' >> /etc/bashrc
Ceci permettra de
créer un alias de la commande ls qui lancera ls --color=tty -F
-b -T 0. Il est même possible d'installer des RPM que vous avez
créés, exemple :
rpm -i /mnt/cdrom/rpms/trucbidule.rpm
INSTALLATION
Une fois le fichier
de configuration copié sur la disquette tel que mentionné
plus haut, il vous suffira de démarrer la machine à partir
celle-ci. Au moment du démarrage, au lieu de valider à l'invite,
entrez linux ks.
Si tout se passe correctement, les manipulations au clavier doivent s'arrêter
là.
Si KickStart n'arrive pas à déterminer ce qu'il doit faire,
une boîte de dialogue s'affichera en vous proposant les choix possibles.
Le cas le plus fréquent est le problème de détection
de la carte réseau, KickStart vous demandera alors de préciser
l'IRQ et l'adresse de la carte.
MODIFICATION DES DISQUETTES
La disquette d'amorçage
RedHat nommée boot.img est l'image d'une disquette MS-DOS. La disquette
supplémentaire supp.img quant à elle est au format Linux
ext2. Pour modifier ces images, vous devrez les monter dans un répertoire.Dans
un premier temps vous devrez créer deux nouveaux répertoires
:
mkdir -p /mnt/boot /mnt/supp
Ensuite, vous pourrez monter les deux images de disquettes par:
mount -o loop -t msdos boot.img /mnt/boot et
mount -o loop -t ext2 supp.img /mnt/supp
Le paramètre
-o loop permet de monter des images de système de fichiers. Cette
option permet également de monter une image de CDROM iso. (mount
-o loop -t iso9660 image.cd /mnt/cdrom).
Bien sûr, il est toujours possible de monter les véritables
disquettes plutôt que leurs images. Mais c'est tellement plus gracieux...
REMERCIEMENTS
Cet article est inspiré du KickStartHOWTO de Martin Hamilton. Consultez
ce document sur l'un de vos serveurs Linux préférés
pour plus d'informations sur KickStart.