建立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

  我的配置如下:

  以下是代码片段:

# /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 服务

启动结果:

[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 看看结果

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/9b97e3c62bde0124ddf882387dd3ab71.html