> 文章列表 > ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件

ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件

ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件

   本文主要介绍在ROS主机中搭建NFS服务器,虚拟机(从机)通过nfs挂载的方式访问及修改主机中文件的方法


   一、ROS主机NFS服务器搭建:

   若机器人配有显示屏,此部分可直接在机器人上操作,否则,可通过SSH远程登录的方式,在虚拟机上进行远程登录后操作,下面以要共享的文件夹及其目录为/home/learningx/qingzhou_ws进行详细介绍。

   1、使用以下指令在机器人中安装nfs服务端

sudo apt-get install nfs-kernel-server

ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件

   2、使用以下指令创建要共享的目录文件夹

sudo  mkdir  -p  /mnt

ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件

   3、编辑配置文件

   (1)添加NFS共享目录(以nano板为例)

sudo nano /etc/exports 

   此步若报错:sudo: nano: command not found,说明缺少nano包,使用以下指令安装后,再重新运行sudo nano /etc/exports

sudo apt-get install nano

ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件

   然后,在exports 中添加要进行NFS共享的文件夹目录,大家根据需要进行添加即可,下面的指令的例子是将/home/learningx/目录下的文件夹qingzhou_ws 作为共享文件夹

/home/learningx/qingzhou_ws  *(rw,sync,no_root_squash)

   完成编辑(更改)后,按下 ctrl + x 组合键退出 nano 编辑器,返回终端,在退出前它也会询问你是否要对更改进行保存,按下Y键保存修改。(若按下N键则不保存修改)

   (2)依次输入以下指令给挂载的目录设置权限以及修改文件用户

sudo chmod  -R  777  /home/learningx/qingzhou_ws
sudo chown  -R  777  /home/learningx/qingzhou_ws

   4、依次使用以下指令启动NFS服务和重启NFS服务

sudo /etc/init.d/nfs-kernel-server start  
sudo  /etc/init.d/nfs-kernel-server restart 

   5、验证NFS服务器是否成功搭建

   输入以下指令进行共享文件夹挂载,其中192.168.1.120是机器人的IP地址

sudo  mount  -t  nfs  -o  nolock  192.168.1.120:/home/learningx/qingzhou_ws  /mnt

   然后,使用cd /mnt 指令进入到mnt文件夹下查看是否存在qingzhou_ws 文件夹内的文件,进行验证NFS服务器是否成功搭建。

ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件


   二、搭建虚拟机上的客户端

   1、使用以下指令安装nfs-utils和portma包

sudo apt-get install nfs-common portmap

   2、使用以下指令创建一个提供挂载的目录

sudo mkdir /mnt/mount_nfs

   注:该文件夹存在于计算机目录下,跟home文件夹在同目录下,因此,不要在主目录中进行寻找。

ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件


   三、虚拟机通过挂载访问及修改主机文件

   在虚拟机的终端输入以下指令进行nfs挂载,其中192.168.1.120是机器人的IP地址。

sudo mount -t nfs 192.168.1.120:/home/learningx/qingzhou_ws /mnt

   此时,就可以在虚拟机中的mnt文件夹内对机器人中的qingzhou_ws 文件夹内的内容进行查看以及修改了。

   可使用以下指令解除nfs挂载

sudo umount -t nfs 192.168.1.120:/home/learningx/qingzhou_ws /mnt

   此时,就可以发现虚拟机的mnt文件夹内已经没有qingzhou_ws 中的文件了

ROS主机搭建NFS服务器,虚拟机通过挂载访问及修改主机文件