新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 詳細說明如何配置嵌入式linux 的nfs開發環境

        詳細說明如何配置嵌入式linux 的nfs開發環境

        作者: 時間:2016-09-12 來源:網絡 收藏

        (Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在nfs的應用中,本地nfs的客戶端應用可以透明地讀寫位于遠端nfs服務器上的文件,就像訪問本地文件一樣。nfs作為一種將遠程主機上的分區(目錄)經網絡掛載到本地系統的一種機制,開發者經常需要到。

        本文引用地址:http://www.104case.com/article/201609/303288.htm

        nfs有很多實際應用。下面是比較常見的一些:

        1. 多個機器共享一臺CDROM或者其他設備。這對于在多臺機器中安裝軟件來說更加便宜跟方便。

        2. 在大型網絡中,配置一臺中心 nfs服務器用來放置所有用戶的home目錄可能會帶來便利。這些目錄能被輸出到網絡以便用戶不管在哪臺工作站上登錄,總能得到相同的home目錄。

        3. 不同客戶端可在nfs上觀看影視文件,節省本地空間。

        4. 在客戶端完成的工作數據,可以備份保存到nfs服務器上用戶自己的路徑下。

        nfs是運行在應用層的協議。隨著nfs多年的發展和改進,nfs既可以用于局域網也可以用于廣域網,且與操作系統和硬件無關,可以在不同的計算機或系統上運行。

        linux 的開發過程中,開發者需要在linux 服務器上進行所有的軟件開發,交叉編譯后,通用FTP 方式將可執行文件下載到系統運行,但這種方式不但效率低下,且無法實現在線的調試。因此,可以通過建操作linux 服務器,同時可以在線對程序進行調試和修改,大大的方便了軟件的開發。因此,nfs的是嵌入式linux 開發的一個重要的組成部分,本部分內容將詳細說明如何配置嵌入式linux 的nfs開發環境。

        嵌入式linux 的nfs開發環境的實現包括兩個方面:一是linux 服務器端的nfs服務器支持;二是嵌入式目標系統的nfs客戶端的支持。因此,nfs開發環境的建立需要配置linux 服務器端和嵌入式目標系統端。

        一、linux 服務器端nfs服務器的配置

        以root 身份登陸linux 服務器,編輯/etc 目錄下的共享目錄配置文件exports,指定共享目錄及權限等。

        執行如下命令編輯文件/etc/exports:

        # vi /etc/exports

        在該文件里添加如下內容:

        /home/work 192.168.0.*(rw,sync,no_root_squash)

        然后保存退出。

        添加的內容表示:允許ip 地址范圍在192.168.0.*的計算機以讀寫的權限來訪問/home/work 目錄。

        /home/work 也稱為服務器輸出共享目錄。

        括號內的參數意義描述如下:

        rw:讀/寫權限,只讀權限的參數為ro;

        sync:數據同步寫入內存和硬盤,也可以使用async,此時數據會先暫存于內存中,而不立即寫入硬盤。

        no_root_squash:nfs服務器共享目錄用戶的屬性,如果用戶是 root,那么對于這個共享目錄來說就具有 root 的權限。

        接著執行如下命令,啟動端口映射:

        # /etc/rc.d/init.d/portmap start

        最后執行如下命令啟動nfs服務,此時nfs會激活守護進程,然后就開始監聽 Client 端的請求:

        # /etc/rc.d/init.d/nfsstart

        用戶也可以重新啟動linux 服務器,自動啟動nfs服務。

        在nfs服務器啟動后,還需要檢查linux 服務器的防火墻等設置(一般需要關閉防火墻服務),確保沒有屏蔽掉nfs使用的端口和允許通信的主機,主要是檢查linux 服務器iptables,ipchains 等選項的設置,以及/etc/hosts.deny,/etc/hosts.allow 文件。

        我們首先在linux 服務器上進行nfs服務器的回環測試,驗證共享目錄是否能夠被訪問。在linux 服務器上運行如下命令:

        # mount –t nfs192.168.0.20:/home/work /mnt

        # ls /mnt

        命令將linux 服務器的nfs輸出共享目錄掛載到/mnt 目錄下,因此,如果nfs正常工作,應該能夠在/mnt 目錄看到/home/work 共享目錄中的內容。

        二、嵌入式目標系統nfs客戶端的配置

        在linux 服務器設置好后,還需要對客戶端進行相關配置。在配置內核時選擇Load an Alternate Configuration File輸入配置文件的路徑和文件名添加內核對nfs的支持:

        選中networking options-》IP:kernel level auloconfiguralion項

        選中file systems-》network file systems-》下的root file system on nfs

        和nfsfile system support重新編譯內核下載bootloader和kernel到開發板上

        在嵌入式目標系統的linux Shell 下,執行如下命令來進行nfs共享目錄掛載:

        # mkdir /mnt/nfs//建立linux 服務器輸出共享目錄的掛載點;

        # mount –t nfs192.168.0.20:/home/work /mnt/nfs–o nolock

        # cd /mnt/nfs

        # ls

        此時,嵌入式目標系統端所顯示的內容即為linux 服務器的輸出目錄的內容,即linux 服務器的輸出目錄/home/work 通過nfs映射到了嵌入式目標系統的/mnt/nfs目錄。用戶可以用增/刪/修改文件的方式來驗證實際效果。mount 命令中的192.168.0.20 為linux 服務器的IP 地址,/home/work 為linux 服務器端所配置的共享輸出目錄,/mnt/nfs為嵌入式設備上的本地目錄。

        1.jpg

        在開發過程中,來回輸入命令非常煩人,我寫了兩個簡單的腳本來完成nfs的啟動,掛載。



        關鍵詞: NFS Linux 嵌入式

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 和林格尔县| 黑龙江省| 兖州市| 扎鲁特旗| 临汾市| 潜江市| 鄂尔多斯市| 石首市| 齐河县| 班玛县| 金秀| 滦平县| 大余县| 耒阳市| 怀集县| 福海县| 云林县| 灌南县| 新龙县| 饶平县| 淳安县| 浦城县| 绍兴县| 高雄市| 贺州市| 太谷县| 兴安盟| 长治市| 湘潭市| 太保市| 张家港市| 柞水县| 车致| 江北区| 剑阁县| 奈曼旗| 天门市| 临澧县| 临高县| 永兴县| 彭山县|