Désactiver un service dans Ubuntu 14.04


Quand on installe un service, Ubuntu le lance automatiquement, et installe de quoi le faire démarer à chaque boot de la machine.

Si c’est votre machine de dev, vous ne voulez peut être pas qu’Apache, Nginx, Redis, MySQL, ElasticSearch, Solr, Supervisor, Postgres, Docker, et MongoDB soient up à chaque fois tous en même temps alors que vous voulez juste vous palucher sur youjizz.

La plupart des scripts de démarrage sont dans /etc/initd.d:

ls /etc/init.d
acpid           brltty             grub-common  lpd         pppd-dns      resolvconf   skeleton           unattended-upgrades
anacron         console-setup      halt...

Mais ces scripts sont lancés parce qu’ils sont symlinkés dans un des répertoires /etc/rcX:

ls /etc/rc*.d/*apache*
/etc/rc0.d/K80apache2  /etc/rc5.d/K80apache2  /etc/rc6.d/K80apache2

Ouai, j’ai encore des clients qui utilisent apache. Certains utilisent même Tomcat.

Pour désactiver le démarrage automatique, vous pouvez essayer bourinement la suppression des liens :

sudo rm $(ls /etc/rc*.d/*apache*)

Ça marche.

Solution plus pratique, utiliser la commande update-rc.d, qui n’est pas faite pour l’utilisation par les humains, mais fuck it :

sudo update-rc.d -f apache2 remove

Ça supprime aussi tous les liens. sudo update-rc.d -f apache2 disable devrait le faire moins bourinement mais ne marche pas sur ma machine.

Pour inverser la tendance :

sudo update-rc.d apache2 defaults

(ou enable si par miracle ça marche pour vous)

Enfin, si le cœur vous en dit:

sudo update-rc.d -f apache2 remove
sudo sysv-rc-conf

Vous donnera une joli interface curse pour le faire plus visuellement.

11 thoughts on “Désactiver un service dans Ubuntu 14.04

  • bulange

    Est-ce que le disable ne marche pas parce que c’est “apCche2” avec un “C”, ou parce que ça ne marche pas tout court?

  • Sam Post author

    Ca ne marche pas tout court : le script est supposé être édité quand on entre la commande, mais il ne l’est pas.

  • Louis

    C’est quand même incroyable qu’on ne puisse pas faire ça plus simplement, genre avec un update-rc.d fait pour les humains…

  • John

    “/etc/inid.d:” => manque à un “t” à “inid”.

    De rien.

    Sinon c’est étrange, update-truc disable devrait fonctionner à la perfection.

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.