CentOS5.5から5.6にアップグレードするときの手順
火曜日, 4月 12th, 20115.5 より前の CentOS からアップグレードする場合の推奨手順
yum clean all yum update glibc\* yum update yum\* rpm\* pyth\* yum clean all yum update mkinitrd nash yum update selinux\* yum update shutdown -r now
森重善隆のオンラインオープンめも
5.5 より前の CentOS からアップグレードする場合の推奨手順
yum clean all yum update glibc\* yum update yum\* rpm\* pyth\* yum clean all yum update mkinitrd nash yum update selinux\* yum update shutdown -r now
Nagios の標準Pluginに check_apt というパッケージアップデートの監視Pluginが有るので、これならcheck_yum もあるよねってことで見つけました。
./check_yum で実行すると
Yum OK: 0 Security Updates Available. 5 Non-Security Updates Available
こんな感じで表示されます。Security Updatesがあると、nagiosが検知してくれます。
この Security Updates の数を把握するには yum-security をインストールする必要があります。
# yum install yum-security
yum-security を入れない場合は、
./check_yum --all-updates
とすることで、一つでも更新があると検知します。CentOS4系だと、yum-securityがないから、–all-updatesが必須です。
USBメモリーに入れたCentOS5.2で時間が経つと、
kernel: irq #177: nobody cared (try booting with the “irqpoll” option)
メッセージが出て、エラーを多発。
どうやら、USB周りでエラーが出ている様子。エラーメッセージの指示通りブート時にkernelにirqpollを付けると安定動作。
問題なさそうなので、
/boot/grub/grub.confのkernel行の最後に irqpoll を追記。
マザーボードP5Q-EMではCentOS5.2を入れた場合、オンボードLANに対応するドライバが無いためLANが動作しない。
まずAsusのホームページからLinux用ドライバをダウンロードする。
そして
$ tar xfvj r8168-8.aaa.bb.tar.bz2 $ cd r8168-8.aaa.bb $ su # make clean modules ここでエラーが出る場合 yumでgccとかkernel-develを確認する。(エラーメッセージを見れば何が不足しているか分かります) # yum install kernel-devel # yum install gcc で解決することがある。 # make install install -m 744 -c r8168.ko /lib/modules/2.6.18-92.1.22.el5/kernel/drivers/net/ # depmod -a # insmod ./src/r8168.ko
これで完了。
インストールの確認として
# lsmod | grep r8168 # ifconfig -a
を確認。
USBメモリのLinuxで、容量不足から、swap領域を小さくしたい。
まず、状況の確認。 # lvdisplay # lvs # vgdisplay そして、サイズの変更(縮小) # swapoff /dev/VolGroup00/LogVol01 # lvreduce -L 128M /dev/VolGroup00/LogVol01 WARNING: Reducing active and open logical volume to 256.00 MB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce LogVol01? [y/n]: y Reducing logical volume LogVol01 to 256.00 MB Logical volume LogVol01 successfully resized # mkswap /dev/VolGroup00/LogVol01 # swapon /dev/VolGroup00/LogVol01 今度は、ext3のサイズの拡張 # lvextend -L +384M /dev/VolGroup00/LogVol00 で、以下でオンライン拡張が可能。(ext2onlineというコマンドは古いコマンド) # resize2fs /dev/VolGroup00/LogVol00
CentOS4.6を対象
多数のサーバーを抱えている場合、極力RPMでインストールする方が後々のメンテナンスが楽です。しかし、RPMを作るのも手間ですよね。そんなとき、RPMforgeを利用すると、多くのRPMを入手できます。もっとも、必ずしも最新ではないし、安全を保証するものではないです。ケースバイケースで利用するか判断しましょう。
http://dag.wieers.com/rpm/packages/rpmforge-release/
から、自分のOSにあったPRMを取得する。
CentOS4ならel4。CentOS5ならel5。
$ cd /usr/local/src/ $ wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm $ wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt $ su # rpm -ivh rpmforge-release-0.3.6-1.el4.rf.i386.rpm # rpm --import RPM-GPG-KEY.dag.txt
yum利用時に、明示しない限り無効になるよう設定しておく。
# vi /etc/yum.repos.d/rpmforge.repo ... #enabled = 1 enabled = 0 ...
上記の設定により、利用したいときにはyumに–enablerepo=rpmforgeをつける必要がある。
$ yum --enablerepo=rpmforge list
※追記
http://d.hatena.ne.jp/radio-keios/20080521/1211389508
こちらのyum-prioritiesを利用した方法がすばらしい。
※注意 RPMforgeを利用することで、rpmを入手できます。 参考 yumのレポジトリにRPMforgeを追加する
http://morishige.jp/blog/2008/07/12/
の事前準備と同じ。
$ cd /usr/local/src/rpm/SOURCES/ $ wget http://www.ibiblio.org/pub/linux/system/backup/afio-2.5.tgz
$ cd ../SPECS/ $ vi afio.spec
で作成しようと思いましたが、検索したら発見したので
$ wget http://dag.wieers.com/rpm/packages/afio/afio.spec
$ rpmbuild -bb afio.spec $ ls ../RPMS/i386/ afio-2.5-2.i386.rpm
$ su # rpm -ivh afio-2.5-2.i386.rpm
nagiosはソースに、nagios.specが用意されているため、簡単にrpmを作成することができます。
rpmを作成するには以下のディレクトリを用意する必要があります。作成する場所はどこでも良いです。(よく目にするのは /home/rpm以下とする例。ここでは/usr/local/src/rpm以下となります)
$ cd /usr/local/src $ mkdir -p rpm/BUILD rpm/RPMS rpm/SOURCES rpm/SPECS rpm/SRPMS
また、この作業ディレクトリの場所を ~/.rpmmacros にて指定する必要があります。
$ vi ~/.rpmmacros %_topdir /usr/local/src/rpm
rpmの作成には rpmbuild コマンドを利用します。無ければ yum からインストールします。
$ su # yum install rpm-build # exit
specファイルはnagiosのソース内に用意されています。そのspecファイルをSPECディレクトリに設置します。ソースのtar.gzはSOURCESディレクトリに設置します。
$ cd /usr/local/src/ $ tar xfvz nagios-3.0.3.tar.gz $ cp nagios-3.0.3/nagios.spec rpm/SPECS/ $ cp nagios-3.0.3.tar.gz rpm/SOURCES/
rpmbuildでできあがり。specファイルがあれば、とっても簡単です。
$ rpmbuild -bb rpm/SPECS/nagios.spec ........
RPMSディレクトリ以下にrpmファイルができあがります。
$ ls rpm/RPMS/i386/ nagios-3.0.3-1.fc4.test.i386.rpm nagios-www-3.0.3-1.fc4.test.i386.rpm nagios-devel-3.0.3-1.fc4.test.i386.rpm
CentOS 4.6を対象。
* Apache
* GCC compiler
* GD development librarie
が必要なので、yumでインストール
# yum install httpd # yum install gcc # yum install glibc glibc-common (←これはすでにインストールされているから必要ないかも) # yum install gd gd-devel # yum install libpng-devel # yum install libjpeg-devel
必要なユーザーの作成
# /usr/sbin/useradd -m nagios # passwd nagios # /usr/sbin/groupadd nagcmd # /usr/sbin/usermod -G nagcmd nagios # /usr/sbin/usermod -G nagcmd apache # exit
ソースの取得とMake
$ cd /usr/local/src/ $ wget http://jaist.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.3.tar.gz $ wget http://jaist.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.12.tar.gz $ tar xfvz nagios-3.0.3.tar.gz $ cd nagios-3.0.3 $ ./configure --with-command-group=nagcmd $ make all $ su # make install # make install-init # make install-config # make install-commandmode
設定
# vi /usr/local/nagios/etc/objects/contacts.cfg
の通知先メールアドレス
# make install-webconf # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin # /etc/init.d/httpd restart # exit
Nagios plugins
$ cd /usr/local/src/ $ tar xfvz nagios-plugins-1.4.12.tar.gz $ cd nagios-plugins-1.4.12 $ ./configure --with-nagios-user=nagios --with-nagios-group=nagios $ make $ su # make install # /sbin/chkconfig --add nagios # /sbin/chkconfig nagios on
設定ファイルのチェック
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg # /sbin/service nagios start
—
Status Map で、
The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server.
となった場合は、GD、libpng, libjpegのインストールの確認。とくに、libpng-devel、libjpeg-develを忘れていると駄目。ネットで検索しても、この辺りを忘れてはまっている人が多いようです。
# yum install libpng # yum install libpng-devel # yum install libjpeg # yum install libjpeg-devel # yum install gd gd-devel
—-
3-D Status Mapの表示
VRMLプラグインを入れます。Cortona VRML Client など。
—-
試しに日本語化してみる。
日本語化パッチは、3.0.2のものしか無い。とりあえず、やってみよう。
http://sourceforge.jp/projects/nagios-jp/
から、日本語化パッチを入手
$ cd /usr/local/src/nagios-3.0.3 $ wget http://keihanna.dl.sourceforge.jp/nagios-jp/31372/nagios-3.0.2-ja-utf8.patch.gz $ gzip -dc nagios-3.0.2-ja-utf8.patch.gz | patch -p0
一部でエラーが出る。とりあえず、気にせず。
あとはいつも通りのインストール
$ make clean $ ./configure --with-command-group=nagcmd $ make all $ su # make install # make install-init # make install-config # make install-commandmode
パッとみ問題なし。
—
プラグインの使い方
直接コマンドとしてたたいてみるのがてっとりばやい。
$ cd /usr/local/nagios/libexec/ $ ./check_http -H localhost
こんな感じ。
個々の使い方は
$ ./check_http -h