web-dev-qa-db-fra.com

CAN SystemCtl liste tous les services compatibles, y compris les services hérités?

Cette question demande: "Comment répertorier tous les services activés de SystemCTL?" Les réponses sur cette page incluent:

systemctl list-unit-files | grep enabled
systemctl list-unit-files --state=enabled

Au moins à la version SystemD 229 (sur Ubuntu 16.04), systemctl list-unit-files n'incluez pas les services "LSB" lancés via les scripts d'init hérités.

Par conséquent, la question initiale semble rester sans réponse: SystemD peut-il afficher une liste de tous les services (et autres types d'unités) qu'il tentera de commencer à démarrer, y compris des services hérités?

Envisager:

$ systemctl list-units | grep LSB | grep grub
  grub-common.service    loaded    active exited    LSB: Record successful boot for GRUB

$ systemctl list-unit-files | grep enabled | grep grub || echo 'nothing found'
nothing found

$ systemctl is-enabled grub-common
grub-common.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install is-enabled grub-common
enabled

systemctl sait sur grub-common, et si vous demandez explicitement systemctl _ _ vous dira qu'il est activé.

Alors ... Y a-t-il un moyen d'obtenir SystemD pour afficher une liste de tous les services qu'il tentera de courir au démarrage, y compris des scripts hérités?

6
mpb

Je crois que la commande que vous voulez est:

systemctl list-units --type service --all

Ceci de mon test répertorie tous les services, même ceux des services de démarrage Legacy.

La source:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-maning_services_with_systemd-services

3
George Udosen