検証のため、Windows XP を NFS サーバとして使いたくて、Windows Services for UNIX でもインストールしようかと思っていたところ、Cygwin でさくっとできました。
$ nfs-server-config Do you want to continue? (yes/no) yes Do you want to run nfsd under a separate user account? (yes/no) no $ vi /etc/hosts.allow portmap: ALL mountd: ALL $ mkdir /exports $ vi /etc/exports /exports (rw,no_root_squash) $ cygrunsrv -S portmap $ cygrunsrv -S nfsd $ cygrunsrv -S mountd $ cygrunsrv -Q portmap Service : portmap Display name : Cygwin portmap Description : Cygwin RPC Port Mapping service Current State : Running Controls Accepted : Stop Command : /usr/sbin/portmap -F $ cygrunsrv -Q mountd Service : mountd Display name : Cygwin mountd Description : Cygwin NFS Mount service Current State : Running Controls Accepted : Stop Command : /usr/sbin/rpc.mountd -F $ cygrunsrv -Q nfsd Service : nfsd Display name : Cygwin nfsd Description : Cygwin Network File System (NFS) service Current State : Running Controls Accepted : Stop Command : /usr/sbin/rpc.nfsd -F -u 1007
設定完了。
VMware上の Llinux (OEL5.5) からマウントする。
# mkdir /mnt/nfs # mount -t nfs 192.168.18.1:/exports /mnt/nfs
ファイルを作ってみる。
# cd /mnt/nfs # touch a
$ ls /exports
a
ファイルができている。これはお手軽ですね。
参考
追記(2010/12/26):
- サービスを停止するコマンド。
bash-3.2$ cygrunsrv -E mountd bash-3.2$ cygrunsrv -E nfsd bash-3.2$ cygrunsrv -E portmap
- サービスを削除するコマンド。
bash-3.2$ cygrunsrv -R portmap bash-3.2$ cygrunsrv -R nfsd bash-3.2$ cygrunsrv -R mountd
- サービス削除後に状態を確認するとこんな具合です。
bash-3.2$ cygrunsrv -Q portmap cygrunsrv: Error querying a service: OpenService: Win32 error 1060: 指定されたサービスはインストールされたサービスとして存在しません。 bash-3.2$ cygrunsrv -R mountd cygrunsrv: Error removing a service: OpenService: Win32 error 1060: 指定されたサービスはインストールされたサービスとして存在しません。 bash-3.2$ cygrunsrv -Q nfsd cygrunsrv: Error querying a service: OpenService: Win32 error 1060: 指定されたサービスはインストールされたサービスとして存在しません。