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 approximatif : 0,1 SBU Espace disque requis : 0,9 Mo
L'installation de Sysvinit dépend de Binutils, Coreutils, GCC, Glibc, Make.
Lorsque les niveaux d'exécution changent (par exemple, lors de l'arrêt du système), init envoit 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, vous pouvez modifier 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) :
cp src/init.c{,.backup} sed 's/Sending processes/& started by init/g' \ src/init.c.backup > src/init.c
Compilez Sysvinit :
make -C src
Puis, installez-le :
make -C src install
Créez un nouveau fichier /etc/inittab en lançant ce qui suit :
cat > /etc/inittab << "EOF" # Début /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 # Fin /etc/inittab EOF
Programmes installés : halt, init, killall5, last, lastb (lien vers last), mesg, pidof (lien vers killall5), poweroff (lien vers halt), reboot (lien vers halt), runlevel, shutdown, sulogin, telinit (lien vers init), utmpdump et wall
halt lance normalement shutdown avec l'option -h, sauf s'il est déjà en 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 est le père de tous les processus. Il lit ses commandes à partir de/etc/inittab, ce qui lui indique les scripts à lancer pour tel niveau d'exécution et combien de getty à lancer.
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. Mais, voir halt.
reboot indique au noyau de redémarrer le système. Mais, voir halt.
runlevel indique le niveau d'exécution actuel et précédent comme indiqué 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 aux utilisateur connectés.
sulogin permet la connexion du superutilisateur. 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.
wall écrit un message à l'intention de tous les utilisateurs connectés.