ハードディスクが故障。MTTR=2days
自宅サーバのハードディスクが故障し、入れ換える。 2日前から、サーバソフトが異常終了しているなぁ…と思っていたら、 読み込みエラーが多発し、fsck をかけると、大量の修正が入る。 reboot すると、起動はするものの、主要なサーバが総倒れ。
廃熱能力の悪いサーバ内のHDDで、動かしっぱなしだから、 1年以上たてば壊れてもしかたはない。 でも今回はちょっと早いかな。
しかたがないので、ハードディスクを買いに走る。 流体軸受け&発熱対策で 5400rpm 物を探すが、160GB 以下が無い。 自宅サーバで、160GB を埋めるのは、当面無理とは思うが、購入。 システムは、不要パッケージの残骸消しも兼ねて、新規インストールし、 2台目HDDに定時処理で tar でバックアップしておいた内容から復旧をかける。 しかし、Kernel の起動パラメータに noapic が必要であった事に 気づくまでに時間がかかり、1日目は install で終った。 2日目は、tar によるバックアップから、/home /etc を復旧させる。 といても、それ以外の関連部分もあるので、まだ完全復旧には至らない。
また壊れた時のことを考えてたメモ。
≪ /etc/lilo.conf ≫ append="noapic" ≪ $HOME/.kde/Autostart/kinput2 ≫ #!/bin/bash XMODIFIERS="@im=kinput2" export XMODIFERS kinput2 &
RNA と mod_index_rss による最新情報
最近は見るWWWコンテンツもマンネリ化しているけど、 その最新情報から簡単にページを見たいのも事実。
RNA 最新コンテンツのチェック
今まで たまてばこ を 運用 しているけど、 更新チェックの URL とリンクする URL を別々にできるので、そこそこ満足。 だけどページの追加・削除の更新が面倒。
そこで RSS ブラウザをいくつか探してみた。かといって RSS ブラウザを 専用で入れるのもダサイので、RSS アグリゲータという分類になる、 RNA を見つけ出す。WWW インタフェースで監視サイトを登録できるので、便利。 マニュアルを見ながら設定し、 設置。 トップページには、 サイト別の一覧 を置く。
mod_index_rss(apacheでRSS情報生成)
RNA により収集した更新情報を一括管理ができるのは便利だけど、 ディレクトリ内のページも次々と登録するのは、はやり面倒。 ある程度、自分のサイト内の RSS 情報が提供されるメカニズムが欲しい。
debian のパッケージ内で探していると、libapache-mod-index-rss なる パッケージが見つかる。名前からしても、いかにも希望する機能っぽい。
≪ パッケージをインストール ≫ # apt-get install libapache-mod-index-rss # vi /etc/apache/httpd.conf # 設定ファイルを追加 LoadModule index_rss_module /usr/lib/apache/1.3/mod_index_rss.so : IndexRSSEngine on # RSS index 機能を許可 IndexRSSEnabled "*.html" # *.html だけ RSS を生成 IndexRSSDisabled ".menu.html" # .menu.html は、対象からはずす # /etc/init.d/apache restart # サーバを再起動
mod_index_rss を設定すると、directory index の URL の後ろに、 "?index=rss" を追加すると、そのディレクトリ内の rdf ファイルが生成される。
http://tsaitoh.net/rna/ の Config Site にて、 http://tsaitoh.net/?index=rss を追加すれば、 同じディレクトリ内の "*.html" が参照できるようになった。
しかし、"*.html" について生成される rdf ファイルに、 ファイル日付が付いていないため、日付情報 0 となってしまう。 今一つだなぁ…
サイト情報の更新は、Refresh Antenna で可能だけど、 いちいち実行するのも面倒。1日1度更新するように、 以下のスクリプトを設置する。
≪ /etc/cron.daily/update-rna ≫ #!/usr/bin if [ -x /usr/bin/GET ]; then /usr/bin/GET http://localhost/rna/rna.cgi > /dev/null fi
KDE周辺のアップグレード
卒研でIEEE1394を使った画像処理関連の利用のために、testing系の インストールを行うが、これに会わせてサーバもtesting系を導入。 デスクトップのKDE関連が、3.1→3.2に上がっていたので、 自宅サーバも KDE 3.2 に更新する。次の機会でも、KDE周辺で 再upgradeが必要になるだろうから、更新したパッケージをファイルに一覧で残す。
# apt-get install `cat testing.pkg`
ネットワーク監視をnagiosに移行
自宅サーバのサーバの動作確認のために運用していたnetsaintだが、 testing 関連のソフトインストールの影響か、メールでの監視結果の報告は 動作しているものの、WWW での状態確認ができない状態であった。 しかし、netsaint はnagiosに移っているため、ちょうどいい機会なので ネットワーク監視をnagiosに移行する。
インストール
debian なので、testing から nagios をインストール。
# apt-get install nagios-text/testing nagios-plugins/testing
設定ファイル生成
設定ファイルの構成が大幅に変更されているが、細かい設定ファイルの 意味を読み直す気力がないので、convertcfg を使う。
# wget http://......./nagios-1.1.tar.gz # tar zxvf nagios-1.1.tar.gz # cd nagios-1.1 # ./configure # make convertcfg # mkdir /usr/lib/nagios/contrib # cp ./convertcfg /usr/lib/nagios/contrib # cd /etc/nagios # /usr/lib/nagios/contrib/convertcfg /etc/netsaint/hosts.cfg hosts > hosts.cfg # 同じように、他の設定ファイルも convertcfg にて生成。
WWW参照のための設定
Apache にて参照できるように、設定ファイルを変更
# vi /etc/apache/httpd.conf ≪設定ファイルの後ろの方で以下を追加≫ AccessConfig /etc/nagios/apache.conf # htpasswd -c /etc/nagios/htpasswd.users nagiosadmin # htpasswd /etc/nagios/htpasswd.users guest # vi /etc/nagios/cgi.cfg ≪以下の設定行をコメントアウト+修正≫ authorized_for_system_information=nagiosadmin authorized_for_configuration_information=nagiosadmin authorized_for_system_commands=nagiosadmin authorized_for_all_services=nagiosadmin,guest authorized_for_all_hosts=nagiosadmin,guest
監視コマンドの修正
実際に上記の変更後起動するが、いくつかが正常動作しない。 どうも、check_disk(ディスク使用量による警告用プラグイン)は、 netsaintでは使用量で設定するが、 nagiosは残り量で設定するとか、 check_load(CPU不可による警告用)は、コマンドライン引数で -w , -c が必要となった… といった、点で checkcommand.cfg の一部を修正する必要がった。
パソコンテーブルの作成
パソコン作業で姿勢の悪い状態での使用や、パソコン下に溜まる埃対策ということ で、 パソコンテーブルを アイリスプラザのメタルラック19mm を使って通信販売で部品を集めて作る。 最初購入したポールが、棚板の入る分の厚さの考慮が足りなくて パソコンが入らないことが判明。ポールを別途購入するが、地元で購入すると 品揃えが悪いので、長めの物で購入し金属ノコで切る。
子供が遊んでケーブルを抜かれるのが怖いので、 スパイラルチューブや結束バンドできれい束ねる作業の方が手間である。
PM-A850 のスキャナ機能epkowa掲示板で質問。
PM-A850 のスキャナ機能 iscan-1.7.0 の動作がうまくいかないので、 色々と実験してみたけど、やっぱりダメ。 スキャナ用掲示板 にて質問を記載する。返答がうまく付くとよいのだが….
PM-A850 のスキャナを使いたい
PM-A850 を Linux で使うための binary が、エプソンコーワ epkowa より 配付される。redhat の rpm 形式であったが、以下の手順でインストール。
≪ pipsa850-cups-2.6.2-1.i386.rpm を拾ってくる ≫ # alien pipsa850-cups-2.6.2-1.i386.rpm # dpkg -i pipsa850-cups_2.6.2-1.i386.deb
後は、cups の設定を行うと、プリンタが使えるようになった。 今回プリンタの設定を cups に初めて切替えたけど、使えるように するまではすごく簡単であった。もっと早めに切替えりゃ良かった。
次は、PM-A850 は 複合機だしスキャナも使いたい。 同じく拾ってきた iscan の rpm を alien で deb に変換するが、使えない。他のページで調べた方法にて、 deb パッケージを作成し、インストールする。パッケージ作成中には libusb.la やら ieee1284.la やらライブラリ関連のファイルが不足している。 これが alien で動かない原因だったのかも。早速必要そうな lib を入れて パッケージの作り直し。
≪ iscan-1.7.0-1.tar.gz を拾ってくる ≫ # apt-get install libusb-0.1-4/testing libusb-dev/testing libieee1284-3/testing libieee1284-3-dev/testing libsane/testing libsane-dev/testing libsane-extras/testing libsane-extras-dev/testing $ tar zxvf iscan-1.7.0-1.tar.gz $ cd iscan-1.7.0 ≪ debian にはこーゆー技もあったのね ≫ $ dh_make -e 自分のメールアドレス $ fakefoot debian/rules clean $ fakefoot debian/rules bibary $ cd .. ≪ sane 関連のライブラリを入れ換えることになるので --force-overwrite する ≫ # dpkg --force-overwrite -i iscan_1.7.0-1_i386.deb
/etc/usbmgr/usbmgr.conf に以下を追加
vendor 0x4b8 product 0x806 module printer , scanner class 0x08 subclass 0x06 protocol 0x50 module scsi_mod , sd_mod , usb-storage class 0xff subclass 0x0 protocol 0x0 module scanner
設定ファイルの更新の後は、vendorディレクトリなどに反映させるために、 以下のコマンドを実行。
# update_usbdb /etc/usbmgr/usbmgr.conf
さて、動くかな….
# うーん、やっぱり動かない。PM-A850 のメモリースティック接続機能の
# 中身はうまく読めたんだけどなぁ。
update kernel
最近増えているKernalの最新の脆弱性指摘から、 カーネル更新がとまっていたので作業。 夏場のCPU温度管理は必須なマシンなので、 面倒でもlm-sensorsはサポートさせたい。
≪必要なソースのインストール≫ # apt-get install lm-sensors-source/testing lm-sensors/testing i2c-source/testing i2c-2.4.20-3-k7/testing alsa-source/testing ≪ソースの展開≫ # cd /usr/src # tar jxvf kernel-source-2.4.20.tar.bz2 # ln -sf kernel-source-2.4.20 linux # tar zxvf lm-sensors.tar.gz # tar zxvf i2c.tar.gz ≪古いソースのツリーで展開したら、hwsmf.verがないとのエラーが発生≫ # rm -rf modules/alsa-driver/ # tar jxvf alsa-driver.tar.bz2 ≪コンパイルパラメータを別にインストールしてあったものからコピー≫ # cp /boot/config-2.4.20-3-k7 linux/.config # cd linux # make menuconfig # make-kpkg clean; make-kpkg kernel_image modules_image ≪できあがったカーネルパッケージをインストール≫ # dpkg -i kernel-image-2.4.20_Custom.deb # dpkg -i i2c-2.4.20_Cunstom.deb # dpkg -i lm-sensors-2.4.20_Custom.deb ≪カーネルリンク情報を生成≫ # mkinitrd -o /boot/initrd-2.4.20 /lib/modules/2.4.20 ≪ブートできるように調整≫ # cd / # ln -sf /boot/vmlinuz-2.4.20 vmlinuz # ln -sf /boot/initrd.img-2.4.20 initrd.img # lilo -v
音が出なくなったので、alsa関連のモジュール構築もしたけど、 効果なし。よくよく思い出したら、マザーボード上のサウンド機構が、 CMedia社の通常カーネルのサポート外であった事を思い出す。 しかしCMediaより、非ALSAのLinuxカーネルモジュールが出ているので、 インストール。
≪cmedia-041.tar.gzを拾ってくる≫ $ tar zxvf cmedia-041.tar.gz $ cd cmedia ≪カーネルのバージョン番号に依存しているlinuxのinclideパスと≫ ≪インストール先のパスについて、Makefileを変更≫ $ make # make install # modprobe cmedia
KDE-3.1環境に移行
ガッコの新しいノートに、Linux を入れようと画策している中、 Windows XP のパーティションのリサイズの必要性から、 GnuPartd を使いたくなり、一時的に KNOPPIX を起動。 KNOPPIX の最新は、Debian woody に浸りきっていると、 縁の無い綺麗な デスクトップ環境。 ちょっと『いいなぁ』との思いから、思い切って最新デスクトップに移行する。
最初は慣れている、Gnomeの最新を試す。といっても基本は woody で、 必要最低限だけ testing 環境に移行させる。 でも、Gnome だけだと、余り感銘が無かったので、KDE の最新も試す。
色々と手間がかかったけど、Konqueror+KMail の完成度が高そうなので、 当面は KDE に落ち着きそう。
日本語の入力がうまくいかないので、/etc/gdm/Session/KDE を見ると、 起動時に .kde3rc を読み込むことを発見。kinput2 の起動と XMODIFIERS の 設定を記載。
#!/bin/bash XMODIFIERS="@im=kinput2" export XMODIFIERS kinput2 &
欠点は、testing だから仕方が無いのかも知れないけど、 dist-upgrade" でうまく依存性判定ができなくなったこと。
SCO を攻撃する Virus
メールを経由して広がり、感染すると SCO グループの Web サーバに DoS アタックをしかけるウィルスが拡大中らしい。
# 犯人は Linux Comunity の一部であるのは明白だしなぁ….
