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