NFS用於Linux主機訪問網絡中其他Linux主機上的共享資源。
NFS的原理是在客戶端上通過網絡將遠程主機共享文件系統以掛載(Mount)的方式加入本機的文件系統,之後的操作就如同在本機上一樣。
NFS服務器(宿主機)
開發板(目標機)
1.安裝NFS
Ubuntu上默認是沒有安裝NFS服務器的,首先要安裝NFS服務程序:
$ sudo apt-get install nfs-kernel-server
2.建立一個nfs服務的專有文件夾
$ mkdir -p /home/linux/nfs_service
3.打開portmap服務
$ service portmap start
報錯:
$ exportfs: Failed to stat /home/linux/nfs_exports: No such file or directory
這是因爲新版本中portmap已經被rpcbind取代,輸入
$ service rpcbind start
就好了。
4.修改/etc/exports文件
在最後加上共享的文件夾路徑
home/linux/nfs_service *(rw,sync,no_root_squash,no_subtree_check)
5.重啓NFS服務:
$ sudo /etc/init.d/nfs-kernel-server restart
6.更新nfs服務:
$ sudo exportfs -a
[exportfs 命令用法]
-a 全部掛載或卸載
-r 重新讀取/etc/exports 中的信息 ,並同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸載單一目錄(和-a一起使用爲卸載所有/etc/exports文件中的目錄)
-v 在屏幕輸出詳細信息
[showmount 命令用法]
-a 顯示已經於客戶端連接上的目錄信息
-e IP或者hostname 顯示此IP地址分享出來的目錄
7.用ifconfig命令查看本機ip地址(192.168.216.188)
8.本地測試,將主機的共享目錄mount到另外一個目錄下:(要在root用戶模式下)
輸入
mount 192.168.216.188:/linux/nfs_service /mnt
報錯:
$ mount.nfs: access denied by server while mounting 192.168.216.188:/linux/nfs_service
**查找原因:**路徑錯誤,應爲/home/linux/nfs_service
輸入mount -t nfs localhost:/home/linux/nfs_service /mnt無誤,開啓nfs共享。修改/home/linux/nfs_service中的文件,可在/mnt中同步察看,反之亦然。
9.設置sysv-rc-conf管理ubuntu server開機啓動服務
安裝服務程序:
$ sudo apt-get install sysv-rc-conf
安裝完成後,直接運行
$ sudo sysv-rc-conf
打開該管理軟件
操作界面十分簡潔,你可以用鼠標點擊,也可以用鍵盤方向鍵定位,用空格鍵選擇, “X”表示開啓該服務。 用Ctrl+N翻下一頁,用Ctrl+P翻上一頁,用Q退出。
在sysv-rc-conf中找到nfs-kernel,用空格鍵選擇。