1、什么是nfs? NFS 是 Network File System 的縮寫, 它可以通過網(wǎng)絡(luò), 讓不同的機(jī)器、 不同的操作系統(tǒng)可以共享彼此的文件。 NFS 服務(wù)器可以讓 PC 將網(wǎng)絡(luò)中的 NFS 服務(wù)器共享的目錄掛載到本地端的文件系統(tǒng)中, 而在本地端的系統(tǒng)中來看, 那個(gè)遠(yuǎn)程主機(jī)的目錄就好像是自己的一個(gè)磁盤分區(qū)一樣, 在使用上相當(dāng)便利; NFS 服務(wù)器我們一般是在 ubuntu 上搭建的。 這里的客戶端我們使用的是開發(fā)板, 如下圖所示。 ![]() 使用 nfs 之前, 開發(fā)板、 虛擬機(jī) ubuntu、 windows 電腦三者要互相 ping 通, 這就涉及到了同一個(gè)網(wǎng)段的概念。 概念: 同一個(gè)網(wǎng)段是指 IP 地址和子網(wǎng)掩碼相與得到的相同的網(wǎng)絡(luò)地址。 快速判斷同一個(gè)網(wǎng)段: (1) 開發(fā)板、 虛擬機(jī) ubuntu、 windows 子網(wǎng)掩碼是不是相同。 (2) 開發(fā)板、 虛擬機(jī) ubuntu、 windows IP 地址的前三段是不是相同。 舉例: ![]() 由上圖可知, ubuntu 的 IP 為 192.168.1.11, 子網(wǎng)掩碼是 255.255.255.0 Windows: ![]() 由上圖可知, windows 電腦的 IP 為 192.168.1.5 ,子網(wǎng)掩碼是 255.255.255.0所以, ubuntu 和 windows 在同一個(gè)網(wǎng)段, 因?yàn)樽泳W(wǎng)掩碼相同, 都是 255.255.255.0, IP 地址前三段相同,都是 192.168.1。 同理, 判斷開發(fā)板的網(wǎng)段是不是和 ubuntu 和 windows 在同一個(gè)網(wǎng)段下, 我們也可以使用這個(gè)方法。 3、連接方式 在我們做技術(shù)支持的時(shí)候,經(jīng)常遇到很多小伙伴,開發(fā)板,Ubuntu,電腦主機(jī)不能互相ping通的問題,如果不能互相ping通,就不能使用nfs,所以這里作者總結(jié)了一個(gè)最穩(wěn)定的連接方式,推薦大家使用,以免出現(xiàn)不能ping通的問題。 (1) 虛擬機(jī) ubuntu 要使用橋接模式, 不能使用其他模式 (2) 開發(fā)板使用無線或者有線連接到路由器上, 不要直接連接到電腦,不要連手機(jī)熱點(diǎn)。 (3) windows 關(guān)閉防火墻, 使用有線連接到和開發(fā)板連接的同一個(gè)路由器上。 (4) 保證虛擬機(jī) ubuntu,Windows, 開發(fā)板在同一個(gè)網(wǎng)段。 4、nfs服務(wù)器的搭建 在 ubuntu 安裝 nfs 服務(wù): 使用命令sudo apt-get install nfs-kernel-server,如下圖所示: ![]() 接著使用命令sudo mkdir -p /home/nfs在/home/路徑下創(chuàng)建nfs文件,用來共享使用,如下圖所示: ![]() 使用命令sudo vi /etc/exports,打開配置文件添加 nfs 共享目錄,如下圖所示: ![]() 在配置文件中添加以下代碼: /home/nfs/ *(rw,sync,no_root_squash) 其中: /home/nfs/ 是 nfs 服務(wù)器要共享的目錄 rw:是可讀寫權(quán)限 sync:是資料同步寫入內(nèi)存和硬盤 no_root_squash:當(dāng)?shù)卿?NFS 主機(jī)使用共享目錄的使用者是 root 時(shí), 其權(quán)限將被轉(zhuǎn)換成為一名使用者,通常它的 UID 與 GID 都會變成 nobody 身份。 如下圖所示: ![]() 配置完成后保存退出。使用命令/etc/init.d/nfs-kernel-server restart重啟nfs服務(wù),如下圖所示: ![]() 從上圖我們看出,nfs已經(jīng)重啟成功,說明Ubuntu上的nfs服務(wù)器已經(jīng)搭建成功。 5、nfs服務(wù)器使用 我們按照4.4.5.3和4.4.5.2章節(jié)連接好開發(fā)板并設(shè)置好同一網(wǎng)段以后,使用命令mount -t nfs -o nolock 192.168.1.38:/home/nfs /mnt/將Ubuntu系統(tǒng)的/home/nfs文件夾掛載到開發(fā)板的/mnt目錄下,如下圖所示: ![]() 這句話代碼的意思是使用 nfs 掛載/home/nfs 到 mnt 文件夾下, 192.168.1.38的 IP 為 ubuntu 的 IP.把這個(gè) ip 改成自己 ubuntu 的 ip 就可以了。 6、nfs服務(wù)器測試掛載好nfs以后,接著我們在Ubuntu的/home/nfs文件夾下使用命令sudo touch test.c創(chuàng)建一個(gè)c文件,如下圖所示: ![]() 然后在查看開發(fā)板的/mnt目錄,如果/mnt目錄下也可以看到我們在Ubuntu虛擬機(jī)上創(chuàng)建的這個(gè)test.c文件,說明nfs掛載成功,如下圖所示: ![]() 從上圖可以看到,nfs已經(jīng)可以正常使用。 龍芯2K1000開發(fā)板: ![]() 核心板參數(shù): 尺寸:65mm*55mm CPU :龍芯2K1000雙核工業(yè)級處理器 主頻:800MHz-1GHz 內(nèi)存:板載2GB DDR3 ,可選4GB 存儲:8MB的存儲,用來放BOOT引導(dǎo)程序的 工作電壓:12V和5V 系統(tǒng)支持:流暢運(yùn)行vusybx、buiroot、Loognix、QT5.12系統(tǒng)。 引角擴(kuò)展:引出腳多達(dá)232個(gè),1.0間距的郵票孔方式,滿足用戶各類擴(kuò)展需求 底板參數(shù): 尺寸:190mm*125mm POWER:電直流電源輸入接口 SWITCH:電源開關(guān) Ethernet:2 路10M/100M/1000M自適應(yīng)以太網(wǎng) USB HOST:4路USB2.0 OTG:支持 Mini HDMI:支持 RGB-LCD:支持 WIFI/BT:板載WIFI、藍(lán)牙二合一模塊 Mini PCIE:可外接mini PCIE接口的4G模塊,具備PCIE2.0單通道 4G模塊 :支持 (選配) SIM Card:1個(gè) UART:2路串口 RS485:1路 CAN:2路 蜂鳴器:一個(gè)有源蜂鳴器 RTC:支持 LIO/UART:2mm間距20PIN插座引出 GPIO :2mm間距20PIN插座引出 耳機(jī)接口:標(biāo)準(zhǔn)3.5mm耳機(jī)接口 JTAG:1路JTAG調(diào)試接口(2mm間距10PIN插座引出) GPS:一路GPS (選配) 固態(tài)硬盤接口:1路 (SATA固態(tài)盤選配) 按鍵:3個(gè) 溫度傳感器:支持 風(fēng)扇驅(qū)動:支持 |