当前位置: 首页 > news >正文

Ubuntu 22.04上安装NFS服务

1、使用如下命令安装NFS服务端软件:

# 在主机上运行以下命令
orangepi@orangepi5:~$ sudo  apt install nfs-server

2、在配置NFS时需要使用用户uid和组gid,可以使用id命令查看

# 在主机上运行id命令
orangepi@orangepi5:~$ id
uid=1000(orangepi) gid=1000(orangepi) groups=1000(orangepi),5(tty),6(disk),20(dialout),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),101(systemd-journal),106(input),111(netdev),122(bluetooth),999(docker)

可以发现主机用户的uid和gid均为1000,在下面配置文件中会使用到。

3、配置NFS

安装NFS服务后,会新增一个/etc/exports文件(即/etc/目录下名为exports的文件),NFS服务根据它的配置来运行。

用vim打开/etc/exports文件命令如下:

orangepi@orangepi5:~$ sudo vim /etc/exports

在/etc/exports文件末尾添加如下语句并且保存:

# 以下内容添加到/etc/exports文件末尾,IP地址和uid,guid需要根据自己的环境仅限修改
/home/orangepi/nfs 192.168.50.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check)

以上内容注释:

  • /home/orangepi/nfs:需要共享的主机目录,注意使用空格与后面的配置隔开。
  • 192.168.50.0/24:配置哪个网段或主机可以访问,其中/24是掩码,此处表示24个1,即掩码是255.255.255.0。结合前面192.168.50.0表示此处配置IP为192.168.50.*的主机均可以访问该目录,即192.168.50.*网段局域网上的所有主机。
  • rw:表示客户机的权限,rw表示可读写。具体的授权还受到文件系统的rwx及用户身份影响。
  • sync:资料同步写入到内存与磁盘中。
  • anonuid=1000:将客户机上的用户映射成指定的本地用户ID的用户,此处1000是主机oprangepi用户的uid,此处请根据具体的主机用户uid进行配置。
  • anongid=100:将客户机上的用户映射成属于指定的本地用户组ID,此处1000是主机orangepi用户组gid。此处请根据具体的主机用户组gid进行配置。
  • no_subtree_check:不检查子目录权限,默认配置。

本配置中的anonuid和anongid把客户机的用户映射成本地uid/gid为1000的用户,即主机orangepi,那么当在客户机上使用与主机不同的用户访问NFS共享目录时,都会有orangepi的权限。

4、创建共享目录

为了确保共享的配置有效,还需要创建共享的目录,本例中为/home/orangepi/workdir。

# 在主机上运行以下命令
orangepi@orangepi5:~$ mkdir /home/orangepi/nfs

5、更新exports配置

修改完/etc/exports文件并且保存后,可使用exportfs命令更新配置:

# 在主机上运行以下命令
orangepi@orangepi5:~$ sudo exportfs -arv
[sudo] password for orangepi:
exporting 192.168.50.0/24:/home/orangepi/nfs

该命令的参数说明:

  • -a:全部mount或umount文件/etc/exports中的内容
  • -r:重新mount文件/etc/exports中的共享内容。
  • -u:umount目录。
  • -v:在exportfs的时候,将详细的信息输出到屏幕上。

6、查看NFS共享情况

使用showmount -e可查看当前NFS服务器的加载情况。

orangepi@orangepi5:~$ showmount -e
Export list for orangepi5:
/home/orangepi/nfs 192.168.50.0/24

7、安装NFS客户端

主机开启NFS服务后,在同一局域网内的另一台主机上安装NFS客户端,执行以下命令安装NFS客户端命令:

root@lub:/home/cat# sudo apt-get install nfs-common

客户主机上查看NFS共享目录,在客户端上执行"showmount -e 'NFS服务器IP'"

cat@lub:~$ sudo showmount -e 192.168.50.184
Export list for 192.168.50.184:
/home/orangepi/nfs 192.168.50.0/24

8、临时挂载NFS文件系统

使用mount命令挂载NFS服务器的共享目录到客户机的/mnt/nfs目录下

cat@lub:~$ sudo mount -t nfs 192.168.50.184:/home/orangepi/nfs /mnt/nfs

以上参数解释:

  • -t nfs:指定挂载的文件系统格式为nfs。
  • 192.168.50.184:指定NFS服务器的IP地址。
  • /home/orangepi/nfs:指定NFS服务器的共享目录。
  • /mnt/nfs:本地挂载,即要把NFS服务器的共享目录映射到客户机的/mnt/nfs目录下。

9、测试NFS共享目录

挂载成功后,在NFS服务器的共享目录下,输入"echo 'hello orangepi' > cat.txt"命令,则在共享目录下创建了一个名为cat.txt的文件:

cat@lub:/mnt$ cd nfs/
cat@lub:/mnt/nfs$ ls
cat@lub:/mnt/nfs$ pwd
/mnt/nfs
cat@lub:/mnt/nfs$ echo "hello orangepi">cat.txt
cat@lub:/mnt/nfs$ cat cat.txt
hello orangepi

在主机的/home/orangepi/nfs下进行查看,可以发现NFS服务器的共享目录中cat.txt文件:

orangepi@orangepi5:~$ cd /home/orangepi/nfs/
orangepi@orangepi5:~/nfs$ pwd
/home/orangepi/nfs
orangepi@orangepi5:~/nfs$ ls
cat.txt
orangepi@orangepi5:~/nfs$ cat cat.txt
hello orangepi

10、取消挂载

在客户机上使用,使用umount命令

cat@lub:/mnt$ sudo umount nfs
cat@lub:/mnt$ ls nfs/
cat@lub:/mnt$

使用该命令时要取消挂载的目录作为参数,没有输出表示正常执行。如果在当前挂载的目录进行umount操作,会提示"device is busy"。建议取消挂载时,先切换到目录,再进行umount。

相关文章:

Ubuntu 22.04上安装NFS服务

1、使用如下命令安装NFS服务端软件: # 在主机上运行以下命令 orangepiorangepi5:~$ sudo apt install nfs-server 2、在配置NFS时需要使用用户uid和组gid,可以使用id命令查看 # 在主机上运行id命令 orangepiorangepi5:~$ id uid1000(orangepi) gid100…...

数据结构--双链表

数据结构–双链表 单链表 VS 双链表 单链表:无法逆向检索,有时候不太方便 双链表:可进可退,存储密度更低一丢丢 双链表的定义 typedef struct DNode {ElemType data;struct DNode *prior, *next; }DNode, *DLinkList;双链表的初…...

javassist 动态修改 jar 包中 class

Javassist(Java Programming Assistant)是一个用于在运行时操作字节码的库,它可以用于动态修改和操作Java类。使用Javassist,可以通过修改现有的类或创建新的类来实现动态修改Jar包中的类。 下面是一个简单的示例,展示…...

什么是CC攻击?

CC攻击:DDOS(分布式拒绝服务攻击)的一种。黑客利用代理服务器或者控制的肉鸡,向目标web网页发送大量的请求,致使CPU处理不过来这么多的请求,长期处于100%的状态。造成通过该页面访问的端口堵塞,正常请求进不来。 怎么…...

​LeetCode解法汇总253. 重构 2 行二进制矩阵

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描述: 给你一个 2 行 n 列的二进制数组: 矩阵是一个二进制矩阵&#xff0…...

ChatGPT实战:生成演讲稿

当众发言(演讲)是一种传达信息、观点和情感的重要方式。通过演讲,人们可以在公共场合表达自己的观点,向观众传递自己的知识和经验,激发听众的思考和行动。无论是商务演讲、学术讲座还是政治演说,演讲稿的写…...

在线搭建K8S,kubernetes集群v1.23.9,docker支持的最后一个版本

1. 部署环境主机(条件说明) master 192.168.186.128 CentOS Linux release 7.9.2009 (Core) node1 192.168.186.129 CentOS Linux release 7.9.2009 (Core) node2 192.168.186.130 CentOS Linux release 7.9.2009 (Core)2. 系统初始化-所有节点&am…...

http自动跳转https的配置方法

要将HTTP自动重定向到HTTPS,您需要在Web服务器上进行以下配置: 在Web服务器上安装SSL证书。 打开Web服务器配置文件(如Apache的httpd.conf或Nginx的nginx.conf)。 找到监听HTTP请求的端口(通常是80端口)。…...

重新初始化k8s集群

执行如下命令,所有节点都执行 kubeadm reset初始化集群,仅在master(centos01)上执行 [rootcentos01 opt]# kubeadm init --apiserver-advertise-address 192.168.109.130 --image-repository registry.aliyuncs.com/google_containers --kubernetes-ve…...

JetBrains编程IDE将具备Ai助手功能,或将提高开发速度

近日JetBrains发布博客文章宣布,本周所有基于IntelliJ的IDE和.NET工具的EAP版本都将具备AI助手功能。而这些操作或许将提高开发效率,并且这些AI助手也是使用自家的**ERP**模型和OpenAI服务。 JetBrains表示,当下AI助手功能主要体现在IDE的两…...

【网络原理】TCP/IP协议五层模型

🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。 🤼专栏收录于:计算机网络原理 本期讲解协议、OSI七层模型、TCP/IP五层模型、网络设备所在的分层、数据的封装和分佣。 目录 …...

【备战秋招】每日一题:2023.05.10-华为OD机试(第二题)-解密

为了更好的阅读体检,可以查看我的算法学习博客 在线评测链接:P1307 题目内容 在全球恐怖主义危机下,一组间谍团队接收到了来自地下工作者的一串神秘代码。这组代码可以帮助他们访问恐怖分子的服务器,但是他们需要先解密代码才能使用它。代…...

【华为OD机试】矩阵最大值(python, java, c++, js)

矩阵最大值 前言:本专栏将持续更新华为OD机试题目,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你。关于OD机试流程、面经、面试指导等,如有任何疑问,欢迎联系我,wechat:steven_moda;email:nansun0903@163.com;备注:CSDN。 题目描述 给定…...

通过USB和wifi连接真机编写第一个脚本

目录 一、连接手机 1、通过usb数据线连接手机 2、无线连接手机 二、编写第一个脚本 一、连接手机 1、通过usb数据线连接手机 数据线连接手机并允许调试 cmd命令行执行: adb devices 如果没有显示device信息,请检查: 手机是否开启usb调…...

【javascript】 javascript对象函数 总结

Object.entries( ) 作用:返回一个数组,获取对象所有可枚举属性的名称 和 可枚举属性的值 const obj { a: 1, b: 2 }; const entries Object.entries(obj); console.log(entries); // [[a, 1], [b, 2]] Object.keys( ) 作用:返回一个数组…...

LVS+Keepalived 高可用群集实战部署

LVSKeepalived 高可用群集实战部署 一、Keepalived的概念1、LVS2、Keepalived及其工作原理3、Keepalived体系主要模块及其作用4、VRRP协议(虚拟路由冗余协议) 二、LVSKeepalived 高可用群集部署LVS 部署1.配置负载调度器(主、备相同&#xff…...

MCU启动过程

启动文件 启动文件到底什么作用,其实启动文件主要是进行堆栈之类的初始化, 中断向量表以及中断函数定义。启动文件要引导进入main 函数。 开发STM32F103用的启动文件是startup_stm32f10x_hd.s S32K146使用的启动文件是startup_S32K146.S 芯片架构 STM…...

Mysql 5.6使用配置文件my.ini来设置长时间连接数据库

对于已经安装了mysql和未安装都是同样的步骤。在C:\Program Files (x86)\MySQL\MySQL Server 5.6下生成一个my.ini文件。然后删除或者修改my-default.ini的名字。 一、my.ini配置文件如下 [mysqld] basedirC:\Program Files (x86)\MySQL\MySQL Server 5.6 datadirC:\Program F…...

改进YOLOv5/YOLOv8:复现结合即插即用 | 高效多尺度注意力(EMA),模块成为YOLOv5改进的小帮手

高效多尺度注意力(EMA) 论文介绍简介EMA模块图像分类实验目标检测实验yolov5加入方法yolo注册yaml文件yolov8加入方法EMA代码及加入方式yaml文件1EMA注意力论文 https://arxiv.org/ftp/arxiv/papers/2305/2305.13563.pdf 论文介绍 通道或空间的显著有效性 注意机制对产生更多…...

图像色彩增强论文调研

阅读论文 Deep Symmetric Network for Underexposed Image Enhancement with Recurrent Attentional Learning(ICCV2021) 使用对称编码器和解码器学习图像从低曝光转化到正常图片的映射方式,通过IFT(Invertible Feature Transformer)网络和提…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

云原生安全实战:API网关Kong的鉴权与限流详解

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦&#xff0…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...

Unity中的transform.up

2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...

边缘计算网关提升水产养殖尾水处理的远程运维效率

一、项目背景 随着水产养殖行业的快速发展,养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下,而且难以实现精准监控和管理。为了提升尾水处理的效果和效率,同时降低人力成本,某大型水产养殖企业决定…...

shell脚本质数判断

shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数)shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数) 思路: 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...