NFS マウントでもしてみるかっ!!(^^)V
 二台の PC を持っていて、ネットワークが構築されているならなんと言ってもファイル共有っ!! これが両方とも FreeBSD(PC-UNIX)ならなおの事ですね;-)。と、言う事で NFS の設定をしてみましょう。一応、私の環境は以下の様になっています。マシンが二台無い事には始まりませんしね(^^)。

                            +-----+
                 +----------+ HUB +----------+
                 |          +-----+          |
            +----+----+                 +----+----+
            | FreeBSD |                 | FreeBSD |
            +---------+                 +---------+
            192.168.1.1                 192.168.1.2
            HostName:buchi              HostName:pochi

・192.168.1.1
 Host buchi は HDD が 540MB しか無いが一応我が家では PPP サーバです。FreeBSD(98)2.2.2-RELEASE PAO が動いています。
・192.168.1.2
 Host pochi は HDD が 2.4GB と言う膨大な量を持っており、インストールソース、ftpデータ等を持っています。

 buchi では HDD が無いのでインストールしたソースを持つ事が出来ません。なので NFS してソースディレクトリがマウント出来ればらくちん。後、CD-ROM も無いので CD-ROM もマウントしたいぃぃっ!! ってなぐあいに思います。

 では、NFS の設定です。一番簡単なのは、それぞれのマシンのインストール時に NFS サーバ/クライアントの設定を済ましてしまう。と、言う手が望ましいでしょう。それが出来なかった人は、/stand/sysinstall を起動した方がらくちんです。

NFS サーバ側(私の環境の場合 FreeBSD 2.2.5-RELEASE)
 では、まずサーバ側の設定から見ていきましょう。まず、/stand/sysinstall を起動して、

「c 設定」→「6 ネットワーク」→[ ] N NFS サーバ

に、"X" を付ければ良いです。すると /etc/rc.conf は以下の行の様になると思います。

----------------
nfs_client_enable="NO"          # This host is an NFS client (or NO).
nfs_client_flags="-n 4"         # Flags to nfsiod (if enabled).
nfs_server_enable="YES"         # This host is an NFS server (or NO).
nfs_server_flags="-u -t 4"      # Flags to nfsd (if enabled).
mountd_flags="-r"               # Flags to mountd (if NFS server enabled).
nfs_reserved_port_only="NO"     # Provide NFS only on secure port (or NO).
----------------
 これで環境的には完了です。一応マシンをリブートしてみましょう。ps -ax すると以下のプロセスは上がっていますか?
----------------
pochi# ps -ax
   98  ??  Is     0:00.04 mountd -r
  101  ??  Is     0:00.01 nfsd: master (nfsd)
  105  ??  I      0:00.00 nfsd: server (nfsd)
  106  ??  I      0:00.00 nfsd: server (nfsd)
  107  ??  I      0:00.00 nfsd: server (nfsd)
  108  ??  I      0:00.00 nfsd: server (nfsd)
  109  ??  Is     0:00.01 rpc.statd
----------------
 これだけ立ち上がっていれば OK です。一応 デーモンは立ち上がりました。これらはコマンドで起動する場合、以下のコマンドを打ちます。
----------------
#pochi echo -n ' nfsd' ; nfsd -u -t 4
#pochi mountd -r
#pochi mount -t nfs -o -w=1024 buchi:/usr/local/src /usr/local/src
----------------
 rc.conf に設定が正しくされているとこれらは起動時に行われます。

 続いて設定ファイルの作成です。/etc/exports と言うファイルが必要になります。詳細は man exports してください。

----------------
/usr/local/src	-mapall=nobody  buchi
/var/ftp/pub    -mapall=nobody  buchi
/cdrom          -mapall=nobody  buchi
----------------
 ちょっと説明しますと、/usr/local/src と言うディレクトリを nobody 権限で buchi と言うマシンに NFS mount を許すと言う事になります。
 この時、SRC のディレクトリに書き込み権限が無いとパーミッションが無いと怒られます。例えば /usr/local/src の下に tmp と言うディレクトリを作成し、その mode を 777 にして、NFS クライアント側から書き込みした場合、owner が nobody で書き込みされます。

 以上で NFS サーバ側の設定は完了です。続いてクライアント側の設定です。

NFS クライアント側(私の環境の場合 FreeBSD(98)2.2.2-RELEASE)
 クライアント側の設定も /stand/sysinstall で出来ます。

「c 設定」→「6 ネットワーク」→[ ] N NFS クライアント

に、"X" を付ければ良いです。すると /etc/rc.conf は以下の行の様になると思います。

----------------
nfs_client_enable="YES"         # This host is an NFS client (or NO).
nfs_server_enable="NO"          # This host is an NFS server (or NO).
weak_mountd_authentication="NO" # Running PCNFSD / other non-root nfsd (or NO).
nfs_reserved_port_only="NO"     # Provide NFS only on secure port (or NO).
----------------
 これで環境的には完了です。一応マシンをリブートしてみましょう。例の如くプロセスを見てみると、
----------------
buchi# ps -ax
  107  ??  I      0:00.00 nfsiod -n 4
  108  ??  I      0:00.00 nfsiod -n 4
  109  ??  I      0:00.00 nfsiod -n 4
  110  ??  I      0:00.00 nfsiod -n 4
----------------
 と、言うのは立ち上がっていますか?そしたら正解です(^^)。これでサーバと通信して、NFS mount が出来る状態になりました。ふぅぅ。では、以下の様に mount コマンドを叩いてみましょう。
----------------
buchi# mount_nfs pochi:/exports/src    /usr/local/src
buchi# mount_nfs pochi:/var/ftp/pub    /var/ftp/pub
buchi# mount_nfs pochi:/cdrom          /cdrom
----------------
 pochi の /exports/src と言うディレクトリを /usr/local/src に NFS mount します。local なマシンのディレクトリ /usr/local/src は一応、777 にしてあげます。
 CD-ROM の mount は サーバ側で最初に mount しといてあげましょう。その後でクライアント側で NFS mount してあげます。そーすると見える様になります。ふふふ。

 これで一応、NFS も完了しました。 HDD が 540MB しか無いマシンも一応は山程の HDD を手に入れた事になります。よかったーーーっ!!

#なんか、この技がうまく行くと、遅いマシンのカーネルのコンパイルが早いマシン上で出来ると思えるのは気のせいか・・。


Copyright (c) 1997-2004 takachan@running-dog.net All Rights Reserved.