ubuntu9.10構建nfs服務器端

具體而言:在ubuntu9.10構建nfs服務器端,在ARM上構建客戶端,這樣便於開發。
先引用別人的做法:
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/book *(rw,sync,no_root_squash)
解釋一下:
#後面的都是解釋
/home/book是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系統IP爲192.168.1.22,將/home/book 掛載到/mnt)
$ sudo mount 192.168.1.7:/home/book  /mnt
運行 $ df 看看結果
$ sudo umount /mnt

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

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

知道昨天晚上,看到一篇9。10的nfs服務構建,纔看到:
注意,上面的主機IP不能使用*來通配,否則在客戶機上會出現訪問拒絕,但是如果我們要設置局域網訪問呢?怎麼辦,使用子網掩碼例如: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,現用來測試嘛
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
文件系統           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
用來查看掛載情況

至此,此問題告一段落,開始着手真正的程序開發!

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以上是轉的

本人PS:

1.sudo apt-get install nfs-kernel-server  nfs-common  portmap
2.sudo dpkg-reconfigure portmap運行後選擇“否”
3.sudo gedit /etc/exports  最後一行改爲/home/book *(rw,sync,no_root_squash)
4.sudo exportfs -r  更新exports文件
5.sudo /etc/init.d/nfs-kernel-server restart

6.ifocnfig     sudo ifconfig eth0 192.168.1.22 up   然後用超級終端將板子的IP改爲 192.168.1.11

ifconfig eth0 192.168.1.11 up    然後ping下對方的IP地址  不知道要不要關閉防火牆iptables  反正也關下吧在RedHat上是要關閉的 

sudo iptables -L
如果顯示
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


說明已經是關了,如果有別的,自己可以手動關閉。

sudo iptables -F
sudo iptables -X

7.sudo mount 192.168.1.22:/home/book  /mnt 測試掛接本地硬盤192.168.1.22是虛擬機上的IP地址

運行df查看結果 發現掛接成功
8.mount -n -o nolock,rsize=1024,wsize=1024,timeo=15 192.168.1.22:/home/book /mnt   掛接開發板  成了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章