Ubuntu最新版本(Ubuntu22.04LTS)安装nfs服务器及使用教程
专栏地址:嵌入式开发 专栏文章: 【01】windows安装VMware最新版本(VMware Workstation 17.0 Pro)详细教程 【02】VMware17虚拟机安装Ubuntu最新版本(Ubuntu22.04LTS)详细步骤 【03】Ubuntu22.04 添加samba,并在windows访问 的详细教程 【04】Vmware Pro 17 设置共享文件夹 【05】Ubuntu最新版本(Ubuntu22.04LTS)安装Tftp服务及其使用教程 【06】Windows下的Tftpd32(Tftpd64)软件下载和使用教程-集成了Tftp服务器、客户端 【07】Ubuntu最新版本(Ubuntu22.04LTS)安装nfs服务器及使用教程 【08】Windows下SecureCRT的下载、安装、使用、配置【Telnet/ssh/Serial】 【09】Xshell的下载、使用、配置【ssh、telnet、串口】
目录
一、概述二、在Ubuntu搭建nfs服务器👉2.1 安装`nfs`服务器👉2.2 创建`nfs`服务器共享目录👉2.3 修改`nfs`服务器配置文件👉2.4 重启`nfs`服务器
三、客户端访问`nfs`服务器共享目录🎈3.1 在`nfs`客户端挂载服务器共享目录🎈3.2 在`nfs`客户端卸载服务器共享目录
一、概述
nfs全称是network files system(网络文件系统),是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
正是因为nfs文件系统可以使客户端像访问本地文件一样地访问nfs服务器的文件,所以在嵌入式设备开发阶段常常用来挂载到开发板,执行正在开发的程序,这样可以避免频繁地将程序烧录到嵌入式开发板,极大地节省了开发时间。
二、在Ubuntu搭建nfs服务器
👉2.1 安装nfs服务器
在Ubuntu安装nfs服务器比较简单,只需要在命令行执行下面这个命令即可:
sudo apt install nfs-kernel-server
👉2.2 创建nfs服务器共享目录
创建一个目录用于nfs服务器将文件共享给客户端,这个目录将会写入到nfs配置文件中:
sudo mkdir /nfsroot
👉2.3 修改nfs服务器配置文件
打开nfs服务器配置文件/etc/exports,指定nfs服务器共享目录及其属性,内容如下:
/nfsroot *(rw,sync,no_root_squash)
解析: /nfsroot:指定/nfsroot为nfs服务器的共享目录 *:允许所有的网段访问,也可以使用具体的IP rw:挂接此目录的客户端对该共享目录具有读写权限 sync:资料同步写入内存和硬盘 no_root_squash:root用户具有对根目录的完全管理访问权限 no_subtree_check:不检查父目录的权限
👉2.4 重启nfs服务器
执行下面两个命令其中一个可以重启nfs服务器:
sudo service nfs-kernel-server restart
或者
sudo /etc/init.d/nfs-kernel-server restart
到此,Ubuntu安装nfs服务器的过程就完成了,可以执行下面这个命令查看nfs服务器的共享目录:
showmount -e localhost
三、客户端访问nfs服务器共享目录
这一小节使用nfs客户端是嵌入式开发板系统自带的,一般嵌入式开发板移植了Linux系统后,都自带有nfs客户端,如果确实需要在Ubuntu安装,可以执行下面的命令安装:
sudo apt install nfs-common
🎈3.1 在nfs客户端挂载服务器共享目录
下面是在客户端挂载服务器共享目录的命令,在嵌入式开发板或者Ubuntu的nfs客户端挂载都可以使用,需要将192.168.2.183换成自己的nfs服务器ip:
mount -t nfs -o nolock 192.168.2.183:/nfsroot /nfsroot
-t:挂载的文件系统类型 -o nolock:不要文件锁 192.168.xxx.xxx:/nfsroot:nfs服务器ip:服务器共享目录 nfsroot:客户端已存在的目录
需要注意的是,在嵌入式开发板必须加上-o nolock,不然会出现下面错误,因为 nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。
🎈3.2 在nfs客户端卸载服务器共享目录
在nfs客户端执行下面命令,可以查询挂载的·nfs·服务器目录
mount
在nfs客户端执行下面命令,可以卸载的·nfs·服务器目录
umount /nfsroot
至此,在客户端挂载、卸载服务器就演示完成。
如果文章有用的话,麻烦点赞👍、收藏⭐一波!!!