私が陥ったLinuxの落とし穴

《samba と netatalk》

 私のパソコン環境はWindowsとMacintoshが混在している為、ファイルの共有などで苦労していました。LANを構築する前はMOでやり取りしていましたが、同時に立ち上げている場合はともかく、受け渡しに時間差がある場合にファイルを消失したりして大変でした。そこでファイルサーバーとしてLinuxを立ち上げることにしたのですが、素人ゆえにはまった落とし穴が幾つかありました。その中でも代表的なのが

というものでした。他の方にとっては「何だ」で済む話かもしれませんが、タコ以下の私にとっては悲しいかな大問題であったわけです(^^; その後『継の間』に載せてあるFAQやMLのアーカイブを検索して何とか対策がとれました。

まず一つ目の問題点ですが、結論としては「パスワードの問題は十中八九shadow password絡みである」に尽きます。対策としては「linux側を修正してmakeする」「クライアントのOS側で対応する」ことになります。私は横着者で楽をしようとしたので、クライアントの多いnetatalkではlinux側でshadow化(netatalk-1.3.3の場合はafpdのauth.cを対策済みに入れ替えて、Makefileに-DSHADOW_PASSWORDを追加)して、1台しかないWin98ではWin側でshadowを外しました(CDにそれ用の.infが入っている)。あれ?統一されてないぞ、ヤバいな(^^; 今度全部shadow化しておこっと。(と思っていても人間楽したいんで、再インストール時も状況は変わらなかったりするんだな)

次に二つ目の問題点ですが、これは.LZHなどのアーカイブやMIDIファイルなどがMac->linuxにコピーすると壊れるというもので、コピーの際にはエラーが出ないのが難点でした。こちらの原因は「クソ真面目なファイルコンバーター」でした。MacとWin、そしてUnix上ではテキストファイルの改行のコード割当が異なっているというのはご存知だと思いますが、netatalkはコピーの際に「テキストファイルらしきものの改行コードを変換」してくれるのです。そうです、この「らしき」というのが問題で、変換する必要のないものまで変換した結果がファイルの破壊になったわけです。対策としては「ファイルの拡張子の定義をちゃんとやっておく(AppleVolume.systemに記述)」「afpdのMakefileで-DCRLFオプションを外す」することです。一々定義するのも面倒だし、改行コードの違いも最近はアプリ側で吸収できるので、私は後者の対策を施しました。

う〜む、書いている自分が情けない程のタコさ加減だな(^^; これでは参考になるどころの話ではないでしょうが、まぁ笑い話程度にはなるでしょう。

《追加(98/11)》 Slackwareの3.5Jを購入してシステムを再構築したら、netatalkもsambaもシステムと同時にインストールできるんですね。でも捻くれ者の私は後から別途ソースから入れましたけどヾ(^o^;ぉぃぉぃ
《追加(99/2)》 netatalk-1.4b2およびsamba-1.9.18p10を入れて,全てshadow password化してしまう。netatalkの方のポイントは例のよって「afpdのMakefileで-DCRLFオプションを外す」のと,「-DSHADOWPWを入れる」こと。それと2つのパッチ(afpd-bfree.diff&afpd-macos8.diff)を忘れないことですね。sambaの方は特別にすることもないですが,クライアントによってmksmbpasswd.shで暗号化パスワードを作ってやるのを忘れないことです。でも,やっと落ち着いたと思ったら世間では安定カーネルが2.2へ移行していたんですね...(;_;)
《追加(99/10)》 さらに『桜』が導入されたので各種サーバ役を『桜』に任せることにする。samba&netatalkもあっさりインストールできて、さぁ『アスカ』からファイルを転送しようとしたらフリーズ。調べてみるとMacOSが8.5以上だと書き込み時にフリーズするようだ。Webで検索してみると幾つかのMLのアーカイブで同様の症状を見つけるが、何れも解決策は見つかっていない。読み込み時は8.5でも8.6でも問題ないので、仕方がなく『アスカ』を8.1に戻す。ちなみに現在使用しているのは"netatalk-1.4b2+asun2.1.3-6.i386.rpm"。
《追加(2000/1)》 上記のnetatalk問題ですが、あっさり解決しました。原因はNortonAntiVirusのAutoProtect機能で、これをオフにするとMacOSが8.5以上でも問題が起きませんでした。実はNAVのFAQにAppletalk使用時の問題として似たような事例が載っていたのに最近気付きました(^_^;
《追加(2000/3)》 netatalkとsambaを共存させる上での注意点は文字コードを"CAP"に指定するだけだと思っていたらさにあらず(^^; Macintoshのファイルシステムでの不可視ファイルをWindowsでも見えなくするために、例えば"veto files=/.AppleDesktop/Network Trash Folder/.AppleDouble/"とする事でオッケーらしい。ただし"delete veto files"をtrueにしておくのを忘れるとWindows側から不可視ファイルを含むフォルダの削除ができなくなるので注意。 ちなみに現在の壁はNFSにおけるユーザID(uid)とグループID(gid)の管理。普通クライアントのrootがサーバに繋がろうとするとuid,gidともにnobodyに置き換えられてしまいます(root_squashオプション)。そこでマッピングによる置き換えをしようとデーモンrpc.ugiddを起動させようとしたら・・・あれ?ないぞ(^_^; 探すよりも動かす方が大事だったのでとりあえず明示的にnobodyにgidを割り当てるanongidオプションでアクセスできるようにしているんですが、イマイチ格好良くない。早いとこrpc.ugiddを載せないと!(ちなみにNISの実装は家訓により禁じられていますヾ(^o^;ぉぃぉぃ

《kernel2.2.xへの移行》

《追加(99/7)》 ようやくこういうありがたいページのおかげでLinux kernelを2.2.10に移行する。カーネル再構築の際の"make zlilo"でエラーを喰らうがメッセージを良く読んで"make bzlilo"で解決。一時はTurboLinuxに浮気しかけて...というか、買ってきてインストールしたんですが、何処に何が入っているのかよくわからん状況に耐えられませんでした(^_^; 

《IP Masquerade》

《追加(99/9)》 とりあえずLinuxマシンが『命』と『茜』の2台に増えたので、『命』をファイルサーバーに加えてダイアルアップサーバーのお仕事もさせてみることにする。幸いVineLinuxには関係するものが標準でインストールされているので設定だけすればいいのが大助かり。ただし私が陥った落とし穴が2つ、『/etc/sysconfig/networkの「FORWARD_IPV4=false」の「false」を「true」に書き換える』(VineLinuxではどうやら「true」となっているのがdefaultのようなのでVineLinux関係のWebでは書き換えることを書いていないみたいです)ことと『クライアントにWindowsマシンを使うときは「ブラウズマスタ」を「無効」にする』(1台だけこれを「自動」にしていたら15分おきにダイアルアップしてくれました)ことでした。

《ntpサーバー》

《追加(2000/4)》 Windows環境にATi All-in-Wonder128をいれたおかげでデジタルVTRが出来るようになり、予約録画の使用上必然的に時計の正確さが求められました。そこで見つけたのがこのページ。ラジオの時報の音で時計を補正するというもので、早速『桜』に導入しました。あとntpサーバーの設定や各種OSでのクライアントの紹介などもあって、その辺も非常に楽に導入することができました。ちょっとクライアントについて補足すると...

《Alphaマザー》

《追加(2000/5)》 DECのEB164というAlphaマザー一式をジャンクで入手し、『まほろ』として起動。手元にあったKondara MNU/Linux 1.1のAlpha版を苦労してインストールしたが...rtl8139チップを搭載したNICを使っていると、認識は正常にも関わらず、NFS経由である程度のアクセスを起こさせると"Oversized ethernet flame~"というエラーを返して、最悪の場合フリーズしてしまう。ドライバーの開発元であるここで情報を集めると、手っ取り早い解決法はNICの変更らしい(;_;) その後、VIAチップ搭載NICならvia-rhineでオッケーだろうとLaneedのLD-10/100ALを買ったら全く認識せず敗北したりしたので、結局“腐ってもDECチップ”ということでAcctonのEN1207C-TXを購入し無事ネットワークを構築。

《フレッツISDN接続における認証の問題》

《追加(2001/5)》 PPXPによるフレッツISDNへの接続で、普通のISDNには繋がるのにフレッツには繋がらない(認証時に蹴られる)という現象に遭遇。PPXPのページにも幾つか報告があり、パッチが配布されていたのであててみるも改善せず。ただしパッチ済みのソースを配布されていた方がいたので、それを落としてmake&installすると見事に解消。

《その他》

《追加(99/8)》 何気ない軽い気持ちでVineLinux CR1.1を買ってくる・・・おぉ何とインストールが楽なんだろう。TurboLinuxでハマってしまっていたX window systemの構築も楽勝、というかテストでOKなのに実際に起動するとフリーズするTurbolinuxが変なんだよなぁ。さらにVineLinuxでちょっとだけ嬉しかったことは私の使用しているモニタ(Nanao 53T)が選択肢に入っていたことかな。

[Home] [Back]