Archive for the 'linux' Category

CentOS5.5から5.6にアップグレードするときの手順

火曜日, 4月 12th, 2011

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

http://wiki.centos.org/Manuals/ReleaseNotes/CentOS5.6/Japanese#head-6ece74d57ce0efb64ab9b27d508b9f19be81bd7a より

Nagios で、yumのupdateを検知するcheck_yum

木曜日, 4月 7th, 2011

Nagios の標準Pluginに check_apt というパッケージアップデートの監視Pluginが有るので、これならcheck_yum もあるよねってことで見つけました。

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が必須です。

kernel: irq #177… と irqpoll

水曜日, 3月 11th, 2009

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が動かない

水曜日, 3月 11th, 2009

マザーボード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

を確認。

[Linux]swapサイズを変更(減らした)

火曜日, 3月 10th, 2009

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

USBメモリブート

月曜日, 3月 2nd, 2009

[PC]
USBメモリブート
マザーボードのBIOSアップデートと、Memtest86+の実行に利用してます。便利。

yumのレポジトリにRPMforgeを追加する

月曜日, 7月 7th, 2008

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を利用した方法がすばらしい。

afio 2.5 rpmの作成

月曜日, 7月 7th, 2008

※注意 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

specの作成

$ 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 3.0.3 rpmの作成

月曜日, 7月 7th, 2008

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ファイルの準備

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

Nagios 3.0.3 install

木曜日, 6月 26th, 2008

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