Journalctl -u sshd.service 指令返回“無條目”

Journalctl -u sshd.service 指令返回“無條目”

我目前正在 Ubuntu 20.04 機器上工作。當我運行命令時journalctl -u sshd.service,我收到以下回應。

-- Logs begin at Wed 2022-12-21 13:01:52 UTC, end at Fri 2023-03-31 15:10:32 UTC

-- No entries -- .

但是,當我運行時journalctl -u ssh.service,我會取得日誌條目。由於sshd.servicessh.service是不同的 systemd 單元,為什麼它不提供任何journalctl -u sshd.service指令條目?

答案1

至少在預設的 Ubuntu + OpenSSH 實作中,sshd.service它們ssh.service實際上不是不同的單位 - 前者是一個別名對於後者,在[Install]其單元文件的部分中定義/lib/systemd/system/ssh.service

[Install]
WantedBy=multi-user.target
Alias=sshd.service
 

此類別名將在DESCRIPTION部分討論man systemd.unit,並且本質上是透過創建符號連結來工作的 - 在本例中,

$ 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允許您透過使用ssh.service, 或sshd.service(甚至只是ssh或)來啟動/停止/查詢服務的狀態sshd

所以你觀察到的是,journalctl顯然沒有解決這些 systemd 別名 - 有一些關於為什麼以及是否應該解決的討論問題 #11846:Journalctl 與 Systemd Alias 一起使用(在安裝部分)以及我們兄弟網站上的一個相關(但沒有得到令人滿意的回答)問題,如何在journalctl中使用systemd別名?

相關內容