Empêcher les démons de se charger au démarrage


9

Je veux empêcher certains démons de se charger au démarrage, spécialement squid3. Quelle est la meilleure façon de procéder?


+1 parfaitement formulé pour quelqu'un cherchant la réponse à cette question.
msw

Réponses:


7

Vous pouvez utiliser l' utilitaire chkconfig à cet effet.

sudo apt-get install chkconfig

Pour vérifier l'état du niveau d'exécution de Squid, vous pouvez exécuter cette commande:

 chkconfig --list | grep squid

Cela produira quelque chose comme ci-dessous:

squid           0:off   1:off   2:on    3:on    4:on    5:on    6:off

Pour désactiver le calmar à tous les niveaux d'exécution, vous pouvez utiliser cette commande:

sudo chkconfig  squid off

 chkconfig --list | grep squid

squid           0:off   1:off   2:off   3:off   4:off   5:off   6:off

Pour désactiver le calmar dans un niveau d'exécution particulier, vous pouvez utiliser cette commande:

 chkconfig  --level 3  squid off

Nous avons 7 niveaux de (0 - 6). Quels sont ces niveaux? Pouvez-vous nous expliquer?
karthick87

@ karthik87: Voici un bel article sur les niveaux d'exécution Linux. Cela vous aidera: comptechdoc.org/os/linux/howlinuxworks/linux_hlrunlevels.html
aneeshep

Qu'en est-il des scripts parvenus?
Javier Rivera

3

Les démons système peuvent utiliser des scripts d'initialisation SysV hérités ou le plus récent Upstart.

Pour les scripts sysv, il existe plusieurs outils de gestion, l'un de ces outils est "sysv-rc-conf" du package "sysv-rc-conf", installez-le et lancez-le depuis le terminal.

En ce qui concerne Upstart, pour autant que je sache, il n'y a pas encore d'outil de gestion, vous devez renommer manuellement le script correspondant à partir de / etc / init, par exemple:

mv /etc/init/ufw.conf /etc/init/ufw.conf.disabled

Squid3 utilise des scripts d'initialisation sysv, vous pouvez le désactiver avec sysv-rc-conf.


1
Addendum: lorsque vous éloignez votre travail parvenu, vous ne pouvez plus le démarrer manuellement. Il est probablement préférable de simplement décommenter la partie "start on" du fichier .conf.
htorque

2

Squid utilise l'ancien système init, cette commande devrait faire l'affaire: sudo update-rc.d -f squid3 remove.

Pour un contrôle plus précis du moment où démarrer / arrêter le service: sudo sysv-rc-conf


Annonce 1: cela supprimera également les liens pour arrêter le service, ce qui n'est probablement pas ce que vous voulez au cas où vous l'auriez démarré manuellement.
htorque

C'est faux, vous pouvez toujours démarrer / arrêter avec /etc/init.d/squid3 startou stop.
evgeny

Il supprimera les liens K * qui arrêtent automatiquement le service . ;)
htorque

Qui voudrait ça de toute façon? ;)
evgeny

Les gens paresseux (ME)! :-P
htorque

1

Deux des moyens les plus simples (de mon point de vue).

1) mv /etc/init/squid3.conf /etc/init/squid3.conf.disabled

2) commentez la ligne suivante

start on runlevel [2345]

dans /etc/init/squid3.conf


Le numéro 2 était la seule solution qui fonctionnait pour moi. Merci.
Paulo

0

Les réponses ci-dessus n'ont pas fonctionné pour mon Ubuntu 16.04.

Voici ce qui a fonctionné:

sudo systemctl stop squid 
update-rc.d squid disable

sudo systemctl status squid 

Bien que vous puissiez obtenir une erreur comme:

insserv: avertissement: le (s) niveau (x) de démarrage en cours (vide) du script squid remplace les valeurs par défaut LSB (2 3 4 5).

insserv: avertissement: niveau (x) d'exécution actuel (s) (0 1 2 3 4 5 6) du script `squid 'remplace les valeurs par défaut LSB (0 1 6). insserv: fopen (.depend.stop): autorisation refusée

Le service reste arrêté même après le redémarrage.

Si vous savez pourquoi l'erreur se produit et comment y remédier, n'hésitez pas à commenter ou à modifier la réponse.

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.