停電があったようだ
どうも昼からすごい暴風雨状態。 自宅も、母によると停電もあったようだ。 その中、自宅のネットワークが動かない。 OSが停電で落ちて再起動したみたいだけど、 DebianでのGrubでブートしているんだけど、 最新kernel linux-image-2.6.32 で起動したのが原因みたい。
自宅サーバは、なぜかNICカードがアホになり、MACアドレスが消えてしまい、 直接指定しているけど、どうも 2.6.30 以前なら OK だけど、 2.6.32 だと intel8x0 での MACアドレス直接指定がダメみたい。 このため、NIC 初期化から先に進めずだったようだ。 それに、以前に 2.6.32 で立ち上がれたときも、温度センサーUSBRHが 認識してくれなかったし… 2.6.32 ではトラブルだらけになっちゃう状態。
ひとまず、GRUB の起動指定で、何もしないときは、2.6.30-5-686 で起動するように 設定を変更しておいた。
debianトラブル:libapt-pkg4.10が無い
自宅サーバの更新ということで、いつものごとく"aptitude update ; aptitude safe-upgrade"を 実行したら、140個ほどの大量更新となった。まあ、更新の量はこんなものかと思うけど、 更新途中で libapt-pkg-perl,synaptic,aptitude,python-apt,apt-utils が、エラーで失敗する。 「パッケージ libapt-pkg4.10 に依存しているけど、インストールされていない」とのメッセージ。
しかし、debian のパッケージ一覧には、libapt-pkg4.10 はまだない。Ubuntu にはあるんだけど。 しかたがないし、以前のパッケージに部分的にでも戻そうと、"aptitude install aptitude/stable" あたりを実行しようとするが、以下のようなメッセージ。
hostname:/var# aptitude install aptitude/stable aptitude: error while loading shared libraries: libapt-pkg.so.4.10: cannot open shared object file: No such file or directory
ということで、aptitude自体が動かなくなった。こりゃパッケージの依存関係が復旧されても、 元に戻すのは、dpkg コマンドを使わないと復旧できそうにないな…
仕方が無いので、バージョンを下げようとするけど、stable では、下がり過ぎ。 ということで、aptitude_0.6.3-3.1_i386.deb から、aptitude_0.6.3-3_i386.deb に落とすために、Webから探して "dpkg -i –force-depends aptitude_0.6.3-3_i386.deb" を実行する。
phpスクリプトのregister_globalsの問題
PHPのバージョンアップに伴い、register_globals がデフォルトoffから、 さらに利用が制限され、register_globals 自体が使えなくなった。 以前から、$_GET[] , $_POST[] を使わない様に使うようにしていたし、 問題なく移行が終わると思ってたけど、 家庭内コンテンツフィルタの制限解除の プログラムが動かなくなった。
プログラム本体は移行済みだったけど、不用意にアクセスをされないようにするための、 携帯のみのアクセス制限で、$HTTP_X_UP_SUBNO を使ったコードが残ってた。 ということで、$_SERVER['HTTP_X_UP_SUBNO'] に修正する。
modemmanagerがシリアルポートをキープしてた
先日自作したLEDバッジの表示機能、メッセージ表示用にメール文面を 表示するように設定していたけど、なぜか動かなくなった。 職場での行先表示板としているメッセージ表示プログラムは動いているので、 意味不明だった。 ボチボチ原因究明とほっておいたけど、最近カーネル再起動とかかけてたら、 modem-managerなるデーモンが動いてるみたい。 今更ながら、モデムなど使っていないが、着信用のpppあたりのパッケージの更新に伴って、 インストールしてしまったみたい。
んで、これがLEDバッジ表示プログラムのシリアルポートをつかんでいるのが原因みたい。 vgetty+pppあたりの着信も使ってないし、あっさり"aptitude remove modemmanager"する。 試しに、メッセージ表示機能を動かしてみたら、案の定普通に動き出す。
サーバのブートトラブル
自宅サーバのMRTGで、温度観測している usbrh が動いていないことが判明。 数日前にカーネルのバージョンが上がったのが原因だろう…ということで、 カーネルモジュールを入れなおす。しかし、うまく動いてくれない。 仕方ないので、カーネルのバージョンを落とすが、GRUB2 が入っていたため、 最新の linux-image-2.6.32-5-686 しかメニューに出てこない。
で、linux-image-2.6.30-*-686 に落とそうとするけど、GRUB2 のメニューにも出ないし、 "aptitude install grub-legacy"により、GRUB に戻そうとした。 これが不幸の始まり。
どうもGRUB2→GRUBに失敗していたようで、職場よりrebootさせたら、サーバが立ち上がらない。 自宅に帰ってブートの設定を直そうと、netinstall CD の rescue 機能で修復を試す。 でも、最近の rescue CD だと、ちょい昔の "rescue boot=/dev/hdc root=/dev/hda1" で起動しようとしても動いてくれず、冷や汗たらたら。 ようやく、最近のstableのCDに作り直して GRUB の入れ直しで、ようやく復旧。 はあ、手間取った~。
途中で、あまりにもブートしないので、頭に"再インストール"がよぎる。 Debian は、バージョンアップの整合性が高いのが利点だけど、 さすがに /etc/* に、過去の設定が残っていて警告メッセージもチラホラ出ている。 それに X11 を起動したときの遅さはイライラ。 次世代サーバをそろそろ準備しようかな…
tgifからinkscapeに乗り換え
歯みがきロボコンの資料作りで、今までは慣れたtgifを使って作業をしていた。 tgifは、機能が程良いくらいに『機能不足』なので、操作方法も単純でずっと愛用していた。 しかしながら、新しいunix環境などで次第に漢字フォントの取り扱いがダメになって、 いちいち設定を触るのが面倒になってきた。 そこで、レイヤーなどの機能も豊富なinkscapeに乗り換えてみた。
inkscapeは、unix,windows,macと幅広く使えるので、どの環境でも作業ができそう。 と切り替えたのはいいけど、円弧やら矢印やら操作方法に慣れない。 まあ、それでも歯みがきロボコンの図面を書いていたら、それなりに機能は解ってきたかな。
ps3mediaserverインストールメモ
PS3のためのDLNAサーバソフトのps3mediaserverをインストールする実験。 そのくせPS3はまだ無い。動かすのが簡単だったら、PS3購入にふみきっちゃう!?
$ wget http://ps3mediaserver.googlecode.com/files/pms-generic-linux-unix-1.20.409-BETA.tgz (( READMEを参考に必要なものを入れる )) $ su # aptitude install mplayer mencoder ffmpeg (( 適当な所にインストール )) # cd /usr/local/etc # tar zxvf pms-generic-linux-unix-1.20.409-BETA.tgz # ln -sf pms-linux-1.20.409 ps3mediaserver (( 試しに動かしてみる )) # cd /usr/local/etc/ps3mediaserver # ./PMS.sh : [main] TRACE 00:31:15.577 Exception in thread "main" java.lang.NoSuchMethodError: method java.net.NetworkInterface.isLoopback with signature ()Z was not found. (( うーん、とまっちゃったか... ))
動かないのが、javaのバージョンの可能性が高いので、確かめてみると、 gcj-4.4-jre-headless(gij-4.4) と sun-java6-jre の違いの可能性がある。 そこで、以下のコマンドで sun-java6-jre を選んでやったら、動き出してくれた。
# aptitude install sun-java6-bin sun-java6-jre # update-alternatives --config java
netatalkを使ってTimeMachine代り
職場のMacBook用に導入したTimeMachineが、容量不足なのか全体バックアップが できなくなってきた。調べてみるとLinuxサーバでnetatalkを使えば、 TimeMachine互換機能も増えて、簡単にバックアップができる。 以前に導入を試したけど、一部設定が足らなくってうまく動かなかった。 しかし、なんとか使えるようになったので、 職場で試すためにも、設定をメモ。
(( /etc/netatalk/AppleVolumes.default )) :DEFAULT: maccharset:MAC_JAPANESE volcharset:EUC-JP ¥ options:usedots,upriv cnidscheme:dbd ~/ "AppleHome" /PATH/MacOS "AppleBackup" options:usedots,upriv,tm allow:@home (( netatalk再起動 )) # /etc/init.d/netatalk restart
ポイントは、options:tm の設定でTimeMachine対応となってくれる。 この辺までは、簡単に見つかった。
Mac側からの問い合わせに、サーバのサービス情報を答えるための設定として、 以下のようなものを追加した。参考
(( /etc/avahi/services/afpd.service )) <?xml version="1.0" standalone='no'?><!--*-nxml-*--> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h_mac</name> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> </service-group> (( /etc/avahi/services/adisk.service )) <?xml version="1.0" standalone='no'?><!--*-nxml-*--> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">%h_mac</name> <service> <type>_adisk._tcp</type> <port>9</port> <txt-record>dk0=adVN=AppleHome,adVF=0x01</text-record> <txt-record>dk1=adVN=AppleBackup,adVF=0x81</text-record> </service> </service-group> (( avahi-daemon を再起動 )) # /etc/init.d/avahi-daemon restart
adisk.service の登録をすれば、自動的にドライブが見えるようになる。 特に、TimeMachine 対応ドライブには、adVF=0x81 を指定しておくと、 TimeMachine 設定のバックアップドライブの検索で、自動的に見つけてくれる。
職場だと、バックアップ用 NAS に Buffalo の TeraStation を使っているけど、 TimeMachine非対応のバージョンなので、 Linux 側からNASを smbfs でマウントして、その領域をnetatalkで…という方法であれば、面倒だけれど バックアップが取れるようになるかな…
今日はPC厄日かよ…
今日は、PC関連で厄日だった。 先週末に職場PCがウィルスチェックの最中、不安定な状態になり、そのままウィルス検索かけて帰った。 んで、今日は朝一に40部印刷と思いきや、その不安定さがそのまま。 印刷しようにもPDFビューアが印刷してくれない。 あきらめて別PCでようやく印刷結果引き渡しの1分前に印刷完了。
あまりの不安定さにブチ切れて、Windows XP(SP3)を捨て、別のサーバ用に買ったマシン(既にDebian化で稼働中)の 未使用のServer2008(R2)-x64 をインストール。 重要データは、NASに入っているから安心してOS入れ替えと思ったけど、 ドライバが見つからず一苦労。 それに、Server2008は、あたりまえかもしれないが、デフォルトだとセキュリティがガチガチだし、 デスクトップテーマが堅過ぎ。 それでも何とか、環境が整ってきた。
そのServer2008のセッティング中、自宅メールサーバの設定に失敗する。 すると、サーバ稼働チェックのnagiosがうまく動いていない。 いろいろ試行錯誤をしても、なんか動きが変だと思っていたら、 /root の容量が 100% となっていた。 失敗の原因は、外付けHDDへのバックアップ処理の問題。 非マウント状態のチェックが記述してなかったので、 /root にバックアップをとっていた。 video,audio,photo…巨大なデータをごっそりバックアップしてるんだから、 容量が余るはずがない。
ということで、今日はPC仕事全部が厄日って気分。
厄日は続くよどこまでも
今日は、自分の部屋の古いDebianマシンの、private空間用のネットワークインタフェースカードが不調みたい。パケットがとぎれとぎれ…あまりにも不安定で、PC側もOS変更をしたりと、 原因要素が多すぎで究明に時間がかかる… なんでここまで悪いことが重なるの…
/etc/fstabがUUID化しちゃった
定例のDebianのaptitude updateをしていたら、linux-base の更新によって、 『/etc/fstab,/etc/mtabなどのディスク識別に、UUIDを使うようにするけど、いい?』 といったメッセージが表示される。 いまだに使っている/dev/hda1 とかの古いIDEデバイス名が、 /dev/sda1といったSCSI系デバイス名に強制されるのかと思った。 『rebootしたあとは管理じぶんでやれよ』みたいなメッセージもでてたし、 サーバの管理は手抜き主義に流れてるし、『えーい、Debian様、管理お願い』的に、 アップデートを許可した。
すると、デバイス名にUUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxx といった物が割り振られると メッセージが出てきて、最終的に /dev/fstab が、以下のようになっちゃった。
proc /proc proc defaults 0 0 # /dev/hda1 / ext3 defaults,errors=remount-ro 0 1 UUID=774a45f5-fbd7-4a6f-a889-9f3e1c49699d / ext3 defaults,errors=remount-ro 0 1 # /dev/hda5 /home ext3 defaults 0 2 UUID=30a1ed9b-4df4-4f5c-a893-c990ccc07912 /home ext3 defaults 0 2 # /dev/hda6 none swap sw 0 0 UUID=8388ace1-b50b-495a-988e-b667d659db84 none swap sw 0 0
かろうじて、コメントを残してくれているから、メンテナンスできるけど、 ここまでくると、『素人は触るんじゃねぇ』ってことかな…



