トップ «前の日記(2006-07-11(Tue)) 最新 次の日記(2006-07-13(Thu))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2006-07-12(Wed) さっさと寝ろ

例えば

外向けのftpサーバと内向けのcvsupサーバ、それにbittorrentやってたら、

$ netstat -f inet
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp4    1138      0  ma56.55788             cvsup-tk.sakura..cvsup ESTABLISHED
tcp4       0      0  ftp.ssh                cel2g.1434             ESTABLISHED
tcp4       0  33273  cvsup.58095            cm207.cavy7.catv.46890 ESTABLISHED
tcp4       0  33067  ma56.61272             ZK149066.ppp.dio.6881  ESTABLISHED
udp4       0      0  localhost.ntp          *.*                    
udp4       0      0  ftp.ntp                *.*  

Aレコードに複数登録したせいか、自分自身(IPはひとつだけ)が複数の名前になっている。
他にLANのメールサーバからメールを受けたり、DNSサーバに問い合わせしたりしている 筈だけど、ここには出てなかった。

軽率、そして冷汗

ネームサーバにリモートログインして、namedのゾーンファイル(正逆とも)を更新。 シリアルナンバーに+1を加え、既に止まってるホストのレコードを消したが、 うっかり 行頭に"#"してしまった。

namedを再起動し(named.confはいじってないので、kill -HUPで足りた筈)、 ろくに確認もせずログアウトした途端、作業マシンは ネットから切られてしまった
慌ててIP直打ちで再びログインしようとしたら、サーバのsshdに撥ねられた (TCP Wrappersは、LAN内部では特定のドメイン名以外すべてdenyしていた)。 なぜかこのときに限って、サーバはシリアルコンソールを 無効にしていた(外部からログインした時にkermitを使っていて、 /etc/inittabの設定を戻してなかったらしい)。

やむなく、サーバにPS/2キーボードを 活線接続し(USBキーボードは効かなかった)、 モニタにもつないでログイン。ゾーンファイルの"#"を";"に書き換えて namedを再起動。接続を回復して、安堵。

シリアルコンソールも有効に しておく。PS/2キーボードは抜く気になれなかった。

改めてサーバのログを確認。/var/log/syslogに、namedのゾーンファイルが 変だという警告と、sshの接続要求をrefuseした記録とが くろぐろと残っていた。

WebminでのCD焼き

Sargeにwebmin-burnパッケージがあったのでapt-getする。
しかし、そのままでは動作しなかった。

webインターフェースを通して実際に動くのはmkisofs(8)と cdrecord(1)コマンドだった。半ば予想した通り、ATAPIを サポートしていない(dev=devicename:scsibus,target,lun になっていない)。適当に追記してみる。

Sarge:/usr/share/webmin/burner# grep ATAPI * -n
burn.cgi:77:    $cmd = "$config{'cdrecord'} -v \
  dev=ATAPI:$config{'dev'} speed=$config{'speed'}";
burner-lib.pl:55:open(SCAN, "$config{'cdrecord'} \
  -scanbus dev=ATAPI 2>/dev/null |");

ついでに modules.infoにja_JP.eucを一行入れて(/etc/webmin/modules.infos.cache を消さないと有効にならなかった)、lang/ja_JP.euc を作成する。lang/enを コピーして、何行かを適当な日本語にしただけだけど。

試行錯誤の末、どうにか動かなくもない程度の成果を得たが、 まだ終わらない。環境変数LANGをどうやって渡せばいいのか。
ここをなんとかしないと、 日本語ファイルが化けたままCDに焼き付けられてしまう。

つーか、cdrecord(1)の現バージョンはDVD焼きに難があったんじゃ?

CDの文字化けようやく

端末のコマンドと比べながら webminのオプションをいじる。
-Uスイッチがまずかったらしいが、それを外す(どこを操作したんだっけ) だけでは直らない。
スクリプトに手を突っ込んで、mkisofsの実行前にLANGを設定するように してみた。おかげでようやく直った、らしい (ちなみに、これだけでも駄目だった)。

Sarge:/usr/share/webmin/burner# grep LANG * -n
save_profile.cgi:132:           local $cmd = "LANG=ja_JP.eucJP".\
" "."$config{'mkisofs'} -graft-points -o $iso";

cdrecord(1)の、"-graft-points"オプションは 内蔵の日本語マニュアルには載ってなかった。 新し目のマニュアルに大いに助けられた。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。