1 nfs 能做什麼?
在嵌入式 linux 開發中,需要在 linux 主機為目標機編寫程式**,然後編譯程式,生
成的程式是要傳輸到目標機上才能除錯、執行。那麼如何更快、更便捷地傳輸檔案,將影響
到開發工作的效率。nfs 無疑是最好的選擇。通過 nfs 服務,主機將使用者指定的目錄通過
網路共享給目標機(和 windows 的檔案網路共享類似)。目標機可以直接執行存放於 linux
主機共享目錄下的程式。這樣除錯程式時十分方便。
nfs 即網路檔案系統(network file-system),可以通過網路讓不同機器、不同系統之
間可以實現檔案共享。通過 nfs,可以訪問遠端共享目錄,就像訪問本地磁碟一樣。nfs
只是一種檔案系統,本身並沒有傳輸功能,是基於 rpc(遠端過程呼叫)協議實現的,採
用 c/s 架構。
2 安裝 nfs 軟體包
在終端輸入下面命令安裝 nfs 伺服器:
vmuser@linux-host ~$ sudo apt-get install nfs-kernel-server #安裝 nfs 伺服器端
vmuser@linux-host ~$sudo apt-get install nfs-common #安裝 nfs 客戶端
3 新增 nfs 共享目錄
安裝完 nfs 伺服器等相關軟體後,需要指定用於共享的 nfs 目錄,其方法是在
「/etc/exports」檔案裡面設定對應的目錄及相應的訪問許可權,每一行對應乙個設定。下面介
紹如何新增 nfs 共享目錄。
在終端輸入「sudo vi /etc/exports」指令,如下所示:
vmuser@linux-host:~$ sudo vi /etc/exports
[sudo] password for vmuser:
「/etc/exports」檔案開啟後,檔案內容如所示。
#to nfs clients.
/etc/exports 檔案內容
see exports(5).
## example for nfsv2 and nfsv3:
# /srv/homes
hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
## example for nfsv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
若需要把「/nfsroot」目錄設定為 nfs 共享目錄,請在該檔案末尾新增下面的一行:
/nfsroot *(rw,sync,no_root_squash)
其中「*」表示允許任何網段 ip 的系統訪問該 nfs 目錄。新增完成後,檔案內容如程
程式清單 新增了 nfs 目錄
## example for nfsv2 and nfsv3:
# /srv/homes
hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
## example for nfsv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#/nfsroot *(rw,sync,no_root_squash)
修改完成後,儲存並退出「/etc/exports」檔案。然後新建「/nfsroot」目錄,並為該目錄
設定最寬鬆的許可權:
vmuser@linux-host:~$ sudo mkdir /nfsroot
vmuser@linux-host:~$sudo chmod -r 777 /nfsroot
vmuser@linux-host ~$ sudo chown –r nobody /nfsroot
為了方便測試 nfs 是否掛載成功,可以在「/nfsroot」目錄下建立 nfs_test 目錄用於測
試。4 啟動 nfs 服務
在終端中執行如下命令,可以啟動 nfs 服務:
vmuser@linux-host ~$ sudo /etc/init.d/nfs-kernel-server start
執行如下命令則可以重新啟動 nfs 服務:
vmuser@linux-host ~$ sudo /etc/init.d/nfs-kernel-server restart
執行啟動命令後,其操作結果如圖 所示,表示 nfs 服務已正常啟動。
啟動 nfs 服務
在 nfs 服務已經啟動的情況下,如果修改了「/etc/exports」檔案,需要重啟 nfs 服務,
以重新整理 nfs 的共享目錄。
當然在下一次啟動系統時,nfs 服務是自動啟動的。
5 測試 nfs 伺服器
nfs 服務啟動後,可以在 linux 主機上進行自測。測試的基本方法為:將已經設定好的
nfs 共享目錄 mount(掛載)到另外乙個目錄下,看能否成功。
假定 linux 主機 ip 為 192.168.12.137,nfs 共享目錄為/nfsroot 可使用如下命令進行測
試:vmuser@linux-host~$ sudo mount -t nfs 192.168.12.137:/nfsroot
/mnt -o nolock
如果指令執行沒有出錯,則 nfs 掛載成功,在/mnt 目錄下應該可以看到/nfsroot 目錄下
的內容。
Linux nfs伺服器配置
nfs是網路檔案系統network file system的縮寫,最早是由 sun 這家公司所發展出來的。它最大的功能就是可以透過網路,讓不同的機器 不同的作業系統 可以彼此分享檔案和目錄 share files 我們可以簡單的將他看做是乙個檔案伺服器 file server 這個 nfs 伺服器可...
搭建linux NFS和SSH伺服器
嵌入式除錯常常需要做nfs掛載除錯,和ssh遠端伺服器除錯。記錄下nfs和ssh遠端伺服器的搭建過程 nfs伺服器搭建 1.安裝nfs server sudo apt get install nfs kernel server 2.配置nfs目錄 etc exports sudo vi etc ex...
Linux NFS伺服器的配置過程
nfs network file system 即網路檔案系統。一種使用於分布式檔案協定,由sun公司開發。功能是通過網路讓不同的機器 不同的作業系統能夠分享個人資料,讓應用程式通過網路可以訪問位於伺服器磁碟中的資料。nfs在檔案傳送或資訊傳送的過過程中,依賴於rpc協議。rpc,遠端過程呼叫 re...