建立Ubuntu nfs服务器

 建立Ubuntu nfs服务器

  在嵌入式 linux 开发的时候,常常需要使用Ubuntu nfs服务器以方便程序的调试.使用 nfs,用户可以将板子要用到的根文件系统放在主机目录下,开发板则通过以太网挂载到这个目录并将这个目录下的文件作为根文件系统的内容,这样用户的程序更新后不比重新烧写板子的根文件系统便能被重新使用,这点能够大大加快程序的调试.Ubuntu 下安装 nfs 服务器的步骤如下:

  1 进行 NFS 服务器端与客户端的安装:

  sudo apt-get install nfs-kernel-server nfs-common portmap

  安装客户端的作用是可以在本机进行Ubuntu nfs服务器的测试.


       2.配置挂载目录和权限

  emacs /etc/exports

  我的配置如下:

  以下是代码片段:

  1. # /etc/exports: the access control list for filesystems which may be exported   
  2. #       to NFS clients.  See exports(5).   
  3. #   
  4. # Example for NFSv2 and NFSv3:   
  5. # /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)   
  6. #   
  7. # Example for NFSv4:   
  8. # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)   
  9. # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)   
  10. #   
  11. /home/gexueyuan/mini2440/rootfs *(rw,sync,no_root_squash)  
# /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,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
/home/gexueyuan/mini2440/rootfs *(rw,sync,no_root_squash)

       /home/gexueyuan/mini2440/rootfs 表示允许其他计算机访问的目录

       ' * '星号表示允许任何ip访问,此处位置可以设置允许访问该目录的客户端ip地址,例如,192.168.1.*就表示允许192.168.1.X的ip来进行访问

      rw:表示可读可写

      sync:同步写磁盘(async:资料会暂存于内存当中,而不是直接写入硬盘)

      no_root_squash:表示客户端root用户对该目录具有写权限


(可选

3. 更新 exports 文件

  只要你更改了/etc/exports, 你不可以通过 sudo exportfs -r 来更新 这个文件


4  重启NFS服务

        sudo /etc/init.d/nfs-kernel-server start   / stop  启动命令/停止命令

  sudo /etc/init.d/nfs-kernel-server restart 重启 nfs 服务

启动结果:

  1. [sudo] password for gexueyuan:  
  2.  * Stopping NFS kernel daemon                                            [ OK ]  
  3.  * Unexporting directories for NFS kernel daemon...                      [ OK ]  
  4.  * Exporting directories for NFS kernel daemon...                               exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home/gexueyuan/mini2440/rootfs".  
  5.   Assuming default behaviour ('no_subtree_check').  
  6.   NOTE: this default has changed since nfs-utils version 1.0.x  
  7.   
  8.                                                                          [ OK ]  
  9.  * Starting NFS kernel daemon                                            [ OK ]   
[sudo] password for gexueyuan:
 * Stopping NFS kernel daemon                                            [ OK ]
 * Unexporting directories for NFS kernel daemon...                      [ OK ]
 * Exporting directories for NFS kernel daemon...                               exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home/gexueyuan/mini2440/rootfs".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x

                                                                         [ OK ]
 * Starting NFS kernel daemon                                            [ OK ] 


5 进行测试

  尝试一下挂载本地磁盘(我的 linux 系统 IP 为 192.168.1.230,将 /home/gexueyuan/mini2440/rootfs 挂载到/mnt/nfs)

  以下是代码片段:

  $ sudo mount (-t nfs) 192.168.1.230:/home/gexueyuan/mini2440/rootfs  /mnt/nfs


运行结果:




  运行 $ df 看看结果

  1. Filesystem           1K-blocks      Used Available Use% Mounted on  
  2. /dev/sda6             40207968  17311896  20853656  46% /  
  3. none                    248580       208    248372   1% /dev  
  4. none                    254196       324    253872   1% /dev/shm  
  5. none                    254196       368    253828   1% /var/run  
  6. none                    254196         0    254196   0% /var/lock  
  7. /dev/sda1               112039     61774     44480  59% /boot  
  8. 192.168.1.230:/home/gexueyuan/mini2440/rootfs  
  9.                       40208000  17311872  20853696  46% /mnt  
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda6             40207968  17311896  20853656  46% /
none                    248580       208    248372   1% /dev
none                    254196       324    253872   1% /dev/shm
none                    254196       368    253828   1% /var/run
none                    254196         0    254196   0% /var/lock
/dev/sda1               112039     61774     44480  59% /boot
192.168.1.230:/home/gexueyuan/mini2440/rootfs
                      40208000  17311872  20853696  46% /mnt

  $ sudo umount /mnt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值