ubuntu19版本配置nfs核心服務

2021-10-01 08:26:37 字數 2497 閱讀 6839

2.nfs exports引數說明

3.uboot 無法通過 nfs 啟動 ubuntu 18.04 內的根檔案目錄

什麼是nfs?

nfs(network file system)即網路檔案系統,是freebsd支援的檔案系統中的一種,它允許網路中的計算機之間共享資源。在nfs的應用中,本地nfs的客戶端應用可以透明地讀寫位於遠端nfs伺服器上的檔案,就像訪問本地檔案一樣。

nfs的應用

在嵌入式中的應用:

在嵌入式交叉開發中,我們常常把「根檔案」系統放在主機上,然後在開發板啟動的時候通過nfs來掛載主機上的根檔案系統。這樣省去了每次都要把檔案系統燒寫到儲存裝置上的步驟,提高了開發效率。

在ubuntu系統中安裝nfs核心服務:

sudo apt-get install nfs-kernel-server

在/etc/exports下配置nfs檔案,新增目標系統的根檔案系統對映目錄,我這邊的根檔案系統是放在在/opt/rootfs目錄下。

則在exports檔案裡新增內容:/opt/rootfs *(subtree_check,rw,no_root_squash,async)

儲存後,重啟nfs服務

sudo /etc/init.d/nfs-kernel-server	restart

sudo exportfs -a(最好每修改過/etc/exports 後需要執行一次)

檢視nfs服務是否開啟

出現/opt/rootfs *資訊表示掛載成功

這裡需要注意的是,將檔案系統掛載到嵌入式linux目標版時,由於這裡使用的ubuntu版本是19的,ubuntu 17.10之後的nfs預設就只支援協議3和協議4,但是uboot預設啟動的是協議2,要想讓nfs支援協議2,就得在/etc/default/nfs-kernel-server新增rpcnfsdopts="--nfs-version 2,3,4 --debug --syslog",然後重新啟動nfs服務。

具體步驟如下:

sudo vim /etc/default/nfs-kernel-server

然後在末尾新增:

測試:掛載檔案系統:/opt/rootfs

sudo mount 192.168.10.136:/opt/rootfs /mnt

檢視mnt下是否可以看到rootfs中的內容。

nfs常用引數:

ro 唯讀訪問

rw 讀寫訪問

sync 所有資料在請求時寫入共享

async nfs在寫入資料前可以相應請求

secure nfs通過1024以下的安全tcp/ip埠傳送

insecure nfs通過1024以上的埠傳送

wdelay 如果多個使用者要寫入nfs目錄,則歸組寫入(預設)

no_wdelay 如果多個使用者要寫入nfs目錄,則立即寫入,當使用async時,無需此設定。

hide 在nfs共享目錄中不共享其子目錄

no_hide 共享nfs目錄的子目錄

subtree_check 如果共享/usr/bin之類的子目錄時,強制nfs檢查父目錄的許可權(預設)

no_subtree_check 和上面相對,不檢查父目錄許可權

all_squash 共享檔案的uid和gid對映匿名使用者anonymous,適合公用目錄。

no_all_squash 保留共享檔案的uid和gid(預設)

root_squash root使用者的所有請求對映成如anonymous使用者一樣的許可權(預設)

no_root_squash root使用者具有根目錄的完全管理訪問許可權

anonuid=*** 指定nfs伺服器/etc/passwd檔案中匿名使用者的uid

anongid=*** 指定nfs伺服器/etc/passwd檔案中匿名使用者的gid

go安裝1 9版本

如果有舊的go 首先解除安裝它,方法如果 rm rf usr bin go rm rf etc alternatives go rm rf usr lib golang清理gopath goroot變數 unset gopath unset goroot 然後開始正式安裝,因為golang1.5以後...

Ubuntu14 04版本配置root登陸

普通使用者啟動後,開啟終端,輸入 sudo su,輸入密碼。在終端繼續輸入 gedit usr share lightdm lightdm.conf.d 50 ubuntu.conf 開啟配置檔案。在終端繼續輸入 passwd root,設定root管理員密碼。配置完成後重新啟動,顯示login登陸...

ubuntu 16 04版本安裝python3

ubuntu 是自帶 python,自帶python2,python3。檢視python版本時顯示python2,要做的就是指向,設定成預設python3版本 echo alias python python3 bashrc source一下 source bashrc 版本檢視 python ve...