Le /etc/init.d
répertoire d'ubuntu est-il exactement équivalent (fonctionnellement) à ce que je suppose être le plus standard /etc/rc.d/
(au moins sur arch)? Y a-t-il une raison particulière pour laquelle canonique utilise init.d au lieu de rc.d pour les scripts de démarrage?
ubuntu
init-script
Falmarri
la source
la source
/etc/rc.d
ce que j'ai vu ... Je soupçonne qu'il pourrait être utilisé dans bsd.Réponses:
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 tout simplement pas d'emplacement standard.Ubuntu est en train de passer de SysVinit à Upstart , qui utilise des fichiers de configuration dans
/etc/init
.la source
/etc/init.d
. La transition a/etc/init/*.conf
commencé plus tard (8.04 était toujours de style SysV, 10.04 était déjà en transition)./etc/init.d était l'ancien emplacement historique de SVR4. J'ai oublié pourquoi redhat a ajouté le niveau /etc/rc.d/. Je pense que pour isoler les choses sur rc.d, mais il fallait quand même ajouter un tas de liens symboliques pour une compatibilité descendante. Il y a donc /etc/init.d dans redhat, juste un lien symbolique ailleurs.
L'emplacement standard est donc /etc/init.d, bien qu'il puisse s'agir d'un lien symbolique et non d'un véritable répertoire.
Il y avait de très vieilles distributions Linux qui copiaient BSD avec /etc/rc.local mais pratiquement personne ne l'utilise plus.
la source
Slackware utilise toujours
/etc/rc.d
FreeBSD utilise
/etc/rc.d
et/usr/local/etc/rc.d
la source
Historiquement, l'
/etc/rc.d
arborescence de répertoires dénote un système Init qui suit la tradition 4.4 BSD d'initialisation du système, qui est généralement appelé lerc
système init. Tous les systèmes BSD (Free / Open / Net) modernes et Slackware Linux suivent cette tradition.L'
/etc/init.d
arborescence des répertoires 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 toujours cette tradition dans la série Wheezy, mais prévoit d'utiliser SystemD dans la série Jessie. Historiquement, RedHat et ses dérivés ont utilisé SysV Init, mais ne le font plus.De plus, au fil du temps, les fonctionnalités des deux schémas init ont été adoptées par les distributions.
la source
En fait, au moins dans CentOS 6.8 Santiago,
/etc/init.d
n'est qu'un lien logiciel vers/etc/rc.d
.la source
PuppyLinux a à la fois /etc/rc.d et /etc/init.d , aucun n'étant 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 des saveurs basées sur Ubuntu et d'autres .) Il y a un fichier README.txt dans chacun, expliquant leur approche.
la source
D'accord,
/etc/init.d
c'est un endroit où vous pouvez rapidement déployer un script d'initialisation. La deuxième étape vers l'activation de ce script consiste à exécuter unechkconfig
commande dessus. Dites que vous courezchkconfig --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 numéro de niveau d'exécution du script et S50 représentant le type de script (il existe deux de ces types, S & K, S indique au système de démarrer le script au démarrage 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 ceux-ci se produisent, au cas où vous auriez des scripts qui dépendraient des autres 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 commande 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.la source