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?

nixnotwin
la source
+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
aneeshep
la source
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.

João Pinto
la source
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

evgeny
la source
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

gumkins
la source
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.

Tarik
la source