Ich arbeite derzeit an einer Ubuntu 20.04-Maschine. Wenn ich den Befehl ausführe journalctl -u sshd.service
, erhalte ich die folgende Antwort.
-- Logs begin at Wed 2022-12-21 13:01:52 UTC, end at Fri 2023-03-31 15:10:32 UTC
-- No entries -- .
Aber beim Ausführen journalctl -u ssh.service
erhalte ich die Protokolleinträge. Da sshd.service
und ssh.service
unterschiedliche Systemd-Einheiten sind, warum werden für den Befehl keine Einträge ausgegeben journalctl -u sshd.service
?
Antwort1
Zumindest in der Standardimplementierung von Ubuntu + OpenSSH sind sshd.service
sie ssh.service
tatsächlich keine unterschiedlichen Einheiten - erstere ist einealiasfür Letzteres, definiert im [Install]
Abschnitt seiner Unit-Datei /lib/systemd/system/ssh.service
,:
[Install]
WantedBy=multi-user.target
Alias=sshd.service
Solche Aliase werden im DESCRIPTION
Abschnitt besprochen man systemd.unit
und funktionieren im Wesentlichen durch die Erstellung symbolischer Links - in diesem Fall
$ ls -l /etc/systemd/system/sshd.service
lrwxrwxrwx 1 root root 31 Feb 16 2022 /etc/systemd/system/sshd.service -> /lib/systemd/system/ssh.service
systemctl
So können Sie den Dienst über oder ssh.service
( sshd.service
oder einfach nur über ssh
oder ) starten/stoppen/seinen Status abfragen sshd
.
Was Sie also beobachten, ist, dass journalctl
diese systemd-Aliase anscheinend nicht aufgelöst werden - es gibt einige Diskussionen darüber, warum und ob dies inProblem Nr. 11846: Journalctl funktioniert mit Systemd Alias (im Abschnitt „Installieren“)und auch eine verwandte (aber nicht zufriedenstellend beantwortete) Frage auf unserer Schwesterseite,Wie verwende ich Systemd-Aliase mit Journalctl?