1FD でファイルサーバー



■ 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 トンネルが使えればセキュアでいーなーとか思います。フィルタリングもできるので非武装地帯にも出せますしねー。急成長しているので、今後が楽しみです。とんでもない使い方ができそう。



トップページ