|
■ FD-Samba ■
Samba というのは UNIX を扱ってる人なら知ってるでしょう。Winユーザーはあんまし知らないだろうけど(Windows のためのものなのにね)。携帯電話を持ってない人が 「ああ、オレ、ケータイなんてなくたって全然不便じゃないからさぁ」 というのと一緒ですな。不便なのはこっちだっつーの(ちなみに私も上の部類)。 その Samba を起動してしまう 1FD ディストリビューションがあるのですね。まったく何ということをするのでしょう。感動を通り越して、呆れてしまうほどですが、しかし、やはり大感謝なのですね。我が家のファイルサーバーの1つはこの[ FD-Samba ]で構築されています。 1FD ディストリビューションについてはもうごたごた書きませんが、ナニそれ?とゆーヒトは、サイト内の関連ページとか読んでみてくださいね。しかし、最近めっきり 1FD Linux のヒトになってしまいましたなー。 さて、FD-Sambaについてはまず[ ここ ]にいきましょう。ダウンロードもできます。2001/12/30 時点の最新バージョンは 1.2 です。1.1 は一部のノートPC で起動できない場合が起こるということですが、その通り我が家の IBM ThinkPad 365X...では起動できませんでした。もちろん 1.2 ならばOKです。1.2 を使いましょう。それからページの記述で、1.2 のところにも一部 2.0.36 というのが出てきますが、1.2 の場合はカーネルのバージョンは 2.0.39 なので読み替えましょう。 さて、当然我が家ではノートPCで使用しています。私はロースペックノート専門家ですからね(卑屈)。現在、ThinkPad 365X 2625-6J7 で動かしていますが、ナニがいいかというと、このマシンは HDD が 810MB しかないのですね。システムをHDDにインストールしてしまうとなんだかんだで 500MB 残るはたったの.....。しかーし! FD-Samba を使えばなんと 810MB がフリースペースとしてまるまる使えるのだー!なんとフリースペース 170% 増だー!ひゃくななじゅーですよ。そこのあなた! え?たったの 810MB じゃファイルサーバーになんないだろうって? ぬぅわんだとーぉぉ!! 170% だぞー!170% なのに!ひゃくななじゅうなのに、うう、う、しくしく...。 しかし、ネットワーク上の荷物一時預かり所、ということで充分すぎるくらい機能しているのでよいのです。もちろん、開発リポジトリどぉーんというわけにはいきませんが、そんなたいそうなファイルサーバー家庭では常時動かせません。私はやはりロースペックノートで突き進むしかないのです。 ◎フロッピー作成 まあ、だいたい先ほど紹介したページに書いてありますが、細かいことを補足しながらなぞってみましょう。 fdsamba-1.2.img を /tmp にでも持ってきましょう。 root になって、イメージをフロッピーに焼きます。フォーマットはFATです。 必要なら # fdformat /dev/fd0h1440 とかしてください。 # cd /tmp # dd if=fdsamba-1.2.img of=/dev/fd0でフロッピーは完成。では設定です。 ◎設定 まず作業するマシンで FD-Samba のフロッピーをマウントします。 # mount -t vfat /dev/fd0 /mnt さて、ウチでは 192.168.3.100 というIPアドレス、sharebox という名前を与え、 PCカードは PCI の FNW 3600-TX を使用しています。 HDD には /dev/hda1 というただ1つのパーティションがあり、それを /share (追加作成)というディレクトリにマウントして公開します。 下記ではその設定。 ◆ network.cfg の中身 IPADDR="192.168.3.100" # REPLACE with YOUR IP address! NETMASK="255.255.255.0" # REPLACE with YOUR netmask! NETWORK="192.168.3.0" # REPLACE with YOUR network address! BROADCAST="192.168.3.255" # REPLACE with YOUR broadcast address HOSTNAME="sharebox" # REPLACE with LIKE PCMCIA=YES # NO or YES ノートPC なんで PCMCIA を使いますから、 PCMCIA=YES です ◆ modules.cfg の中身 insmod loop insmod pcnet_cs insmod 8390 insmod i82365 insmod ds insmod pcmcia_core SCSI はまったく使いません ◆ rc の中身 #!/bin/sh . /etc/NETWORK echo "$IPADDR $HOSTNAME" >> /etc/hosts hostname -S $HOSTNAME uname -a > /etc/motd if test "$PCMCIA" = "YES" then /etc/rc.pcmcia start sleep 5 else . /etc/MODULES /etc/rc.inet fi #mount -t vfat /dev/hda1 /mnt1 #mount -t vfat /dev/hda2 /mnt2 #mount -t vfat /dev/hda5 /mnt5 mount -t vfat /dev/hda1 /share nmbd -D -f /var/run/nmbd.pid smbd -D -f /var/run/smbd.pid echo "-------------------------------------------------------------------" cat /proc/modules echo "-------------------------------------------------------------------" cat /proc/mounts echo "-------------------------------------------------------------------" ifconfig eth0 mount の部分を書き換えただけです。 ◆ ルートファイルシステムの修正 起動時に rootfs.gz が展開されて / 以下のファイルシステムとなりますので 、これを修正することによって、モジュールの組み込みなどを行うことができます。 設定ファイルでできないカスタマイズはこれをいじることで実現することになります。 # cp /mnt/rootfs.gz /tmp # gzip -d /tmp/rootfs.gz rootfs ができますが、これはイメージファイルなので、どっかにマウントしないと さわれません。とりあえずホームの tmp というところにマウントしました。 場所はご自由に。 # mount -o loop /tmp/rootfs ~/tmp # cd ~/tmp # ls FD-Samba の / 以下がここにあります。/share (注: " / "は FD-Samba でいう " / ")を作成。 これは好き好きです。 # mkdir share 次に不要モジュールを削除します。 # cd /lib/modules/2.0.36 block, misc には削除すべきものはありません。 # cd net # ls ls 実行結果 3c509.o 3c59x.o 8390.o at1700.o cs89x0.o eepro.o eepro100.o eexpress.o ne.o rtl8139.o tulip.o がありますが、今回の場合、必要なのは 8390.o だけです。ノートPCしか使わないのなら、 他は絶対に必要ありません。 # find . ! -name 8390.o | xargs rm -f はい次 # cd ../pcmcia # ls ls 実行結果 3c574_cs.o 3c589_cs.o ds.o fmvj18x_cs.o i82365.o pcmcia_core.o pcnet_cs.o tcic.o がありますが、今回の場合、必要なのは i82365.o pcmcia_core.o pcnet_cs.o だけです。 PC の機種によっては i82365.o ではなく、 tcic.o が必要な場合があるので注意してください。 # find . -name "[3dft]*" | xargs rm -f つぎぃー # cd ../scsi 全て削除です。 # rm ./* それでは Samba 自体の設定です。実際に Samba を使ったことがあれば問題ないと思います。 設定はご勝手なので、触れませんが、smb.conf だけ紹介しておきます。以下のようにしました。 [global] workgroup = test encrypt passwords = yes security = share coding system = sjis #mangled names = yes #mangle case = no #case sensitive = no #default case = lower #preserve case = no preserve case = yes #short preserve case = no short preserve case = yes guest account = nobody socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 [root] path = / username = root writable = yes browseable = yes [mnt] path = /mnt username = root writable = yes browseable = yes # ADD [share] path = /share username = root writable = yes browseable = yes では書き戻します。 # umount ~/tmp # gzip -9 /tmp/rootfs 圧縮されて rootfs.gz ができます。 # cp /tmp/rootfs.gz /mnt # umount /mnt 完成。 追加モジュールが必要な場合は modules2039.tgz をダウンロードしてきて、解凍し、 必要なものを所定の場所に入れますが、今回の場合は特に追加するものはないです。パスワードとかセキュリティ関連は各自でよろしくです。 ■ tomsrtbt ■ tomsrtbt について詳しくは別のページに書いています。これはレスキューディスクとして 有名ですが PCMCIA 対応で、しかも nfs サーバーになります。私がこれを見逃すわけがありません。 なんせロースペックノート専門家ですから。 ■ Mosquito ■ ルーター、NATボックスといった使い方をするのが本来ですが、OpenSSH が使えて、sshd を動かせます。 ssl トンネルが使えればセキュアでいーなーとか思います。フィルタリングもできるので非武装地帯にも出せますしねー。急成長しているので、今後が楽しみです。とんでもない使い方ができそう。 |