10.80. Sysvinit-2.88dsf

Le paquet Sysvinit contient des programmes de contrôle du démarrage, de l'exécution et de l'arrêt de votre système.

10.80.1. Installation de Sysvinit

Appliquez un sed qui désactive la construction et l'installation de sulogin, mountpoint, wall et utmpdump vu qu'ils sont fournis par util-linux :

sed -i -e 's/\ sulogin[^ ]*//' \
    -e '/utmpdump/d' -e '/mountpoint/d' src/Makefile

Compilez le paquet :

make -C src clobber
make -C src CC="gcc ${BUILD64}"

Installez le paquet :

make -C src install

10.80.2. Configurer Sysvinit

Créez un nouveau fichier /etc/inittab en lançant ce qui suit :

cat > /etc/inittab << "EOF"
# Début de /etc/inittab

id:3:initdefault:

si::sysinit:/etc/rc.d/init.d/rc sysinit

l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

su:S016:once:/sbin/sulogin

EOF

La commande suivante ajoute les terminaux virtuels standards à /etc/inittab. Si votre système n'a qu'une console série, passez la commande suivante :

cat >> /etc/inittab << "EOF"
1:2345:respawn:/sbin/agetty --noclear -I '\033(K' tty1 9600
2:2345:respawn:/sbin/agetty --noclear -I '\033(K' tty2 9600
3:2345:respawn:/sbin/agetty --noclear -I '\033(K' tty3 9600
4:2345:respawn:/sbin/agetty --noclear -I '\033(K' tty4 9600
5:2345:respawn:/sbin/agetty --noclear -I '\033(K' tty5 9600
6:2345:respawn:/sbin/agetty --noclear -I '\033(K' tty6 9600

EOF

Si votre système a une console série, lancez la commande suivante pour ajouter l'entrée à /etc/inittab :

cat >> /etc/inittab << "EOF"
c0:12345:respawn:/sbin/agetty --noclear 115200 ttyS0 vt100

EOF

Enfin, ajoutez la ligne de fin à /etc/inittab :

cat >> /etc/inittab << "EOF"
# Fin de /etc/inittab
EOF

L'option -I '\033(K' dit à agetty d'envoyer cette séquence d'échappement au terminal avant de faire quoique ce soit. Cette séquence d'échappement bascule l'encodage de la console défini par l'utilisateur, qui peut $tre modifié en lançant le programme setfont. Le script de démarrage console du paquet CLFS-Bootscripts appelle le programme setfont pendant le démarrage du système. L'envoi de cette séquence d'échappement est nécessaire pour les gens qui utilisent des polices d'écran non ISO 8859-1, mais il n'affecte pas les anglophones d'origine.

10.80.3. Contenu de Sysvinit

Programmes installés: bootlogd, fstab-decode, halt, init, killall5, last, lastb (lien vers last), mesg, pidof (lien vers killall5), poweroff (lien vers halt), reboot (lien vers halt), runlevel, shutdown et telinit (lien vers init)

Descriptions courtes

bootlogd

Trace les messages de démarrage dans le journal

fstab-decode

Lance une commande avec des arguments encodés fstab

halt

Lance normalement shutdown avec l'option -h, sauf s'il est déjà au niveau d'exécution 0, puis il demande au noyau d'arrêter le système. Mais, tout d'abord, il note dans le fichier /var/log/wtmp que le système est en cours d'arrêt

init

Le premier processus à être exécuté lorsque le noyau a initialisé le matériel et qui prend la main sur le processus de démarrage et démarre tous les processus qui lui ont été indiqués

killall5

Envoie un signal à tous les processus sauf les processus de sa propre session, de façon à ne pas tuer le shell ayant lancé le script qui l'a appelé

last

Affiche le dernier utilisateur connecté (et déconnecté) en cherchant dans le fichier /var/log/wtmp. Il peut aussi afficher les démarrages et arrêts du système ainsi que les changements de niveaux d'exécution

lastb

Affiche les tentatives échouées de connexions tracées dans /var/log/btmp

mesg

Contrôle si les autres utilisateurs peuvent envoyer des messages au terminal de l'utilisateur courant

pidof

Indique le PID des programmes précisés

poweroff

Indique au noyau d'arrêter le système et de couper l'ordinateur (voir halt)

reboot

Indique au noyau de redémarrer le système (voir halt)

runlevel

Indique le niveau d'exécution actuel et précédent comme précisé dans l'enregistrement du dernier niveau d'exécution dans /var/run/utmp

shutdown

Arrête proprement le système en le signalant à tous les processus et à tous les utilisateurs connectés

telinit

Indique à init dans quel niveau d'exécution entrer