/etc/rc.d vs /etc/init.d

Le directory /etc/init.d de ubuntu est-il exactement équivalent (fonctionnellement) à ce que je présume être le plus standard /etc/rc.d/ (au less sur arch)? Existe-t-il une raison particulière canonique utilisée init.d au lieu de rc.d pour les scripts de démarrage?

Ubuntu utilise /etc/init.d pour stocker les scripts SysVinit car Ubuntu est basé sur Debian et c'est ce que Debian utilise. Red Hat utilise /etc/rc.d/init.d . J'oublie ce que Slackware utilise. Il n'y a pas d'location standard.

Ubuntu est en train de passer de SysVinit à Upstart , qui utilise des files de configuration dans /etc/init .

/etc/init.d était l'ancien location historique de SVR4. J'ai oublié pourquoi redhat a ajouté le niveau /etc/rc.d/. Je pense à isoler les choses sur rc.d, mais ensuite il fallait append un tas de liens symboliques de toute façon pour la rétrocompatibilité. Donc, il y a /etc/init.d dans redhat, juste il symlinks ailleurs.

Donc, l'location standard est /etc/init.d, bien qu'il puisse s'agir d'un lien symbolique et non d'un vrai directory.

Il y avait de très vieilles dissortingbutions Linux qui copiaient BSD avec /etc/rc.local mais quasiment plus personne ne l'utilisait.

Slackware utilise toujours /etc/rc.d

FreeBSD utilise /etc/rc.d et /usr/local/etc/rc.d

Historiquement, l'arborescence de directorys /etc/rc.d indique un système Init qui suit la tradition BSD d'initialisation du système, généralement appelée système d'initialisation rc . Tout le système BSD moderne (Free / Open / Net) et Slackware Linux suivent cette tradition.

L'arborescence de directorys /etc/init.d indique le système d'initialisation System V (SysV) qui suit la tradition d'initialisation du système AT & T UNIX, SunOS, Solaris. Ceci est communément appelé le système SysV Init. Debian proprement dit suit cette tradition dans la série Wheezy, mais prévoit d'utiliser SystemD dans la série Jessie. Historiquement, RedHat et dérivés ont utilisé SysV Init, mais ne le font plus.

De plus, au fil du time, les caractéristiques des deux schémas init ont été adoptées par les dissortingbutions.

En fait, au less dans CentOS 6.8 Santiago, /etc/init.d est juste un softlink à /etc/rc.d .

PuppyLinux a à la fois /etc/rc.d et /etc/init.d , n'étant pas un lien symbolique. Qu'est-ce qu'un lien symbolique est /etc/rc.d/init.d , qui relie un niveau à /etc/init.d (je regarde un chiot basé sur Slackware– il y a aussi Ubuntu et autres saveurs .) Il y a un README.txt dans chacun, expliquant leur approche.

Ok, donc, /etc/init.d est un endroit où vous pouvez rapidement déployer un script d'initialisation. La seconde étape vers l'activation de ce script consiste à exécuter une command chkconfig dessus. Supposons que vous chkconfig --add <yourscript> , des liens symboliques seront créés entre /etc/init.d/<yourscript> et /etc/rc.d/rcX.d/S50<script> par exemple. X dans rcX.d représentant le nombre de runlevel du script et S50 représentant le type de script (il y a deux de ces types, S & K, S indique au système de démarrer le script lorsqu'il démarre, et K indique au système de quittez le script avec élégance lorsque vous arrêtez. Le nombre après S / K représente l'ordre dans lequel ils se produisent, au cas où vous auriez des scripts qui dépendent d'autres qui sont actifs en premier). Par défaut, si aucun niveau d'exécution n'est spécifié dans le script ou lorsque vous exécutez la command runlevel, CentOS6 crée des scripts S50 pour les niveaux d'exécution 2,3,4,5 et K50 pour les niveaux d'exécution 0,1,6.