Lorsque je lance la commande sudo systemctl list-unit-files
(je pense que le sudo est optionnel), je reçois une sortie qui montre tous les services et leur état.
Voici un extrait de ma machine:
UNIT FILE STATE
...
debian-fixup.service static
debug-shell.service disabled
display-manager.service enabled
dns-clean.service enabled
dsmcad.service enabled
emergency.service static
failsafe-x.service static
friendly-recovery.service masked
fuse.service masked
gdm.service masked
getty-static.service static
[email protected] enabled
gpsd.service indirect
[email protected] static
gpu-manager.service enabled
halt-local.service static
halt.service masked
hostname.service masked
...
Je me demande pourquoi certains services sont dans l'état "masqué". Je pense que cela signifie "c'est mieux que de" désactiver ", car le service ne peut pas être démarré, ni manuellement ni par systemd".
Comment puis-je obtenir plus d'informations sur l'état d'une unité de service?
Qui a mis les unités dans leur état respectif?
J'ai essayé, par exemple,
sudo systemctl help dsmcad
qui ne fait apparaître que la documentation = ...
ligne du fichier unité./etc/systemd/system/dsmcad.service
Remarque: je sais exactement ce que le service dsmcad est et ce qu'il fait, je l'ai installé moi-même. Je suis plus intéressé par une solution générale.
mask
uneunmask
commande et une qui peut être utilisé avecsystemctl
. Alors faites-lesystemctl unmask name_of_service.service
.systemctl unmask name_of_service.service
complètement supprimé mon fichier de définition de service de/etc/systemd/system/
, donc maintenant je dois le rajouter à nouveau. Si ça se masque à nouveau, je serai coincé dans une boucle oO/etc/systemd/system
sont que des liens symboliques de services. Vous devez ajouter le*.service
fichier à/lib/systemd/system
partir duquel il sera lié/etc/systemd/system
si vousenable
utilisez le service.mask
crée un lien vers/dev/null
etunmask
supprime ce lien/etc/systemd/system
et évidemment cela ne fait aucune différence si quelqu'un y met un fichier.hostname.service
est masqué comme redondant carsystemd
définit le nom d'hôte (à partir de / etc / hostname) très tôt au démarrage.Ce paramètre est fourni par le paquet Debian systemd.
De même, Debian peut maintenant fonctionner sans script shell sur
halt
le système, il est géré par systemd-shutdown (le code source ici ).Si un service a été masqué manuellement, le masque sera installé dans
/etc/systemd/system
place.Les services sont également masqués lorsqu'ils sont supprimés sous Debian / Ubuntu . Je ne sais pas pourquoi
la source
Puisque vous demandez des informations sur l'état masqué, il est important de mentionner qu'il peut être observé dans un service qui, après avoir démarré, a modifié ses définitions, a rechargé (systemctl daemon-reload) et que le nouvel état n'est pas ok . Un exemple simple à comprendre est le scénario suivant:
Par conséquent, l'état masqué peut provenir d'une définition de service incorrecte. Par conséquent, l'utilisateur peut induire un état non masqué en modifiant le service de manière incorrecte.
Observation: je ne sais pas si cela se produit exprès ou s'il s'agit d'un simple bogue (option par défaut), mais il peut s'agir d'informations intéressantes à partager
la source