文件传输 ------ NFS ------ 某个linux系统的文件夹可以通过TCP/IP共享给其他linux系统(其他linux系统挂载这个文件夹)

在开发嵌入式linux应用时,可以通过 lrzsz 传输文件,也可以通过 NFS 把ubuntu上的文件夹共享给嵌入式linux板子,省去每次传输文件(擦写flash)

 

在 ubuntu 上安装 NFS 软件包

sudo apt-get install nfs-kernel-server

 

需要设置虚拟机的网络适配器的网络连接方式为桥接模式

 

 然后手动设置网络地址和子网掩码(注意和嵌入式linux板子处于同一网段):

 

安装完 NFS 软件包后,需要制定用于共享的 NFS 文件夹,其方法是在“/etc/exports”文件里面设置对应的目录及相应的访问权限

 sudo vi /etc/exports

a

 在文件最后面添加:

/home/god/Desktop/nfs  *(rw,sync,no_root_squash)

“ * ”表示运行任何网段 IP 的主机访问该 NFS 目录,也可以写192.168.0.*,表示此网段可以访问

rw:读/写权限,只读权限的参数为 ro;

sync:数据同步写入内存和硬盘,也可以使用 async,此时数据会先暂存于内存中,而不立即写入硬盘;

no_root_squash: NFS 服务器共享目录用户的属性,如果用户是非 root,那么对于这个共享目录来说就具有 root 的权限;

 

启动 NFS 服务(之后把ubuntu关了再开不用再运行这句,自启动):

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

 

重新启动 NFS 服务

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

NFS 服务已经启动的情况下,如果修改了“/etc/exports”文件,需要重启 NFS 服务,以刷新 NFS 的共享目录。

 

 

NFS 服务启动后,可以在 Linux 主机上进行自测。 测试的基本方法为:将已经设定好的NFS 共享目录 mount(挂载) 到另外一个目录下,看能否成功。

假定 Linux 主机 IP 192.168.12.123NFS 共享目录为/nfsroot 可使用如下命令进行测试(执行挂载指令不要把当前路径停在/mnt,否则会有些小问题,比如 ls 后看不到文件等): 

 sudo mount -t nfs 192.168.12.123:/nfsroot /mnt -o nolock

如果指令运行没有出错,则 NFS 挂载成功,在/mnt 目录下应该可以看到/nfsroot 目录下的内容。

 

 

可以在命令行输入 mount,看是否有挂载

 

posted @ 2020-04-03 17:52  流水灯  阅读(4)  评论(0编辑  收藏  举报