systemctlを使用するとnamedが起動しない


9

Fedora 18 Raspberry Piスピンでsystemdを使い始めるために名前を付けるのに問題があります。それが開始し、数分後にタイムアウトが発生して失敗します。named.serviceのコマンドを手動で実行すると、namedは問題なく起動します。systemctlが探しているタイムアウトや、それが呼び出されている場所がわかりません。systemctl、systemd、その他のマニュアルページを読んだので、引き続き調査しますが、誰かがポインタを持っているなら、それは素晴らしいことです。

systemctl status named.service 出力:

named.service - Berkeley Internet Name Domain (DNS)
          Loaded: loaded (/usr/lib/systemd/system/named.service; disabled)
          Active: failed (Result: timeout) since Tue 2013-01-29 14:36:41 EST; 35min ago
         Process: 4189 ExecStart=/usr/sbin/named -u named $OPTIONS (code=exited, status=0/SUCCESS)
         Process: 4186 ExecStartPre=/usr/sbin/named-checkconf -z /etc/named.conf (code=exited, status=0/SUCCESS)
         Process: 4183 ExecStartPre=/usr/libexec/generate-rndc-key.sh (code=exited, status=0/SUCCESS)

Jan 29 14:35:12 raspi.example.com named[4191]: all zones loaded
Jan 29 14:35:12 raspi.example.com systemd[1]: PID file /run/named/named.pid not readable (yet?) after start.
Jan 29 14:35:12 raspi.example.com named[4191]: running
Jan 29 14:36:41 raspi.example.com systemd[1]: named.service operation timed out. Terminating.
Jan 29 14:36:41 raspi.example.com named[4191]: shutting down
Jan 29 14:36:41 raspi.example.com named[4191]: stopping command channel on 127.0.0.1#953
Jan 29 14:36:41 raspi.example.com named[4191]: no longer listening on 127.0.0.1#53
Jan 29 14:36:41 raspi.example.com named[4191]: exiting
Jan 29 14:36:41 raspi.example.com systemd[1]: Failed to start Berkeley Internet Name Domain (DNS).
Jan 29 14:36:41 raspi.example.com systemd[1]: Unit named.service entered failed state  

named.serviceファイル

[Unit]
Description=Berkeley Internet Name Domain (DNS)
Wants=nss-lookup.target
Before=nss-lookup.target
After=network.target

[Service]
Type=forking
EnvironmentFile=-/etc/sysconfig/named
Environment=KRB5_KTNAME=/etc/named.keytab
PIDFile=/run/named/named.pid
ExecStartPre=/usr/libexec/generate-rndc-key.sh
ExecStartPre=/usr/sbin/named-checkconf -z /etc/named.conf
ExecStart=/usr/sbin/named -u named $OPTIONS
ExecReload=/bin/sh -c '/usr/sbin/rndc reload > /dev/null 2>&1 || /bin/kill -HUP $MAINPID'
ExecStop=/bin/sh -c '/usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID'
PrivateTmp=true
[Install]
WantedBy=multi-user.target

回答:


8

答えました。

これは行でした:

開始後、PIDファイル/run/named/named.pidが(まだ?)読み取れません。

(まだ?)名前で書き込まれる前にPIDファイルを読み取ろうとしたため、メッセージがスローされていると思いました。その後エラーが表示されなかったため、最終的には正常に読み取れたと思いました。英語を読むのはばかげている。実際、これまで(またはsystemd)によって読み取られていなかっnamedpidtoを書き込みます。/var/run/named/named.pidsystemctl

でPIDFileを変更しnamed.serviceて起動します。喜び。


回答ありがとうございます。私は困惑していました。
フォンブランド2013

1
/ var / runは/ run ...へのシンボリックリンクである必要があります
CameronNemo

ああ、Linuxの気まぐれさ、そしてLinuxのディストリビューションとパッケージ開発について私が嫌う多くの迷惑なことの1つ。/ runは、/ var / runがある場合に冗長です。/var/runは、pidファイルなどの可変的なものが置かれる場所です。
マイクフラット14

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.