<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Ubuntu9.10在ARM上建立NFS服務

          Ubuntu9.10在ARM上建立NFS服務

          作者: 時間:2016-11-09 來源:網絡 收藏
          前言,我參照別人的做法,也是網上普遍做的方法,在linux下構建nfs服務。
          具體而言:在ubuntu9.10構建nfs服務器端,在ARM上構建客戶端,這樣便于開發(fā)。
          先引用別人的做法:
          1、進行NFS服務器端與客戶端的安裝:
          sudo apt-get install nfs-kernel-server nfs-common portmap
          安裝客戶端的作用是可以在本機進行NFS服務的測試。
          2、配置portmap
          兩種方法任選一種就可以:
          (1):sudo gedit /etc/default/portmap
          注釋掉 -i 127.0.0.1
          (2)sudo dpkg-reconfigure portmap
          運行后選擇“否”
          3、配置掛載目錄和權限
          #sudo gedit /etc/exports
          我的配置如下:
          # /etc/exports: the access control list for filesystems which may be exported
          # to NFS clients. See exports(5).
          #
          # Example for NFSv2 and NFSv3:
          # /srv/homes hostname1(rw,sync) hostname2(ro,sync)
          #
          # Example for NFSv4:
          # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
          # /srv/nfs4/homes gss/krb5i(rw,sync)
          #
          /home/nfsboot 192.168.1.*(rw,sync,no_root_squash)
          解釋一下:
          #后面的都是解釋
          /home/nfsboot是NFS的共享目錄,*表示任何IP都可以共享這個目錄,你可以改為受限的IP,rw表示的是權限,sync是默認的。

          4、更新exports文件
          只要你更改了/etc/exports, 你不可以通過sudo exportfs -r 來更新 這個文件

          5、重啟NFS服務
          sudo /etc/init.d/nfs-kernel-server restart 重啟nfs服務

          6、進行測試
          嘗試一下掛載本地磁盤(我的linux系統(tǒng)IP為202.198.137.18,將/home/nfsboot掛載到/mnt)
          $ sudo mount 192.168.1.7:/home/nfsboot /mnt
          運行 $ df 看看結果
          $ sudo umount /mnt

          5、嵌入式系統(tǒng)中使用NFS服務掛載(來自網上)
          嵌入式要mount 的時候 使用
          mount -t nfs -o nolock 192.168.1.7:/home/nfsboot /mnt

          PS:理論上,就可以了,因為我以前搞國,也沒有什么障礙。但是現(xiàn)在問題來了,以前的系統(tǒng)版本是8。04,而現(xiàn)在是9。10,結果死活是運行不了。冥冥之中找了一兩天,暈死,我老是懷疑自己那個地方敲錯了。

          知道昨天晚上,看到一篇9。10的nfs服務構建,才看到:
          注意,上面的主機IP不能使用*來通配,否則在客戶機上會出現(xiàn)訪問拒絕,但是如果我們要設置局域網訪問呢? 怎么辦,使用子網掩碼例如:10.1.60.0/255.255.254.0即可讓10.1.60.*和10.1.61.*都可以訪問,還可以使用 10.1.60/23這種方式類確定子網。
          說明什么?以前的那種方式是不行的,我就指定一個
          /home/nfsboot 192.168.1.7(rw,sync,no_root_squash)//本機ip,現(xiàn)用來測試嘛
          OK!成了?。?!

          ARM上面的nfs支持,這里不說了,我的博客里面有。在從arm上面掛載,成功了!

          外沿:從中我也學會了nfs相關的一些知識,例如
          題:1. sudo mount -t nfs 192.168.1.7:/home/nfsboot /mnt
          mount.nfs: access denied by server while mounting 192.168.1.7:/home/nfsboot
          因為我是指定一個網段的。

          2.ladeng@ladeng-laptop:~$ showmount -e
          showmount: RPC: Program not registered
          mountd起沒起
          解決辦法:
          ladeng@ladeng-laptop:~$ host 127.0.0.1
          1.0.0.127.in-addr.arpa domain name pointer localhost.
          ladeng@ladeng-laptop:~$ host 127.0.0.1 //禁用無線
          ;; connection timed out; no servers could be reached
          事實是:即使指定一個ip,可一用nfs了,但是此法仍然不行。why??學習中


          3.ladeng@ladeng-laptop:~$df
          文件系統(tǒng) 1K-塊 已用 可用 已用% 掛載點
          /dev/sda10 17061584 5290556 10904324 33% /
          tmpfs 767520 0 767520 0% /lib/init/rw
          varrun 767520 128 767392 1% /var/run
          varlock 767520 0 767520 0% /var/lock
          udev 767520 172 767348 1% /dev
          tmpfs 767520 84 767436 1% /dev/shm
          lrm 767520 2192 765328 1% /lib/modules/2.6.28-17-generic/volatile
          /dev/sda9 241116 45117 183551 20% /boot
          /dev/sda8 8111964 1502092 6197808 20% /home
          /dev/sda6 38538496 21477824 17060672 56% /media/MEDIA
          用來查看掛載情況

          至此,此問題告一段落,開始著手真正的程序開發(fā)!



          關鍵詞: Ubuntu9.10ARMNFS服

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();