Linuxの最近のブログ記事

PHPのバージョンアップに伴い、register_globals がデフォルトoffから、 さらに利用が制限され、register_globals 自体が使えなくなった。 以前から、$_GET[] , $_POST[] を使わない様に使うようにしていたし、 問題なく移行が終わると思ってたけど、 家庭内コンテンツフィルタの制限解除の プログラムが動かなくなった。

プログラム本体は移行済みだったけど、不用意にアクセスをされないようにするための、 携帯のみのアクセス制限で、$HTTP_X_UP_SUBNO を使ったコードが残ってた。 ということで、$_SERVER['HTTP_X_UP_SUBNO'] に修正する。

先日自作した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 を起動したときの遅さはイライラ。 次世代サーバをそろそろ準備しようかな...

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

職場の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で...という方法であれば、面倒だけれど バックアップが取れるようになるかな...

定例の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

かろうじて、コメントを残してくれているから、メンテナンスできるけど、 ここまでくると、『素人は触るんじゃねぇ』ってことかな...

居間に置くような小型サーバを作れないかと、色々と暇つぶし物色中。

ファイルサーバと割り切って、かつ汎用性のあるものとなると、玄箱+500GB:HDDで約2万か。さすがに、OpenBlocks とか玄柴はディスク容量とかの汎用性が無いか... モニターなども付けるの大変だし、サーバ&PCという使い方だと避けたいかな。

CPUもi386系の物であれば、ディスク容量的に増設やらは難しいけど、 外観的にも Endeavor NP11 あたりであれば、OSを載せ替えれば、いいかな。出力=VGA。

mouse computer であれば、LUV MACHINES(Lm-mini 20)の OSなしで、27,510円か...出力=DVI。 ディスク容量がちょっと少なめとは思うが...HDD=500GBで、35,000円ほど。といっても、HDレコーダのある居間でHDD容量はそんなに必要ないか。 

キューブ型なら、Windows が付かない物も探せるし、 VSPECあたりで、V-CUBE/AtomD510-ISK300 であれば、拡張性もそれなりか(38,800円)。出力がVGAか。 

キューブまで広げれば、普通にDELLのVistro(TM) 230のスリムタワー

お、クレバリーのExpress-PC mini LPi [EMLi-10D]、OS無しが選べて(24,800円)それなりの拡張性が 残っているな、DVDマルチ、Mem=1GB,HDD=320GB,シャドウベイ(スリム5インチ、2.5インチ)もある。容量はたいしたことないけど、電源も本体内だし。 出力がVGAなので、今後居間にHDMI,DVIなりのテレビにする可能性を考えると、 DVI出力のもう1つ上のランクのStandard mini ENi[SMEi-10E] 39,800円の方が いいか。しかし、OS無しモデルが無い。 これならば、DELLのVistro(TM)230,NVIDIA GeForce G310(DVI)で、38,380円の方が 拡張性も高いし、マシ。

以前にマルツ電波で購入していたLEDスクロールバッジ(12X38URL-R2)だけど、 Linuxから表示できるようにしてみた。 漢字対応のものが見つからなかったので、作ってみた。 制御データのプロトコルが判らなかったけど、 シリアルデータのキャプチャを使って送信データを解析した。

同様の製品で赤外線で設定というものがあり、 このことからこのテの製品の多くは単方向通信となっている様子。 漢字フォントは、PerlのGDモジュールを使って画像を生成し、 ビットマップを取得している。


メールでメッセージを表示

子供にメールを送っても、メール環境立ち上げるわけでもないから、 このバッジにメールで文章を表示できるようにしてみた。

(( $HOME/.qmail-XXXXXX ))
| preline /usr/bin/procmail .procmailrc-XXXXXX

(( $HOME/.procmailrc-XXXXXX ))
:0fw: eabadge.lock
* 9876543210^0 ^From:.*じぶんのめーるあどれすその1
* 9876543210^0 ^From:.*じぶんのめーるあどれすその2
| /usr/bin/nkf -e -m | /usr/bin/formail -k -x Subject
      | /usr/bin/head -8 | /usr/bin/head -c 256
      | /usr/local/bin/eabadge.pl

最近、ママパソのWiFiがうまく繋がらなかったり(WiFiカードの方の問題とも思えるが)するので、 なにげにルータ(WZR-HP-G300NH)のファームをチェックすると、 ベータバージョンのWZR-HP-G300NH Ver.1.74 (R2.06/B1.02)が使えるみたい だったので、更新作業を行う。

何が良くなったのか、分からない所もあるけど、ナニゲにエラーメールが出始める。 MRTG のエラーを出力が原因。調べてみると、ファーム更新で以前のパケット流量観測の プログラムが正しくパケット量を取得できないみたい。 ルータの出力するHTMLソースが微妙に変化し、sed のパターンマッチができない。 変更後のスクリプトは、以下の通り。

(( /etc/snmp/airstation.sh ))
#!/bin/bash

/usr/bin/w3m -dump_source -no-proxy \
        'http://root:PASSWORD@192.168.11.1/cgi-bin/cgi?req=frm&frm=packet.html' 2>&1 \
| /bin/sed -n '/class=&quot;DIGIT&quot;/ s/^.*&quot;&gt;\([0-9]*\)&lt;.*$/\1/ p'

/usr/bin/w3m -dump_source -no-proxy \
        'http://root:PASSWORD@192.168.11.1/cgi-bin/cgi?req=twz&frm=logout.html' >/dev/null 2>&1

日記を書こうとすると、以下のようなエラーでMovableTypeが動かない。 エラー時の定番で、メッセージそのままでググると、ヒット。 でも自宅サーバのエラーメッセージがGoogleにそのままクローリングされた、そのまんまじゃん。

install_driver(SQLite) failed:
Attempt to reload DBD/SQLite.pm aborted.
Compilation failed in require

昨日に aptitude upgrade をかけた影響っぽい。"dpkg -S SQLite.pm"を実行すると、 movabletype-opensourceと、libdbd-sqlite3-perl の2つの中に含まれている。 "DBD/SQLite.pm"が含まれているし、同名の微妙な違いのパッケージの競合かと思い、 "aptitude remove libdbd-sqlite3-perl"すると、さらに状況悪化。 libdbd-sqlite3-perl_1.29-1_i386.deb ⇒ libdbd-sqlite3-perl_1.29-1+b1_i386.deb のアップデートの影響。 testing で入れているから、多少は仕方がないか... やむ終えないので、"aptitude install libdbd-sqlite3-perl/stable"にて、1.14 にダウングレード。

2010年8月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

アーカイブ

フレンド・リンク

Powered by Movable Type 4.34-en

このアーカイブについて

このページには、過去に書かれたブログ記事のうちLinuxカテゴリに属しているものが含まれています。

前のカテゴリはDebianです。

次のカテゴリはMacです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて