Selon votre distribution, utilisez l'outil chkconfig ou update-rc.d pour activer/désactiver les services système.
Sur un système de style redhat/suse/mandrake :
sudo chkconfig apache2 off
Sur Debian :
sudo update-rc.d -f apache2 remove
Consultez leurs pages de manuel pour plus d'informations.
Si vous avez affaire à un système Ubuntu moderne et à quelques autres distributions, vous devrez peut-être gérer une combinaison de scripts d'initialisation traditionnels et de scripts de démarrage. La gestion des scripts d'initialisation est couverte par d'autres réponses. Voici une façon d'empêcher un service parvenu de démarrer au démarrage :
# mv /etc/init/servicename.conf /etc/init/servicename.conf.disabled
Le problème avec cette méthode est qu'elle ne vous permet pas de démarrer le service en utilisant :
# service start servicename
Une alternative à cela est d'ouvrir le servicename.conf
fichier dans votre éditeur préféré et commentez toutes les lignes commençant par :
start on
C'est-à-dire, changez ceci en
#start on ...
où le "..." est ce qui était après "start on" précédemment. De cette façon, lorsque vous souhaitez le réactiver, vous n'avez pas à vous rappeler quels étaient les paramètres "start on".
Enfin, si vous avez une nouvelle version d'upstart, vous pouvez simplement ajouter le mot "manuel" à la fin du fichier de configuration. Vous pouvez le faire directement depuis le shell :
# echo "manual" >> /etc/init/servicename.conf
Ainsi, upstart ignorera toutes les phrases "start on" plus tôt dans le fichier.
Sur les systèmes Fedora et Future RHEL récents
systemctl disable httpd.service
désactivera le service httpd