Je gère les installations de serveurs à la fois sur et hors Ubuntu. Cela fait un certain temps déjà que je suis assez à l' /etc/init.d/
aise pour redémarrer les services. Maintenant je reçois ce message:
root@tatooine:~# /etc/init.d/mysql status
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql status
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the status(8) utility, e.g. status mysql
mysql start/running, process 14048
Cela semble avoir été mis en place dans le dernier LTS d'Ubuntu - pourquoi? Quel est le problème /etc/init.d/
et quelle est la différence entre service
et /etc/init.d/
?
Réponses:
/etc/init.d
les scripts sont l'ancienne façon de faire les choses. Ils viennent de la norme System V. Cependant, ces scripts ne sont déclenchés que dans une séquence particulière, aucune dépendance réelle ne peut donc être établie.Par conséquent, upstart a été développé dans le but de remplacer tous les
/etc/init.d
scripts par des scripts upstart (in/etc/init
).service
permet la transition en douceur des/etc/init.d
scripts aux scripts parvenus. À l'avenir, lorsque de plus en plus de scripts seront transférés vers Upstart, le service fonctionnera toujours car il détectera les deux possibilités.la source
Consultez également la page de manuel relative à la commande de service:
man service
service
exécute un script dans un environnement prévisible (le répertoire de travail est / et seules deux variables d’environnement sont définies: LANG et TERM). Cela ajoute aussi la capacité de faire--full-restart
. Pour résumer:service
peut exécuter des scripts depuis / etc / init ou /etc/init.d (upstart ou System V)service
exécute des scripts dans un environnement prévisible.L'aspect "environnement prévisible" peut vous causer des problèmes si votre script dépend d'une variable d'environnement pour une raison quelconque. Il y a probablement un moyen de contourner cela, mais je ne sais pas ce que c'est, et cela dépasse le cadre de cette question :)
la source