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 列的二进制数组: 矩阵是一个二进制矩阵࿰…...
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.配置负载调度器(主、备相同ÿ…...
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)网络和提…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
