Comment puis-je empêcher Apache2 de démarrer automatiquement au démarrage?

174

Comment puis-je empêcher Apache2 de démarrer automatiquement au démarrage? Je n'arrive pas à trouver une option qui désactive le démarrage automatique lorsque j'allume la machine.

niccolo m.
la source
1
Quelqu'un peut peut-être être plus précis, mais je peux vous orienter dans la bonne direction ... Dans / etc, il existe des répertoires pour rc * .d, qui contiennent tous les scripts de démarrage / d'arrêt, appelés, je pense, scripts d'initialisation. Vous verrez des liens vers des scripts qui se trouvent dans /etc/init.d et commencent par "k" ou "s", pour "kill" ou "start", et un nombre correspondant à l'ordre.
Marty Fried
Oui, je connaissais les répertoires /etc/rcX.d, mais je les ai recherchés pour en savoir plus sur un outil plus intéressant, qui consiste simplement à renommer manuellement des fichiers (la vie est trop courte). update-rc.da rempli ce vide.
Tomasz Gandor

Réponses:

161

Sous le dossier, /etc/init.d/vous trouverez tous les scripts d'initialisation pour différents services de démarrage, tels qu'apache2, la mise en réseau, etc.

Selon le niveau d'exécution de l'ordinateur démarré, différents services sont démarrés. Ainsi, à partir du /etc/init.d/dossier, chaque "service" est lié à un / plusieurs / pas de dossiers de niveau d'exécution nommés de rc0.dà rc6.d.

Pour simplifier les choses, il existe un outil permettant de supprimer / ajouter ces liens, et donc d’ajouter ou de supprimer des scripts au démarrage.

Pour désactiver apache2, tapez simplement:

sudo update-rc.d apache2 disable

Cela désactive apache2 au démarrage mais n’est pas supprimé pour le réactiver. Pour supprimer les scripts de démarrage apache2, procédez comme suit:

Pour supprimer apache2, tapez simplement:

sudo update-rc.d -f  apache2 remove

En procédant ainsi, tous les dossiers de niveau d'exécution liés à apache2 seront supprimés.

tomodachi
la source
2
chkconfig peut aussi aider - "chkconfig {service_name} off"
MCR
Ne fonctionne plus:The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs. (...)
TomDogg le
2
@TomDogg, pouvez-vous spécifier les versions avec lesquelles vous travailliez? Cette réponse fonctionne pour Apache 2 sur Ubuntu 14.04.3
Dale Anderson
1
Comment restaurer le service?
Eugen Konkov
9
Attention! Cela va supprimer le service! Utilisez sudo update-rc.d apache2 disable.
Eduardo Cuomo
195

vous pouvez simplement le désactiver en:

sudo update-rc.d apache2 disable

et si vous souhaitez l'activer à nouveau:

sudo update-rc.d apache2 enable

En fonction du projet sur lequel je travaille, il est pratique d'avoir le service facilement disponible, si je souhaite le réactiver.

Gsullins
la source
4
enablem'a donné une erreur comme runlevel arguments (none) do not match LSB Default-Start values, mais sudo update-rc.d apache2 defaultssemble l'avoir réactivé avec succès.
ici le
2
@ici a sudo update-rc.d apache2 enablejoué comme prévu pour moi
Georgios Pligoropoulos
1
Sur Ubuntu Trusty, il me dit que "l'API disable | enable n'est pas stable et pourrait changer à l'avenir".
Tanner
1
Ne fonctionne pas - error: no runlevel symlinks to modify, aborting!. Cependant, apache2 est en cours d'exécution et démarre automatiquement.
Daniel Kmak
Ne fonctionne plus:update-rc.d: error: no runlevel symlinks to modify, aborting!
TomDogg le
55

Avec systemdnous, nous pouvons maintenant utiliser des systemctlcommandes pour empêcher un service de démarrer automatiquement au démarrage.

Voici un exemple:

sudo systemctl disable apache2

Vous pourrez toujours démarrer et arrêter le service, mais celui-ci ne démarrera pas au démarrage.

mchid
la source
2
Linux Mint est toujours basé sur Ubuntu 14.04. Ubuntu commence à utiliser systemd à partir de 15.04.
twan163
1
@dragonmnl comme dit twan163, systemd est destiné aux versions les plus récentes (debian jessie ou équivalent +)
mchid
1
cela a très bien fonctionné sous Debian
Anupam
1
la bonne réponse pour debian 9+
John,
1
En cas de rencontre update-rc.d: error: no runlevel symlinks to modify, aborting!, recréez tous les liens ci-dessous manquants; puis réessayez: /etc/rc0.d/K01 <service> /etc/rc1.d/K01 <service> /etc/rc2.d/S99 <service> /etc/rc3.d/S99 <service> / etc / rc4.d / S99 <service> /etc/rc5.d/S99 <service> /etc/rc6.d/K01 <service>
Amil Waduwawara
5

Je pensais que je voulais juste ajouter aux réponses de @gsullins et @tomodachi, pour les futurs lecteurs qui utilisaient la réponse acceptée.

Si vous avez déjà utilisé:

sudo update-rc.d apache2 remove

Vous pouvez utiliser l'argument defaultspour rajouter apache2 dans le démarrage automatique.

sudo update-rc.d apache2 defaults

Ensuite, vous pouvez activer / désactiver

sudo update-rc.d apache2 disable
sudo update-rc.d apache2 enable
Ben Winding
la source