現在、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
、ログ エントリが取得されます。 と は異なる systemd ユニットであるためsshd.service
、コマンドssh.service
のエントリが何も提供されないのはなぜですか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 エイリアスで動作する (インストール セクション)また、姉妹サイトにも関連する(しかし満足のいく回答が得られていない)質問があります。journalctl で systemd エイリアスを使用するにはどうすればいいですか?