(20 réponses)
Fermé il y a 6 ans.
Existe-t-il un moyen simple de savoir quel initsystem est utilisé, par exemple par un récent Debian wheezy
ou Fedora
système? Je suis conscient que Fedora 21
utilise systemd
initsystem mais c'est parce que j'ai lu cela et parce que tous les scripts/liens symboliques pertinents sont stockés dans /etc/systemd/
. Cependant, je ne suis pas sûr, par exemple, de Debian squeeze
ou CentOS 6 or 7
et ainsi de suite.
Quelles techniques existent pour vérifier un tel initsystem ?
Réponse acceptée :
Vous pouvez fouiller dans le système pour trouver des indicateurs. Une façon consiste à vérifier l'existence de trois répertoires :
-
/usr/lib/systemd
vous indique que vous êtes sur un système basé sur systemd. -
/usr/share/upstart
est un assez bon indicateur que vous êtes sur un système basé sur Upstart. -
/etc/init.d
vous indique que la machine a SysV init dans son historique
Le fait est que ce sont des heuristiques qui doivent être considérées ensemble, éventuellement avec d'autres données, et non certains indicateurs en eux-mêmes. La boîte Ubuntu 14.10 que je regarde en ce moment contient les trois répertoires. Pourquoi? Parce qu'Ubuntu vient de passer à systemd depuis Upstart dans cette version, mais conserve Upstart et SysV init pour une compatibilité descendante.
En fin de compte, je pense que la meilleure réponse est «l'expérience». Vous verrez que vous êtes connecté à une boîte CentOS 7 et que vous savez que c'est systemd. Comment apprenez-vous cela ? Jouer, RTFMing, etc. De la même manière que vous gagnez toute l'expérience.
Je me rends compte que ce n'est pas une réponse très satisfaisante, mais c'est ce qui se passe lorsqu'il y a une fragmentation du marché, créant des conceptions non standard. C'est comme demander comment vous savez si ls
accepte -C
, ou --color
, ou ne fait pas de sortie couleur du tout. Encore une fois, la réponse est "l'expérience".