6.53. Sysvinit-2.86

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.

Temps de construction estimé : moins de 0.1 SBU
Espace disque requis : 1 Mio

6.53.1. Installation de Sysvinit

Lorsque les niveaux d'exécution changent (par exemple, lors de l'arrêt du système), init envoie des signaux de fin aux processus qu'init a lui-même lancé et qui ne devraient plus s'exécuter dans le nouveau niveau d'exécution. En faisant ceci, init affiche des messages comme « Sending processes the TERM signal » (NdT : Envoi du signal TERM aux processus) ce qui semble impliquer qu'il envoie ce signal à tous les processus en cours d'exécution. Pour éviter cette mauvaise interprétation, modifiez les sources pour que ce message soit remplacé par « Sending processes started by init the TERM signal » (NdT : Envoi du signal TERM aux processus lancés par init) :

sed -i 's@Sending processes@& configured via /etc/inittab@g' \
    src/init.c

Une version maintenue du programme wall est installée plus tard lors de l'installation d'Util-linux-ng. Supprimez l'installation de ce programme et de ses pages de man :

sed -i -e 's/utmpdump wall/utmpdump/' \
       -e 's/mountpoint.1 wall.1/mountpoint.1/' src/Makefile

Compilez le paquet :

make -C src

Ce paquet n'est pas fourni avec une suite de tests.

Installez le paquet :

make -C src install

6.53.2. Configuration de Sysvinit

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

cat > /etc/inittab << "EOF"
# Begin /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

1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600

# End /etc/inittab
EOF

6.53.3. Contenu de Sysvinit

Programmes installés: bootlogd, halt, init, killall5, last, lastb (lien vers last), mesg, mountpoint, pidof (lien vers killall5), poweroff (lien vers halt), reboot (lien vers halt), runlevel, shutdown, sulogin, telinit (lien vers init), utmpdump

Descriptions courtes

bootlogd

Trace les messages de démarrage dans le journal

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

mountpoint

Vérifie si le répertoire est un point de montage

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 utilisateur connectés

sulogin

Permet la connexion de root. Il est normalement appelé par init lorsque le système passe en mono-utilisateur

telinit

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

utmpdump

Affiche le contenu du fichier de connexion donné dans un format plus agréable