皆さん、こんにちは。
私個人の環境は Vine に移ったことは前に述べました。しかし、仕事上
Windows と関りは持たなければならないので、Windows のファイルをどう Linux
側で扱うかが問題です。
以前は、samba を使うにしても、単純に mount しても、Windows では SJIS、
Linux では EUC なので、いろいろなレベルで文字化けが起こっていました(単
に tar しても保存できなかったりするし)。しかし、最近の Linux 日本語環境
はかなり改善されてきたとみえ、通常の samba, mount ではサーバプログラム側
で文字コードを適当に変換してくれ、文字化けというものにあまり会わなくなっ
てきました(これが最近の Linux が快適の一因ですね)。
さて、問題なのですが、離れたところにある Windows マシン上のファイル
(client)を Vine の入ったローカルマシン(server)の HD の空き領域にシス
テムごとバックアップしようと思いました。これまではシェアウェアの wash と
いうソフトでやっていました。これはなかなか賢く、MS-DOS モード、MS-DOS プ
ロンプトの双方で使え、vfat, ntfs, ext2 などのバックアップができるものな
のですが、残念ながら、今回、Vine の提供する samba 上の共有ディレクトリに
バックアップしようとすると、どうしてもエラーになります(これまでは
server が Windows だったから Ok)。何らかの DOS のシステムコールを使って
いるらしく、samba がそれに十分に答えてくれない……ということらしいです。
ここから苦闘が始まりました。まず、Slackware 系の bootdsk, rootdsk あた
りで、pcmcia カードと nfs か何かをサポートし、なおかつ SJIS の日本語ファ
イル名にも対応しているものがないか、できれば FD の枚数も少ない方がよ
い……、と片っ端から試すこと 10 以上。で、適当なものがなく、見つかったの
が、fdsamba-1.2.new.img です(google でヒットするはず)。これは FD 1 枚
で、かなりの数の pcmcia カード、ネットワークボードに対応し、起動時に
samba サーバとなるだけでなく、nfs, ftp, telnet まで使えてしまう、という
代物です(拡張も割に簡単)。server から
smbtar -v -s client -x mnt1 -d \\hoge
として簡単に \\client\mnt1 にある hoge というディレクトリ以下を文字化け
もなく、tar 化してカレントディレクトリに保存できました。本当にありがたい
世の中になったものです(MBR も保存しないと完全ではないだろうが)。きょう
び、ひょっとしたらもっと賢い方法があるかもしれません。ともあれ、「テキス
ト」の Tips として報告させていただきました。
--
本田博通(閑舎)
テキストとスクリプトの http://rakunet.org/TSNET/