2006年10月 7日アーカイブ

Todoのうち、TeraStationのバックアップを最初にやってみる。
バックアップ先は、別メーカーのNASのLANDISK。
LANDISKの方も中身はsambaだと思うけど、rootになれないしrsync等は使えない。
となると、TeraStationをsambaのクライアントにするしかない。
まずは、以下のrpmを入れてみた。
  • cyrus-sasl-2.1.18-0vl6.ppc.rpm
  • openldap-2.3.27-0vl2.ppc.rpm
  • samba-client-3.0.23c-0vl2.ppc.rpm
が、samba-client-3.0.23c-0vl2.ppc.rpmにはsmbmountは入っていても、smbclientが入っていない。smbclientを呼び出すsmbtarは入っているんだけど・・・。
しょうがないので、samba-client-2.0.10_ja_1.2-0vl1.ppc.rpmを入れてみたらsmbclientが入っていた。
ためしに、smbclientでlandiskにつないでみると、いろいろ警告は出るもののちゃんと見れる。
日本語のファイル名が化けるのは、smbclientに -t euc オプションをつけることで解決した。
続いて、TeraStationが共有フォルダ内の日本語のファイル名を、ローカルに何コードで保存しているかを見てみると、どうもSJISらしい。
いろいろ試した結果、以下のようなシェルスクリプトでバックアップを実施することにした。
#!/bin/sh
cd /mnt/array1/disk
tar cf - photo | smbclient //landisk/disk -N -Tx -
tar cf - data | smbclient //landisk/disk -N -Tx -
tar cf - music | smbclient //landisk/disk -N -Tx -
上の例だと、photoとdataとmusicをバックアップする。別に1回の実行でやっても良いんだけど、それぞれの時間を計りたかったので分けた。
本来は、差分バックアップにしたいのだけれど、smbclientだけでは難しそうなので当面はフルバックアップで我慢する。後は、実行時間を見て、dailyにするかweeklyにするか検討しよう。

cactiのグラフにTeraStationも追加したいな~と思い、snmpdを動かしてみようと思う。
以下のrpmを寄せ集めてみた。
  • net-snmp-5.2.1.2-0vl3.ppc.rpm
  • rpm-libs-4.4.2-0vl15.ppc.rpm
  • beecrypt-4.1.2-9vl3.ppc.rpm
  • neon-0.25.5-0vl2.ppc.rpm
  • sqlite3-3.3.6-0vl3.ppc.rpm
  • expat-1.95.8-0vl5.ppc.rpm
しかし、expat-1.95.8-0vl5.ppc.rpmの中には、soの実体が入っていなくて、断念。.aが入っているので、無理やり自前でsoを作ってしまうと言うのもありかな?

と、言うことで、以下のコマンドラインで libexpat.so.0 を作成。
$ gcc -shared -o libexpat.so.0 libexpat.a
これで、snmpdを起動しようとすると、今度は
# /etc/init.d/snmpd start
Starting snmpd: /usr/sbin/snmpd: /lib/libc.so.6: version `GLIBC_2.3.4' not found (required by /usr/lib/librpm-4.4.so)
/usr/sbin/snmpd: /lib/libpthread.so.0: version `GLIBC_2.3.4' not found (required by /usr/lib/librpmio-4.4.so)
/usr/sbin/snmpd: /lib/libc.so.6: version `GLIBC_2.3.4' not found (required by /usr/lib/librpmio-4.4.so)
/usr/sbin/snmpd: /lib/libc.so.6: version `GLIBC_2.3.4' not found (required by /usr/lib/librpmdb-4.4.so)
                                                           [FAILED]
なんて言われる。glibc-2.3.4-2vl3.ppc.rpmを持ってきて、/lib/libc.so.6 を・・・。
はい、やっちゃいました。
libc.so.6 が見えなくなった瞬間から、すべてのコマンドが実行できなくなりました。
きゃーーーーーー、ここまでやって初期化ですか?と言うか、データ消さずに初期化できるんでしょーか?うぎゃーーーー。
焦って傷を広げないように、今日はここまでにしておこう。

とか言いながら、復旧しました。
rootのbashはログアウトしないで残していたので、以下の手順で復旧しました。
# export LD_PRELOAD=/lib/libc-2.3.2.so
# ln -s /lib/libc-2.3.2.so /lib/libc.so.6
# LD_PRELOAD=
は~、焦った焦った。今回は、傷が広がる前に対策を思いついて良かったですが、焦ってリカバリーでもしてたらどうなっていたことか・・・。
2006年10月
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        

このアーカイブについて

このページには、2006年10月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2006年10月 6日です。

次のアーカイブは2006年10月 8日です。

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

Powered by Movable Type 6.1.1