J'ai un service foo
qui commence actuellement au niveau d'exécution 3 et au-dessus. Comment puis-je arrêter de le faire, sans utiliser update-rc.d foo stop 3 .
, qui (si je comprends bien) désactiverait le service à chaque changement de niveau d'exécution.
(c.-à-d., si j'étais au niveau d'exécution 1 et activé foo
, alors lorsque je passerais au niveau d'exécution 3, il serait désactivé, non?)
Exécution de Debian GNU / Linux Lenny.
sudo update-rc.d -f sunrpc remove
ne marche pas; il est toujours présent après un redémarrage.ls /etc/rc*.d
16.04
update-rc.d apache2 disable
Configurez les applications de démarrage Linux avec sysv-rc-conf :
Comme d'autres l'ont fait remarquer, voici également update-rc.d pour la ligne cmd.
Par exemple, exécutez
désactiver apache2 de tous les niveaux d’exécution.
la source
service foo stop
ou redémarrer le serveurCourt:
Il n'y a pas de moyen fiable de le faire rapidement.
Longue:
Debian actuelle (Debian instable depuis le 2012-06-01) ne dispose actuellement d'aucun moyen rapide et fiable pour désactiver systématiquement un service / démon. - Parce qu'une mise à jour d'un paquet démon exécute inconditionnellement «/etc/init.d/package restart», le désactiver ou non pour ce niveau d'exécution.
Pour vous assurer qu'un démon ne démarre pas, vous pouvez:
Il y a / existait (?) Une étape init-policy-quelque-chose pour les scripts init dans Debian, qui était supposée combler cette fonctionnalité manquante. - J'ai essayé de l'utiliser, je l'ai trouvé compliqué, j'ai trouvé un bogue et je ne l'ai plus jamais touché.
Mise à jour:
Passez à «systemd», une alternative à «initd». Un paquet Debian existe et vous pouvez désactiver un service avec quelque chose comme ceci:
la source
unlink xyz.service
aussi bien?systemd
il les utilisera. - Alors le lien lui dit de ne pas les chercher./etc/default/xyz
fichier pour ajouter unexit
n'empêchera pas le conditionneur de remplacer le fichier avec la version correcte lors de la prochaine mise à niveau. (Le paquet enregistre les fichiers de configuration et, dans la plupart des cas, les scripts d'initialisation ne sont pas vus comme tels.) Donc, dans la plupart des cas, cela ne vous aiderait pas.Exécuter cette commande
apt-get install rcconf
Une fois installé, exécutez rcconf dans SSH et vous recevrez une boîte de dialogue affichant tous les services configurés pour s'exécuter au démarrage. Sélectionnez ceux-ci en appuyant sur Espace pour désactiver / activer le particulier et vous avez terminé, il vous suffit de cliquer sur OK pour que ce service ne se dérange pas pour recommencer au prochain démarrage. En utilisant cela depuis des années. Outil très pratique pour les utilisateurs de Debian / Ubuntu comme moi.
la source
Je ne comprends pas ce que vous essayez d'accomplir.
Quels niveaux de course voulez-vous que foo court?
Si vous le voulez toujours, utilisez
update-rc.d foo defaults
; cela l'arrêtera en 0, 1 et 6, tout en le laissant tourner en 2, 3, 4 et 5. (1 ne devrait pas exécuter autre chose qu'un shell, 0 et 6 sont arrêtés et redémarrés)Si vous souhaitez spécifier exactement les niveaux d'exécution à exécuter:
la source
Je pense que cela ferait le travail: insserv -r foo
la source
Commencez à utiliser insserv à partir de Debian7
Afficher tous les services et les informations sur le niveau d'exécution
Supprimer les scripts répertoriés de tous les niveaux d'exécution
la source
Le gestionnaire de démarrage d'Ubuntu est une sorte de sysv-rc-conf light , une version plus conviviale, une version graphique, et beaucoup de gens qui liront ce fil l'apprécieront.
http://www.marzocca.net/linux/bum.html
la source
Sur un système basé sur Red Hat, vous pouvez utiliser
supprimer le serveur des niveaux d'exécution
Sur un système basé sur Debian, tous les services sont supposés être démarrés par les fichiers situés dans les répertoires /etc/rc?.d/. Ces fichiers ont ensuite un lien symbolique vers les fichiers correspondants dans le répertoire /etc/init.d/. Si vous souhaitez qu'un service ne démarre pas par défaut, vous pouvez le renommer / le supprimer du répertoire /etc/rc?.d et votre modification sera conservée lors de la mise à niveau du package tant que l'un des liens de démarrage apparaîtra dans l'un des fichiers. les autres répertoires (3,4 et 5). Ou vous pouvez utiliser la commande update-rc.d pour modifier le (s) lien (s). Si vous souhaitez démarrer le service après, vous pouvez utiliser /etc/init.d/service_name start si vous laissez le début à la fin, vous donner les options qui peuvent être utilisées comme arrêter, redémarrer, recharger ...
Je pense que vous pouvez utiliser sysv-rc-conf pour le désactiver.
la source
Si vous souhaitez spécifier des niveaux d'exécution.
N'oubliez pas de changer de service au nom du programme.
la source
Pourquoi ne sauvegardez-vous pas le script de démarrage ailleurs et ne le supprimez-vous pas dans /etc/init.d/? Si update-rc.d ne fonctionne pas.
la source