Linux 之 arm linux 板子与 ubuntu 使用 nfs 进行 mount 挂载进行文件传输的简单整理

Linux 之 arm linux 板子与 ubuntu 使用 nfs 进行 mount 挂载进行文件传输的简单整理

目录

Linux 之 arm linux 板子 与 ubuntu 使用 nfs 进行 mount 挂载进行文件传输的简单整理

一、简单介绍

二、Ubuntu 上 nfs 相关安装与配置

 三、arm 板子上挂载对应 Ubuntu nfs 文件目录,实现文件夹挂载传输文件

 附录: mount 命令简单说明


一、简单介绍

Linux/Ubuntu 开发的一些知识整理,方便后期遇到类似的问题,能够及时查阅使用。

本节介绍,arm linux 与 ubuntu 使用 nfs 进行 mount 挂载进行文件传输的简单整理。如果有不足之处,欢迎指出,或者你有更好的方法,欢迎留言。

NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。

操作环境:

  • Ubuntu 18.04
  • arm 板子 STM32MP157

二、Ubuntu 上 nfs 相关安装与配置

1、安装 nfs 和 rpcbind

命令:sudo apt-get install nfs-kernel-server rpcbind

如图是因为已经安装好了,所以如图

 2、创建一个文件夹,用于 nfs 绑定的文件夹

不一定叫 nfs ,其他名字也行,命令:mkdir nfs

3、打开 /etc/exports 进行相关配置,把之前创建的文件夹绑定到设置中

命令:sudo vi /etc/exports

内容(路径根据自己实际的路径填写):/home/qinxk8/linux/nfs *(rw,sync,no_root_squash)

 4、修改配置保存后,重启 nfs 服务

命令:sudo /etc/init.d/nfs-kernel-server restart

 三、arm 板子上挂载对应 Ubuntu nfs 文件目录,实现文件夹挂载传输文件

1、首先开机 arm 板子,然后确保 arm 板子和 Ubuntu 连接同一网段网络

命令:ifconfig

 

2、在 arm 板子上 ping Ubuntu 的 ip ,保证能够 ping 通

3、在 arm 板子上 挂载 Ubuntu 对应的 nfs 文件夹

没报错,说明挂载没问题,命令:mount -t nfs -o vers=3 192.168.54.200:/home/qinxk8/linux/nfs /mnt

 4、在 Ubuntu 的上添加一个文件,作为测试

命令:touch test_nfs.txt

 5、在 arm 板子上使用 cp 命令,把 Ubuntu 的文件,拷贝到 arm 板子上

命令:cp /mnt/test_nfs.txt ./

/mnt 就是之前 Ubuntu nfs 文件夹挂载到的目录文件夹,test_nfs.txt 就是 Ubuntu nfs 文件夹的文件

 附录: mount 命令简单说明

Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件。

1、使用形式:

mount [-hV]
mount -a [-fFnrsvw] [-t vfstype]
mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir

2、参数说明

  • -V:显示程序版本
  • -h:显示辅助讯息
  • -v:显示较讯息,通常和 -f 用来除错。
  • -a:将 /etc/fstab 中定义的所有档案系统挂上。
  • -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
  • -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
  • -n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
  • -s-r:等于 -o ro
  • -w:等于 -o rw
  • -L:将含有特定标签的硬盘分割挂上。
  • -U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
  • -t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
  • -o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
  • -o sync:在同步模式下执行。
  • -o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
  • -o auto、-o noauto:打开/关闭自动挂上模式。
  • -o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
  • -o dev、-o nodev-o exec、-o noexec允许执行档被执行。
  • -o suid、-o nosuid:
  • 允许执行档在 root 权限下执行。
  • -o user、-o nouser:使用者可以执行 mount/umount 的动作。
  • -o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
  • -o ro:用唯读模式挂上。
  • -o rw:用可读写模式挂上。
  • -o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。

3、示例

1)将 /dev/hda1 挂在 /mnt 之下

mount /dev/hda1 /mnt

2)通过 nfs 把 192.168.54.200:/home/qinxk8/linux/nfs 挂载到 /mnt

mount -t nfs -o vers=3 192.168.54.200:/home/qinxk8/linux/nfs /mnt

猜你喜欢

转载自blog.csdn.net/u014361280/article/details/128094222