Unboundが急に動かなく…これだからArch Linuxはっ!!!

ホームサーバのメンテナンスのために、自宅サーバ(Arch Linux)のアップデートをして再起動しました。

そしたら、Unbound(DNSフルリゾルバ)が起動しなくなりました…。
ログを見ても、全然起動しない理由がわからず…ただひたすらUnboundの再起動を繰り返していました。

動かなくなるUnbound in Arch Linux

仕方ないから、問題の切り分けのために、Unbound を直接起動してみると…

sudo unbound

あれ・・・普通に起動する・・・?どういうことだ・・・?
ヘルプを見ると…オプション無しだとデーモンとして、 -d を指定するとフォアグラウンドで動く、とある。

ここで何かをひらいめいて、/usr/lib/systemd/system/unbound.service を確認すると、

[Unit]
Description=Unbound DNS Resolver
Wants=nss-lookup.target
Before=network-online.target nss-lookup.target
After=network.target
[Service]
ExecStart=/usr/bin/unbound
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target

なるほど。今回のアップデートで unbound コマンドの仕様が変わった…のかな?
Unitファイルはunbound がフォアグラウンドで動くことを期待しているのに、当のunboundコマンドがデーモンで起動してすぐに終了するために、systemdが異常終了だと思って、再起動を繰り返した…ということでした。

となれば対策は簡単

ExecStart=/usr/bin/unbound

ExecStart=/usr/bin/unbound -d

これで動くようになりました。

Arch Linuxは、パッケージには基本的に手を入れず、ほぼ公式が提供しているとおりに提供する方針です。だからこういう事が平気で起きるのですが、これもまた Arch Linux の醍醐味ですね!

Spread the love
  •  
  •  
  •  
  •  

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*