Wenn ich den Befehl ausführe sudo systemctl list-unit-files
(ich denke, das sudo ist optional), erhalte ich eine Ausgabe, in der alle Dienste und ihr Status angezeigt werden.
Hier ist ein Ausschnitt von meinem Computer:
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
...
Ich frage mich, warum sich einige Dienste im Status "maskiert" befinden. Ich denke, dies bedeutet, "dies ist besser als" Deaktivieren ", da der Dienst weder von Hand noch von systemd gestartet werden kann".
Wie kann ich mehr Informationen über den Zustand einer Serviceeinheit erhalten?
Wer hat die Einheiten in ihren jeweiligen Zustand versetzt?
Ich habe zum Beispiel versucht,
sudo systemctl help dsmcad
- dass nur die documentation = ...
Zeile aus der Unit-Datei aufruft./etc/systemd/system/dsmcad.service
Hinweis: Hier weiß ich genau, was der dsmcad-Dienst ist und was er tut. Ich habe ihn selbst installiert. Ich interessiere mich mehr für eine allgemeine Lösung.
mask
und einenunmask
Befehl, mit dem gearbeitet werden kannsystemctl
. Also tu es einfachsystemctl unmask name_of_service.service
.systemctl unmask name_of_service.service
wurde meine Service-Definitionsdatei vollständig von entfernt/etc/systemd/system/
, sodass ich sie jetzt wieder hinzufügen muss. Wenn es wieder maskiert wird, stecke ich in einer Schleife/etc/systemd/system
sind nur symbolische Links von Diensten. Sie sollten die*.service
Datei/lib/systemd/system
dort hinzufügen , wo sie verlinkt wird,/etc/systemd/system
wenn Sieenable
den Dienst nutzen.mask
erstellt einen Link zu/dev/null
undunmask
entfernt diesen Link von/etc/systemd/system
und es macht offensichtlich keinen Unterschied, ob jemand eine Datei dort ablegt.hostname.service
wird als redundant maskiert, dasystemd
der Hostname (von / etc / hostname) sehr früh beim Start gesetzt wird.Diese Einstellung wird vom Debian-Systemd-Paket bereitgestellt.
Ebenso kann Debian jetzt ohne ein Shell-Skript auf
halt
dem System ausgeführt werden, es wird stattdessen von systemd-shutdown (Quellcode hier ) gehandhabt .Wenn ein Dienst manuell maskiert wurde, wird die Maske stattdessen installiert
/etc/systemd/system
.Dienste werden auch maskiert, wenn sie unter Debian / Ubuntu entfernt werden . Ich weiß nicht warum.
quelle
Da Sie Informationen über den maskierten Status anfordern, ist es wichtig zu erwähnen, dass dies in einem Service beobachtet werden kann, der nach dem Start die Definitionen geändert, neu geladen (systemctl daemon-reload) und der neue Status NICHT in Ordnung ist . Ein leicht zu verstehendes Beispiel ist das folgende Szenario:
Daher kann der maskierte Zustand von falschen Dienstdefinitionen herrühren. Daher kann der Benutzer durch unsachgemäße Bearbeitung des Dienstes zu einem entlarvten Status führen.
Beobachtung: Ich bin mir nicht sicher, ob es absichtlich passiert oder ob es sich um einen einfachen Fehler handelt (Standardoption), aber es können einige interessante Informationen zum Teilen sein
quelle