Nagios 3.2.3 から 3.3.1 へのアップグレードでエラーになる

Pocket

Nagios の 3.3 系が出たというので早速アップグレードしようとしたらエラーになった。しかも超ホットな話題で誰も解決していない。

公式のアップグレード方法に従っただけなのに・・・。

# pwd
/usr/local/nagios/nagios
# ./configure --with-command-group=nagios
# make all
# make install
cd ./base && make install
make[1]: ディレクトリ `/usr/local/nagios/nagios/base' に入ります
make install-basic
make[2]: ディレクトリ `/usr/local/nagios/nagios/base' に入ります
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin
/usr/bin/install -c -m 774 -o nagios -g nagios nagios /usr/local/nagios/bin
/usr/bin/install -c -m 774 -o nagios -g nagios nagiostats /usr/local/nagios/bin
make[2]: ディレクトリ `/usr/local/nagios/nagios/base' から出ます
make strip-post-install
make[2]: ディレクトリ `/usr/local/nagios/nagios/base' に入ります
/usr/bin/strip /usr/local/nagios/bin/nagios
/usr/bin/strip /usr/local/nagios/bin/nagiostats
make[2]: ディレクトリ `/usr/local/nagios/nagios/base' から出ます
make[1]: ディレクトリ `/usr/local/nagios/nagios/base' から出ます
cd ./cgi && make install
make[1]: ディレクトリ `/usr/local/nagios/nagios/cgi' に入ります
make install-basic
make[2]: ディレクトリ `/usr/local/nagios/nagios/cgi' に入ります
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/sbin
for file in *.cgi; do 
                /usr/bin/install -c -m 775 -o nagios -g nagios $file /usr/local/nagios/sbin; 
        done
make[2]: ディレクトリ `/usr/local/nagios/nagios/cgi' から出ます
make strip-post-install
make[2]: ディレクトリ `/usr/local/nagios/nagios/cgi' に入ります
for file in *.cgi; do 
                /usr/bin/strip /usr/local/nagios/sbin/$file; 
        done
make[2]: ディレクトリ `/usr/local/nagios/nagios/cgi' から出ます
make[1]: ディレクトリ `/usr/local/nagios/nagios/cgi' から出ます
cd ./html && make install
make[1]: ディレクトリ `/usr/local/nagios/nagios/html' に入ります
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/media
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/stylesheets
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/contexthelp
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/docs
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/docs/images
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/images
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/images/logos
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/includes
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/includes/rss
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/includes/rss/extlib
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/share/ssi
/usr/bin/install -c -m 664 -o nagios -g nagios robots.txt /usr/local/nagios/share
rm -f /usr/local/nagios/share/index.html
rm -f /usr/local/nagios/share/main.html
rm -f /usr/local/nagios/share/side.html
for file in *.php; 
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share; done
for file in stylesheets/*.css; 
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/stylesheets; done
for file in contexthelp/*.html; 
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/contexthelp; done
for file in images/*.gif; 
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done
for file in images/*.jpg; 
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done
for file in images/*.png; 
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done
for file in images/*.ico; 
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images; done
for file in images/logos/*.*; 
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/images/logos; done
for file in includes/*.*; 
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/includes; done
for file in includes/rss/*; 
        do /usr/bin/install -c -m 664 -o nagios -g nagios $file /usr/local/nagios/share/includes/rss; done

/usr/bin/install: omitting directory `includes/rss/extlib'
/usr/bin/install: omitting directory `includes/rss/htdocs'
/usr/bin/install: omitting directory `includes/rss/scripts'
make[1]: *** [install] エラー 1
make[1]: ディレクトリ `/usr/local/nagios/nagios/html' から出ます
make: *** [install] エラー 2

Makefile の修正

しゃーなしなので Makefile を強制的に書き換えてみることにする。以下の行をコメントアウトする。

# vi html/Makefile
...
for file in includes/rss/*; 
do $(INSTALL) -m 664 $(INSTALL_OPTS) $$file $(DESTDIR)$(HTMLDIR)/includes/rss; done
...

これでようやく make install は通るようになりました。

雑多な作業

以下のような感じでコマンド打ちます。すでに存在してるディレクトリについて怒られても気にしなくておっけーです。install コマンド使えよって話になるかもしれませんが、ちょっと使い方わからないので後回しです。

ディレクトリ作成

# cd /usr/local/nagios/share/includes/rss/
# mkdir extlib htdocs scripts
# chmod 775 extlib htdocs scripts

Makefile でコピーしきれないファイルのコピー

# cd ~nagios/nagios/html/includes/rss/
# cp extlib/* /usr/local/nagios/share/includes/rss/extlib/
# cp htdocs/* /usr/local/nagios/share/includes/rss/htdocs/
# cp -r scripts/* /usr/local/nagios/share/includes/rss/scripts/
# cd /usr/local/nagios/share/includes/rss/
# chmod -R 664 extlib htdocs scripts

Nagios 再起動

再起動する前に設定ファイルに誤りが無いことを確認します。

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios 再起動。

# service nagios restart

とりあえずこれで手元の Nagios は動いてます。

参考

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

1件のコメント

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください