J'utilise Ubuntu où j'ai les répertoires /etc/rc0.d
, /etc/rc1.d
, /etc/rc2.d
, ..., /etc/rc6.d
.
Exemples de fichiers de ma machine:
directory example symlinks in the dir
------------------------------------------
/etc/rc1.d: K76dovecot, K77ntp
/etc/rc2.d: S23ntp, S24dovecot
/etc/rc3.d: S23ntp, S24dovecot
/etc/rc4.d: S23ntp, S24dovecot
/etc/rc5.d: S23ntp, S24dovecot
Des questions:
dovecot
et ntp
dans tous les répertoires sauf rc0.d
et rc6.d
?dovecot
et ntp
s'exécuteront au démarrage?ntp
avant dovecot
au démarrage?runlevel
et sont une initiation de type System V utilisée par la plupart des systèmes * NIX (à l'exception notable des systèmes basés sur systemd
). Lors du démarrage, le noyau/l'utilisateur décide quel runlevel
doit-il exécuter et exécuter uniquement ce runlevel
. Cela signifie qu'en fonction de runlevel
, vous pouvez démarrer avec un autre ensemble de programmes. Il existe également des niveaux d'exécution pour l'arrêt et le redémarrage, mais comme vous vous concentrez sur la partie démarrage, ignorons-les pour l'instant.runlevel
est exécuté au démarrage, certains programmes devraient/vouloir démarrer/s'arrêter à différents runlevel
avec des paramètres différents ou identiques dans le même ordre ou dans un ordre différent (tous les niveaux d'exécution ne sont pas les mêmes dans tous les OS). Mais Ubuntu copie les niveaux d'exécution 3 à 5 de 2, c'est pourquoi ils sont les mêmes.runlevel
s sont exécutés une seule fois au démarrage ou lorsque vous modifiez runlevel
.ntp
les scripts doivent s'exécuter en premier, puis dovecot
dans le niveau d'exécution 2-5, ce qui n'est pas le cas pour le niveau d'exécution 1. Le nombre ordinal dans les noms de script (S23ntp
) indique l'ordre d'exécution. Tout dépend donc du niveau d'exécution que vous utilisez.Plus d'informations dans l'article Wikipedia sur les niveaux d'exécution d'Ubuntu
Comme d'autres l'ont noté, la réponse est tout au sujet de runlevels qui sont essentiellement les modes de fonctionnement d'un système d'exploitation. Sous Linux, ce sont généralement:
ID Name Description
0 Halt Shuts down the system.
1 Single-user Mode Mode for administrative tasks.
2 Multi-user Mode Does not configure network interfaces and
does not export networks services.
3 Multi-user Mode with Networking Starts the system normally.
4 Not used/User-definable For special purposes.
5 Start the system normally with
with GUI As runlevel 3 + display manager.
6 Reboot Reboots the system.
Ainsi, chacun des répertoires rcN
contient des liens symboliques vers les scripts qui doivent être exécutés à ce niveau d'exécution. Tous les scripts réels sont normalement dans le /etc/init.d
répertoire:
$ ls -l /etc/rc5.d/S22cron
lrwxrwxrwx 1 root root 14 Jan 14 2013 /etc/rc5.d/S22cron -> ../init.d/cron
Un lien symbolique dont le nom commence par S
sera démarré au niveau d'exécution en question tandis que ceux dont le nom commence par K
seront tués. Notez que tous les liens dans rc6.d
, le niveau d'exécution de redémarrage, commencez par K
. C'est parce qu'ils doivent tous être arrêtés pour un redémarrage et rien ne doit être démarré.
Les chiffres après la lettre initiale font référence à l'ordre d'exécution des scripts liés. Ceux avec des nombres plus petits seront exécutés avant ceux avec des nombres plus élevés. Ainsi, dans votre exemple spécifique, S23ntp
sera exécuté (démarré dans ce cas) avant S24dovecot
.
1) Les multiples répertoires rcX.d spécifient les services à démarrer ou à arrêter pendant le niveau d'exécution "X".
2) rc0.d est pour le niveau d'exécution 0 qui est l'arrêt. rc6.d est pour le redémarrage. Reste que tous sont pour différents niveaux d'exécution (2 - 5). Le S signifie départ et K pour Kill. Il s'agit essentiellement de liens vers les scripts d'origine dans /etc/rc.d. Les nombres après S/K sont la priorité selon laquelle les services seront démarrés/supprimés.
3) Oui, si elles sont spécifiées plusieurs fois, le script de démarrage/arrêt sera exécuté plusieurs fois. Mais personne ne veut faire ça.
4) En regardant les numéros prioritaires, le service ntp sera démarré en premier, suivi de pigeonnier.
5) Le 4ème point est le chemin.