私のマシン(16.04.1)では、/ dev/logが欠落しているようです。おそらく常に欠落しているでしょう。
私がここで助けを求めている本当の理由は、csfでvirtualminを使用しており、SYSLOG_CHECK
オプションが常に失敗したことです(OSがまだ14.04であった場合でも) 。
ロガーを実行すると、次のようになります。
# logger hi there
logger: socket /dev/log: No such file or directory
また、物事の 'python'の方法を試してみました この質問による :
# python -c 'import syslog; syslog.syslog("Hello World")'
(nothing is outputted, or appears in syslog)
したがって、/dev/
フォルダーを見ると、「ログ」がまったくないことがわかります。
別のマシン(v14.04)で確認したところ、srw-rw-rw- 1 root root 0 Dec 16 20:34 log=
2つのマシンの主な違いは、前者はvultr.comから起動されたインスタンス(提供されたcloud-init対応のインストールを使用)であったのに対し、後者のマシン(機能する)はubuntu ISOを使用した(昔) )。
それでは、質問:何らかのアプリケーション(csf)が書き込もうとしている/dev/log
ファイルがない理由の問題を解決するにはどうすればよいのでしょうか。 /var/log/syslog
には他のメッセージが表示されるので、少し混乱することに注意してください。
任意の助けに感謝します。
編集:
/lib/systemd/system/systemd-journald-dev-log.socketの内容:
[Unit]
Description=Journal Socket (/dev/log)
Documentation=man:systemd-journald.service(8) man:journald.conf(5)
DefaultDependencies=no
Before=sockets.target
IgnoreOnIsolate=yes
[Socket]
Service=systemd-journald.service
ListenDatagram=/run/systemd/journal/dev-log
Symlinks=/dev/log
SocketMode=0666
PassCredentials=yes
PassSecurity=yes
ReceiveBuffer=8M
SendBuffer=8M
/run/systemd/journal/dev-log
があるかどうかを確認してください。それはソケットでなければなりません:
$ ls -l /run/systemd/journal/dev-log
srw-rw-rw- 1 root root 0 Dec 16 09:17 /run/systemd/journal/dev-log
これをチェックアウトすると、/dev/log
から/run/systemd/journal/dev-log
へのシンボリックリンクを作成できます。
Sudo ln -s /run/systemd/journal/dev-log /dev/log
Rsyslogがインストールされていますか?私の場合、Ubuntu 16.04の問題を解決するにはrsyslogをインストールする必要がありました。
Sudo apt-get install -y rsyslog
Rsyslogをインストールする前でも、/lib/systemd/system/systemd-journald-dev-log.socket
には投稿で表示したものと同じコンテンツが含まれていました。
Systemd-journald.serviceを再起動するだけで大丈夫です。
Sudo systemctl restart systemd-journald.service