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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Ubuntu9.10在ARM上建立NFS服務(wù)

          Ubuntu9.10在ARM上建立NFS服務(wù)

          作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
          前言,我參照別人的做法,也是網(wǎng)上普遍做的方法,在linux下構(gòu)建nfs服務(wù)。
          具體而言:在ubuntu9.10構(gòu)建nfs服務(wù)器端,在ARM上構(gòu)建客戶端,這樣便于開發(fā)。
          先引用別人的做法:
          1、進(jìn)行NFS服務(wù)器端與客戶端的安裝:
          sudo apt-get install nfs-kernel-server nfs-common portmap
          安裝客戶端的作用是可以在本機(jī)進(jìn)行NFS服務(wù)的測試。
          2、配置portmap
          兩種方法任選一種就可以:
          (1):sudo gedit /etc/default/portmap
          注釋掉 -i 127.0.0.1
          (2)sudo dpkg-reconfigure portmap
          運(yùn)行后選擇“否”
          3、配置掛載目錄和權(quán)限
          #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表示的是權(quán)限,sync是默認(rèn)的。

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

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

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

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

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

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

          外沿:從中我也學(xué)會了nfs相關(guān)的一些知識,例如
          題: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
          因?yàn)槲沂侵付ㄒ粋€網(wǎng)段的。

          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
          事實(shí)是:即使指定一個ip,可一用nfs了,但是此法仍然不行。why??學(xué)習(xí)中


          3.ladeng@ladeng-laptop:~$df
          文件系統(tǒng) 1K-塊 已用 可用 已用% 掛載點(diǎn)
          /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ā)!



          關(guān)鍵詞: Ubuntu9.10ARMNFS服

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();