Méthode recommandée pour désactiver un service dans Debian

10

Existe-t-il une "méthode recommandée" pour désactiver un service dans Debian? (Désactiver = le service est installé mais ne démarre pas automatiquement au démarrage de la machine.)

Je sais que vous pouvez update-rc.d -f service remove(ce qui supprime essentiellement les liens rcX.d), mais ce faisant, vous perdez le numéro de séquence du service ( SXXserviceXX étant le numéro de séquence), ce qui rend la vie plus difficile lorsque vous souhaitez réactiver le service. Je sais aussi que je peux simplement renommer les liens rcX.dafin qu'ils ne commencent pas par S(ou les déplacer ailleurs), mais je me suis demandé s'il y avait une façon de "faire les meilleures pratiques approuvées par Debian".

Heinzi
la source

Réponses:

12

Jetez un œil à la page de manuel update-rc.d. Le troisième paragraphe de la section intitulée Installation des liens de script Init se lit comme suit:

Une erreur d'administration système courante consiste à supprimer les liens en pensant que cela "désactivera" le service, c'est-à-dire que cela empêchera le démarrage du service. Cependant, si tous les liens ont été supprimés, la prochaine fois que le package sera mis à niveau, le script postinst du package exécutera à nouveau update-rc.d et réinstallera les liens à leurs emplacements par défaut. La bonne façon de désactiver les services consiste à configurer le service comme arrêté dans tous les niveaux d'exécution dans lesquels il est démarré par défaut. Dans le système d'initialisation System V, cela signifie renommer les liens symboliques du service de S à K.

Les deux dernières phrases devraient répondre à votre question. :-)

Condamné
la source
par exemple:sudo update-rc.d postgresql disable
Lluís
5

Vous pouvez essayer l'utilitaire "sysv-rc-conf" pour vous simplifier la vie. C'est plus l'outil chkconfig d'un autre système.

Tapez simplement à l'invite:

sudo apt-get install sysv-rc-conf

À votre santé!

unixbhaskar
la source
Bel outil, merci. Je vois qu'il désactive également correctement les services (c'est-à-dire en renommant le lien symbolique en K ...).
Heinzi
2

En fait, sysv-rc-confl'approche est-elle recommandée même par la page de manuel update-rc.d:

Veuillez noter que ce programme a été conçu pour être utilisé dans les scripts du mainteneur de package et, par conséquent, n'a que les fonctionnalités très limitées requises par ces scripts. Les administrateurs système ne sont pas encouragés à utiliser update-rc.d pour gérer les niveaux d'exécution. Ils devraient éditer les liens directement ou utiliser à la place des éditeurs de niveau d'exécution tels que sysv-rc-conf et bum.

lubomir.brindza
la source
0

Si j'ai bien compris, la "meilleure pratique Debian" consiste à désinstaller le paquet . Vous ne devriez pas avoir de packages installés si vous ne les utilisez pas. C'est pourquoi les paquets Debian sont tous configurés pour démarrer lors de l'installation.

(Les quelques packages qui pourraient être utiles à installer sans exécuter ont généralement un paramètre dans leurs /etc/default/<packagename>fichiers de configuration pour désactiver le démarrage.)

Teddy
la source
2
vous avez mal compris. "ne démarre pas automatiquement au démarrage" n'implique pas "ne pas utiliser du tout le paquet". comme un exemple simpliste, je pourrais vouloir que mon serveur SSH démarre par xinetd au besoin, au lieu de démarrer en tant que démon au démarrage.
Quack Quichotte