先简单介绍一下NFS服务器是什么?
NFS 服务器(Network File System Server)是一种用于在计算机网络中共享文件的系统。它允许客户端计算机挂载远程共享目录,以便像本地文件系统一样访问其中的文件。
简而言之,NFS 服务器就是一个运行 NFS 服务的计算机,其共享了一个或多个本地文件系统。当客户端需要访问这些共享时,它们可以通过网络连接到 NFS 服务器,并通过挂载共享来获得对文件的访问权限。
NFS 是一个开放标准协议,可以跨越不同的操作系统平台。这使得多个不同类型的客户端可以与同一台 NFS 服务器通信并共享文件,从而方便多台计算机之间的文件共享和协作。
NFS 服务器通常在企业级环境或大型组织中使用,因为它们可以轻松地将文件共享给多个用户,并且可以集中管理存储。同时,NFS 客户端也可以在不同系统和设备上运行的应用程序中使用,以便访问其他设备的文件。
服务器端
1.Debian/Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务:
sudo apt-get install nfs-kernel-server
安装完后, 一般会默认在/etc/目录下生成一个 exports文件,但我居然没有找到/etc/exports文件
2. 确定安装成功后,如果找不到/etc/exports文件,没办法,只能自己手动创建一个exports文件
cd /etc sudo touch exports // 记得修改文件权限,且只能修改本文件,/etc/下的文件不能随意修改,要不然麻烦很大
3.修改配置文件
sudo vim /etc/exports
在最后一段加上配置代码
/home/用户名/nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check)
/home/用户名/nfs_rootfs :nfs客户端挂载目录 :允许所有的网段访问,也可以使用具体的IP
rw :挂接此目录的客户端对该共享目录具有读写权限
sync :资料同步写入内存和硬盘
no_root_squash :root用户具有对根目录的完全管理访问权限。
no_subtree_check:不检查父目录的权限。
如果想挂载多个目录,方法一样
/home/nfs_dir_1 *(rw,sync,no_root_squash,no_subtree_check)
4. 重启nfs服务,并查看nfs状态
sudo /etc/init.d/nfs-kernel-server restart
在开发板上执行 mount nfs 命令
ubuntu 的 IP 是 192.168.5.11,确保开发板能 ping 通 ubuntu 后,在开发板上执行以下命令挂载 NFS:
mount -t nfs -o nolock,vers=3 192.168.5.11:/home/hzh/nfs_rootfs /mnt
mount 命令用来挂载各》种支持的文件系统协议到某个目录下。mount 成功之后,开发板在/mnt 目录下读写文件时,实际上访问的就是Ubuntu 中的/home/hzh/nfs_rootfs 目录,所以开发板和 Ubuntu 之间通过NFS 可以很方便地共享文件。在开发过程中,在 Ubuntu 中编译好程序后放入/home/book/nfs_rootfs目录,开发板 mount nfs 后就可以直接通过/mnt 访问 Ubuntu 中的文件。
C:\Windows\System32\cmd.exe