# systemctl status netatalk.service で表示されたこのエラー。
netatalk.service: Can’t open PID file /run/lock/netatalk/netatalk (yet?) after start: No such file or directory
========================================================================
「こびとさんのメモ」というサイト
https://log.kobito3.net/2019/11/systemd.html
より。
メモというか、個人的なブクマです。。。 またエントリーを何度か修正するので、表示されてる編集日が微妙かもyo。
2019年11月22日金曜日
systemdを更新したらエラー
最近いろいろサボっていたけど、久しぶりの「yum update」です。
(centos のバージョンも7.7 になってる気がする)
systemd の更新があったようで、mongodb, nginx が起動しませんでした (涙
エラーです…
■ systemd のエラー表示
# nginx の場合
> Can’t open PID file /var/run/nginx.pid (yet?) after start: Too many levels of symbolic links
# mongodb の場合
> Can’t open PID file /var/run/mongodb/mongod.pid (yet?) after start: Too many levels of symbolic links
■ エラーの関連リンク
– Systemd error: ‘Refusing to accept PID outside of service control group, acquired through unsafe symlink chain’
– service: relax PID file symlink chain checks a bit (#8133)
cgroup 対応でチェックを追加したという事です。
■ 対処
– /usr/lib/systemd/system/mongod.service
– /usr/lib/systemd/system/nginx.service
このファイルを編集して
pid のパスを /var/run から /run に変更。
nginx, mongo を起動
> systemctl daemon-reload
> systemctl reload nginx
> systemctl reload mongod
OK … 無事起動 (うれし涙
一応、nginx, mongo のconf も変更しておく
– /etc/nginx/nginx.conf
– /etc/mongod.conf
pid のパスを変更。/var/run -> /run
(/var/run は /run へのシンボリックリンクなので変更しなくても動きますが、systemdの変更に合わせておきます)
mongodbやnginx のように、centos 以外のレポジトリからインストールしたものがあれば、しばらくは要注意。
Can’t open PID file /var/run/xxxxx.pid (yet?) after start: Too many levels of symbolic links
このエラー表示を頭の片隅に。
(そもそも、cgroup の勉強ができていないので何とも言えませんが、別の対応方法があるような気もする…..)
========================================================================
上記サイトを参考に、
/usr/lib/systemd/system/netatalk.service 内を見てみた。
# This file is part of netatalk 3.1.12.
[Unit]
Description=Netatalk AFP fileserver for Macintosh clients
Documentation=man:afp.conf(5) man:netatalk(8) man:afpd(8) man:cnid_metad(8) man:cnid_dbd(8)
Documentation=http://netatalk.sourceforge.net/
After=syslog.target network.target avahi-daemon.service
[Service]
Type=forking
GuessMainPID=no
ExecStartPre=-/usr/bin/systemd-tmpfiles –create /usr/lib/tmpfiles.d/netatalk.conf
ExecStart=/usr/sbin/netatalk
PIDFile=/run/lock/netatalk/netatalk
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=1
[Install]
WantedBy=multi-user.target
:q:
うーむ。
今、/run/lock/netatalk/netatalk があるか見てみたら、
ちゃんと存在し、
3738
という数字だけが入っていた。。。。

コメント