Le fichier de configuration se compose de trois sections principales:
Il existe d'autres possibilit�s que nous n'aborderons pas ici mais qui pourraient marcher. Pour de plus amples informations, regardez l'exmple de fichier de configuration de KickStart dans misc/src/install/ks.samp et le fichier doc/README.ks dans le r�pertoire i386 d'une distribution RedHat sur votre CD-ROM ou sur un site miroir de RedHat.
Les commandes que j'ai utilis�es sont:
Configuration de la langue, pour l'anglais:
lang en
Configuration du r�seau, pour utiliser BOOTP/DHCP:
network --bootp
serveur NFS et r�pertoire � partir duquel l'installation doit avoir lieu:
nfs --server chicken.swedish-chef.org /mnt/cdrom
pour utiliser le serveur NFS chicken.swedish-chef.org et
essayer de monter la distribution RedHat � partir du r�pertoire
/mnt/cdrom. S�lection du type de clavier, pour un clavier anglais:
keyboard uk
Efface le secteur d'amor�age du disque (MBR) - enl�ve tous les programmes de lancement pouvant s'y trouver.
Efface les partitions existantes, pour supprimer toutes les partitions disque avant l'installation:
clearpart -all
Partionne le disque, pour cr�er un syst�me de fichier de 500Mo:
part / --size 500
Effectue une nouvelle installation de RedHat.
D�finit la souris utilis�e, pour une souris PS/2 ou compatible:
mouse ps/2
D�finit le fuseau horaire, pour l'heure anglaise:
timezone --utc Europe/London
D�finit le mot de passe initial de root, bas� sur un mot de passe d�j� crypt�:
rootpw --iscrypted XaacoeGPmf/A.
Installe le programme LILO, pour l'installer dans le secteur d'amor�age du disque (MBR):
lilo --location mbr
Paquetages � installer - voir ci-apr�s.
Commandes shells � lancer apr�s l'installation - voir ci-apr�s.
Notez que le r�pertoire dans lequel KickStart va chercher la distribution RedHat doit contenir un sous-r�pertoire RedHat qui contient la distribution RedHat pour la plate-forme consid�r�e. Dans notre exemple, nous devrions avoir quelque chose comme:
/mnt/cdrom/RedHat
/mnt/cdrom/RedHat/base
/mnt/cdrom/RedHat/contents
/mnt/cdrom/RedHat/i386
/mnt/cdrom/RedHat/instimage
/mnt/cdrom/RedHat/RPMS
/mnt/cdrom/RPM-PGP-KEY
Si vous souhaitez cr�er vos propres mots de passe crypt�s, il vous suffit d'utiliser Perl:
% perl -e 'print crypt("schmurrdegurr", "Xa") . "\n";'p
Autres options que je n'ai pas test�es:
Installe � partir d'un CD-ROM plut� que du r�seau.
D�clare explicitement les d�tails d'un p�riph�rique, par exemple:
device ethernet 3c509 --opts "io=0x330, irq=7"
D'autres valeurs de device
sont possibles dont scsi
pour les contr�leurs SCSI et cdrom
pour les
gestionnaires de CD-ROM propri�taires. Met � jour une installation existante au lieu d'en installer une nouvelle.
Configure le serveur X-Window, la carte graphique et le moniteur, par exemple:
xconfig --server "Mach64" --monitor "tatung cm14uhe"
Je n'ai pas beaucoup creus� cette derni�re option car je ne pr�vois pas d'utiliser X sur les machines install�es avec KickStart. Si vous le faites, tenez moi au courant.
Voici � quoi ressemble maintenant la premi�re partie du fichier de configuration de KickStart:
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
La partie du fichier de configuration de KickStart consacr�e aux
paquetages d�bute par une ligne avec la directive %packages
.
Elle est suivie par l'un des deux types de sp�cifications de
paquetage: des paquetages peuvent �tre install�s
individuellement en donnant le nom de leur RPM (sans la version ni la
plate-forme), des groupes de paquetages peuvent �tre install�s
en donnant le nom de leur groupe.
Voici un exemple de la section des paquetages d'un fichier de configuration de KickStart:
%packages
@ Base
netkit-base
bind-utils
ncftp
rdate
tcp_wrappers
traceroute
cmu-snmp
Bien, � quoi correspondent ces groupes? Il y a un grand nombre de groupes d�finis par d�faut dans un fichier nomm� base/comps dans le r�pertoire racine de la distribution RedHat. Voici ceux que l'on pouvait y trouver au moment o� j'�cris ces lignes:
Vous noterez qu'ils correspondent aux diff�rentes configurations qui vous sont propos�es lors de l'installation manuelle. Notez �galement que certains paquetages sont pr�sents dans plusieurs groupes, sans que cela pose de probl�me lors de l'installation. L'entr�e d'un groupe dans la liste comps ressemble � quelque chose comme:
0 Extra Documentation
sag
lpg
howto
faq
man-pages
end
Il semble que les groupes dont le nom est pr�c�d� d'un 1 fasse partie de l'installation par d�faut. Il semble donc possible de pousser un peu plus loin la personnalisation du processus d'installation en cr�ant ses propres groupes ou en red�finissant les groupes existant. Gardez moi au courant si vous essayez de le faire.
C'est probablement la fonctionnalit� la plus int�ressante et en tous cas celle qui n'a pas d'�quivalent direct dans le processus d'installation manuel. Ce que nous pouvons faire ici est de d�finir un ensemble de commandes de niveau shell qui seront ex�cut�es une fois l'installation termin�e (partitionnement du disque, installation des paquetages, etc.)
Cette section d�bute par la directive %post
dans le
fichier de configuration de KickStart. Vous pouvez ensuite utiliser
tous les utilitaires qui viennent d'�tre install�s sur votre
nouvelle machine Linux, par exemple:
%post
ln -s /etc/rc.d/init.d /etc/init.d
ln -s /etc/rc.d/rc.local /etc/rc.local
ln -s /usr/bin/md5sum /usr/bin/md5
ln -s /usr/bin/perl /usr/local/bin/perl
chmod ug-s /bin/linuxconf
mkdir /var/tmp/tmp
perl -spi -e 's!image=/boot/vmlinuz-.*!image=/boot/vmlinuz!' /etc/lilo.conf
rm /etc/rc.d/rc*.d/*sendmail
Vous pouvez �galement rediriger les flux standards:
cat <<EOF>>/etc/passwd
squid:*:102:3500:Squid Proxy:/usr/squid:/bin/bash
EOF
cat <<EOF>>/etc/group
cache:x:3500:
EOF
Modifier les scripts de lancement:
cat <<EOF>>/etc/rc.local
echo 8192> /proc/sys/kernel/file-max
echo 32768> /proc/sys/kernel/inode-max
[ -x /usr/sbin/sshd ] && /usr/sbin/sshd
[ -x /usr/sbin/cfd ] && /usr/sbin/cfd
EOF
D�finir les entr�e de crontab:
cat <<EOF>/tmp/crontab.root
# Keep the time up to date
0,15,30,45 * * * * /usr/sbin/ntpdate -s eggtimer 2>&1>/dev/null
# Recycle Exim log files
1 0 * * * /usr/exim/bin/exicyclog
# Flush the Exim queue
0,15,30,45 * * * * /usr/exim/bin/exim -q
EOF
crontab /tmp/crontab.root
rm /tmp/crontab.root
Et m�me installer d'autres RPM que vous avez cr��s:
rpm -i ftp://chicken.swedish-chef.org/rpms/squid.rpm
rpm -i ftp://chicken.swedish-chef.org/rpms/ssh.rpm
rpm -i ftp://chicken.swedish-chef.org/rpms/exim.rpm
rpm -i ftp://chicken.swedish-chef.org/rpms/cfengine.rpm
rpm -i ftp://chicken.swedish-chef.org/rpms/linux.rpm
ssh-keygen -b 1024 -f /etc/ssh_host_key -N ""
depmod -a
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:28