[CentOS][起動スクリプト] UnboundおよびNSD4がboot時に起動してこないことに対処してみた。その2

AIX、UNIX、Linux
修正:2013年12月1日 23時16分

数字比較なので、-neの形に修正しました。

先日上記のような記事を書いたわけですが、再度、再起動などを試してみるとまたもやサービスの起動に失敗してしまうようでした。

なぜ前回は上手いこといったのか分かりませんが、仕方がないので別の対処をすることにしました。

/etc/init.d/unbound/etc/init.d/nsd4 のStart句に以下のようなコードを入れることにしました。

# starting wait
# if-up & ipv6 check
ifconfig eth0 | grep inet6 | grep :Global >/dev/null 2>&1;
if [ $? -ne 0 ]; then
	sleep 5
fi;

非常に古典的な手法というか強引な手段で申し訳ないのですが、ifconfigコマンドでinet6インターフェースがGlobalなアドレスを持っていなければ、Sleepを5秒入れる、というものにしました。
本当は1秒毎にリトライを繰り返すなどの処理のほうが良いのでしょうが、とりあえず簡素な形で書くことにしました。

しかしながら、Bringing up interface eth0:[ OK ]と出るのに、IPv6アドレスがその時点でアサインされていないというのはよく分からない状態です。

これは該当部分のソースを読めということなのでしょうか・・・?

Linuxカーネル Hacks ―パフォーマンス改善、開発効率向上、省電力化のためのテクニック
Linuxカーネル Hacks ―パフォーマンス改善、開発効率向上、省電力化のためのテクニック
(2011/07/26)
池田 宗広、大岩 尚宏 他

 

商品詳細を見る

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました