Existe-t-il une commande permettant de répertorier les services exécutés au démarrage? J'imagine que cela impliquerait l'analyse de /etc/init.d/
et des divers répertoires /etc/rc.*
.
La réponse rapide est: Cela dépend de votre système init
.
La réponse longue est: Pour les versions actuelles d’Ubuntu, vous avez probablement un mélange de Upstart et de SystemV . Les nouvelles versions d’Ubuntu après 15.04 "Vivid Vervet" (et d’autres distributions Linux comme RHEL / CentOS 7) passent à l’utilisation de SystemD . .
Pour répertorier tous les services:
initctl list
Pour répertorier tous les services Upstart et exécuter initctl show-config
sur ceux-ci, voici le cas échéant:
initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config
Pour répertorier tous les services:
service --status-all
OU:
# for init scripts:
ls /etc/init.d/
# for runlevel symlinks:
ls /etc/rc*.d/
Pour répertorier tous les services:
systemctl list-unit-files --type=service
OU:
ls /lib/systemd/system/*.service /etc/systemd/system/*.service
Les répertoires /etc/init.d
et /etc/rc.*
ont été remplacés par l'outil d'initialisation ' upstart
'. Bien que les scripts de ces répertoires soient exécutés comme prévu, la nouvelle méthode permettant d'exécuter des tâches sur init est définie par les fichiers de /etc/init/
Vous pouvez répertorier tous les travaux à venir en interrogeant upstart sur dbus:
dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
/com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs
Il se peut que vous deviez changer 0_6
pour refléter la version d’upstart que vous avez. Cette commande fonctionne sur mon installation lucide.
Si vous voulez une belle représentation graphique des services et le temps qu'il faut pour démarrer, essayez:
apt-get install bootchart
Id utilisez initctl show-config <servicename>
pour obtenir vraiment les détails de quand / si votre service va démarrer au démarrage.
Comme si:
$ initctl show-config myservice
myservice
start on runlevel [2345]
stop on runlevel [!2345]
Ou pour le démon idmap NFS4:
$ initctl show-config idmapd
idmapd
start on (local-filesystems or mounting TYPE=nfs4)
stop on runlevel [06]
chkconfig n’est préférable que sur les systèmes basés sur RedHat à l’imho.
Le 12.04, nous pourrions utiliser:
sudo apt-get install chkconfig
chkconfig --list
mais il a été supprimé de la version 12.10 .
Exemple de sortie:
acpi-support 0:off 1:off 2:on 3:on 4:on 5:on 6:off
acpid 0:off 1:off 2:off 3:off 4:off 5:off 6:off
apparmor 0:off 1:off 2:off 3:off 4:off 5:off 6:off S:on
Utilisation de gawk:
ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}'
Exemple de sortie:
$ ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}' | egrep README
README 0,1,2,3,4,5,6,S