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.


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.


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.


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.