yum的概念、相关命令、ftp http部署步骤;NFS共享文件操作步骤

 

目录

yum

配置文件

缓存功能操作步骤

创建并配置本地仓库文件

yum相关命令

yum install __

yum repolist

yum list __

yum info __

yum search __

yum whatprovides __

yum remove __

yum -y update __

yum history

yum grouplist

yum groupinstall "__"

桌面环境安装 实验步骤

最小化系统后续安装图形化界面后开机自动进入桌面

部署yum仓库

在ftp上搭建仓库

一. 配置ftp服务器环境

二. 复制软件包和仓库元数据到ftp

三. 配置客户端主机

在http上搭建仓库

一. 配置http服务器环境

二. 测试

三. 客户端实现http仓库

把互联网上的仓库下载到本地

一. 配置环境

二. 创建repodata元数据目录

NFS

实验步骤

一. 配置环境

常见挂载选项

二. 测试


在本章实验前,需要使用两台Linux CentOS7的虚拟机,需要两台主机都创建一个最初始的快照用于后续恢复主机状态

yum

用来解决rpm依赖关系的工具

yum:Yellowdog Updater Modified

配置文件

yum服务配置文件的位置:/etc/yum.conf

参数

说明

cachedir

缓存目录;当使用yum安装软件包时,所安装的软件包和相关依赖会被缓存起来,这个目录就是安装软件包时保存的指定位置

keepcache

保持缓存;1:开启缓存功能,0:关闭缓存功能

开启缓存功能会把之后缓存的软件包都存储到本地的指定目录

debuglevel

调试信息输出的级别,默认为2

logfile

日志文件的位置

exactarch

在安装软件包时,该软件包架构和系统架构保持一致

obsoletes

在更细软件包时,允许更新一些较为老旧的版本

gpgcheck

是否开启gpg校验规则

plugins

是否允许启用插件

installonly_limit

用几个内核处理程序

bugtracker_url

跟踪错误信息URL

distroverpkg

识别软件包的发行版本

缓存功能操作步骤

修改配置文件

删除原有仓库替换为阿里的仓库(全部复制粘贴进Xshell)

rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum clean all

安装httpd测试

yum -y install httpd

由于开启了缓存功能,所以指定目录也会出现混存文件

c7-media:仓库标识

cd 进 update目录下的packages目录就能看到缓存的软件包了

创建并配置本地仓库文件

在 /etc/yum.repos.d/ 仓库目录下,删除全部原有仓库,自己编写一个仓库文件

yum读取仓库文件时会识别后缀 .repo

自定义仓库文件如下,保存并退出

[example]
name=example
baseurl=file:///media/cdrom
gpgcheck=0
# enabled=1 默认开启
# gpgkey=http://myrepository.example.com/repo/RPM-GPG-KEY-myrepo

# [example]: 方括号内的是仓库ID,用于唯一标识这个仓库。
# name: 仓库名称,可以是任何描述性的文本。
# baseurl: 仓库的基础URL,即包含软件包的目录的地址。
# enabled: 表示是否启用此仓库。1表示启用,0表示禁用。默认启用
# gpgcheck: 指定是否检查软件包的GPG签名。1表示检查,0表示不检查。默认启用
# gpgkey: 指定用于验证软件包GPG签名的公钥文件的位置。开启gpg验证时才添加该行

清理仓库缓存并重建仓库缓存

yum相关命令

yum install __

使用 yum install ftp 命令对ftp软件包进行 安装/下载到本地/取消 操作

yum repolist

列出仓库信息

yum list __

查看ftp相关软件包信息

yum info __

查看ftp软件包详细信息

yum search __

模糊查询名称中带有ftp的软件包

yum whatprovides __

精准查询软件包

yum remove __

卸载指定软件包

yum -y update __

更新已有软件包

yum history

查看yum命令历史操作

yum grouplist

显示以组为单位安装的所有组

yum groupinstall "__"

以组的方式安装软件包

桌面环境安装 实验步骤

做当前实验之前如果没有快照需要创建一个快照,因为安装完桌面需要恢复快照做后续实验

确保正确性,复制要安装的组名

 GNOME 桌面

粘贴进双引号内

输入 y 回车确认安装

使用 systemctl start graphical.target 命令启动图形界面

返回虚拟机,来到如下图界面,创建用户

设置密码 然后点击右上角前进

配置完成后进入桌面图形化界面

最小化系统后续安装图形化界面后开机自动进入桌面

需要注意的是,如果在一开始安装系统时就选择带有图形化桌面的系统,在开机时自动进入图形化界面终端。

如果在一开始安装时选择的是最小化安装的系统,就算后续安装了图形化界面,在下次开机时还是会进入默认终端而不是图形化桌面

通过设置链接来让 default.target 指向 graphical.target 实现开机自动进入图形化桌面

ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

graphical.target:带有图形界面的终端环境

此时再重启就会自动进入桌面环境了

部署yum仓库

在ftp上搭建仓库

一. 配置ftp服务器环境

把所有rpm软件包放到 ftp 上

安装ftp服务器软件包;vsftpd:Very Secure FTP Daemon

进入vsftpd服务的根目录,启动该服务,为了方便实验关闭防火墙

此时在宿主机的资源管理器中通过IP地址访问该虚拟机的 ftp 服务,可以看到pub文件夹对应 /var/ftp 下的 pub目录

二. 复制软件包和仓库元数据到ftp

如果想要实现将光盘中的所有软件包复制到ftp服务器中,需要同时复制光盘挂载目录下的Packages目录和repodata目录

因为repodata目录中存储着仓库中所有软件包的元数据文件,元数据文件包含了软件包的描述、依赖关系等重要信息,帮助包管理工具正确地识别和安装软件包。

当你使用 yum 或 dnf 命令时,就需要用到repodata目录来处理软件包的搜索和解决依赖关系。

拷贝两个目录到ftp服务器存储位置

回到访问ftp的资源管理器可以看到已经拷贝完成

三. 配置客户端主机

打开另一台虚拟机,登入Xshell,打开作为客户端的这台主机的仓库配置文件

将仓库的URL改为FTP的地址

清理仓库缓存

随机安装一个软件包测试能否正常安装

在http上搭建仓库

一. 配置http服务器环境

安装所需软件包

httpd:一个开源的跨平台的 Web 服务器软件,可以用来发布网站和提供 Web 服务

/var/www/html是默认的 HTTP Server 网站根目录,用于存放网站文件和资源。

和ftp操作相似,进入根目录、创建目录、拷贝文件

启动服务,为了方便实验关闭防火墙

二. 测试

在网页中输入服务器对应地址

现在可以通过网页下载软件包

三. 客户端实现http仓库

打开客户端主机的仓库文件

修改URL为对应网址

清理缓存

随机安装软件包测试,就完成了

把互联网上的仓库下载到本地

一. 配置环境

先把仓库替换为阿里提供的镜像仓库,直接粘贴到Xshell输入即可

rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum clean all

安装所需软件包

createrepo 是一个用于创建 YUM 软件仓库的工具,可以将一组 RPM 软件包整理成 YUM 软件仓库所需的索引数据和元数据

yum-utils 是一组 YUM 工具的集合,提供了许多有用的命令和功能,用于增强和扩展 YUM 包管理器的功能

列出仓库信息,可以看到仓库中有4个仓库

进入/opt目录, 同步仓库中指定的仓库。为了方便实验,所用仓库下载几个就可以Ctrl + C 取消下载

此时就可以看到下载的仓库目录

二. 创建repodata元数据目录

进入base仓库目录,可以看到只有Packages目录,而缺少repodata目录

使用createrepo 指向包路径;来创建元数据目录

由于实验时下载的软件包的时候没有下载完整,所以生成元数据目录时可能会出现报错ERROR的情况,是正常情况。

在仓库居多的情况下,可以直接在/opt下使用createrepo命令,通过整个仓库的软件包生成元数据

使用的前提是,4个目录的位置要固定在同一级,不能分开存放

试验完成,测试:比如将仓库文件拷贝至ftp服务器目录下实现在ftp上部署仓库

NFS

NFS(Network File System)是一种在计算机网络上共享文件的文件系统。它允许在不同的计算机系统之间通过网络访问文件和目录,就像它们本地存在一样。

安全性低,无法解决单点故障

实验步骤

一. 配置环境

先恢复101主机系统快照,进入Xshell,关闭防火墙、内核安全机制,安装所需软件包(nfs-utils、rpcbind)

  • nfs-utils 包含了与 NFS 相关的工具和服务,使得系统能够充当 NFS 服务器或客户端。
  • rpcbind 是一个用来管理 Unix 系统中远程过程调用(RPC)服务注册的守护进程。NFS 使用 RPC 机制来处理文件共享请求。
    • rpcbind 需要在 NFS 服务器和客户端上运行,以便正确地映射和管理 RPC 服务请求。

在根目录下创建一个挂载用的目录(/share),用vim编辑器编辑 指定要共享的目录以及访问权限 的文件

如下图所示,指定共享目录,指定访问主机或网段,自定义挂载选项

常见挂载选项

选项

说明

rw

读写权限

ro

只读权限

sync

同步;服务器端在向客户端发送数据时,会等待客户端确认数据已经被接收并写入到磁盘之后才会继续操作。数据会同步写入到磁盘,确保了数据的持久性和一致性,性能低,因为需要等待确认。

async

异步;服务器端在向客户端发送数据时,不会等待客户端的确认,而是会将数据缓存到内存中,然后立即继续其他操作。提高了性能,因为不需要等待确认,但在系统崩溃或网络故障时可能会导致数据丢失,因为数据可能尚未写入磁盘。

no_root_squash

允许客户端使用 root 用户访问共享目录。如果没有这个选项,root 用户对文件的操作权限将被降级为 nfsnobody 用户。

root_squash

默认选项,表示将 root 用户的权限降级为 nfsnobody 用户。

all_squash

将所有用户的权限都映射为 nfsnobody 用户。

subtree_check

默认选项,检查共享目录的父目录权限。

no_subtree_check

不检查共享目录的父目录权限,可以提高性能。

二. 测试

开启所需服务

使用 exportfs -vr命令查看共享目录

恢复第二台102虚拟机快照并启动操作

因为要使用nfs提供的文件系统,所以客户端也需要安装nfs-utils软件包

挂载101主机的目录到根目录下的mnt目录,然后使用df命令查看挂载是否成功

cd到挂载的目录下,创建一个文件

回到101主机,查看/share目录下,可以看到从102主机创建的文件,并且是root权限,因为在配置时添加了no_root_squash选项

相反,在101主机服务端创建的文件在102主机客户端也能看到

来到102客户端主机操作

如果此时创建一个用户

用创建的用户登录102主机,在挂载的/mnt目录下是没有权限的

此时使用 ll 命令查看根目录信息

可以看到 /mnt 目录的权限都是root,对于其他用户只有读的权限

回到101主机

修改 /share目录的权限为777

再查看102主机 的mnt目录的权限就变了

在mnt目录内创建一个文件,使用 ll 命令,权限都是zhangsan

查看存储用户信息的文件

可以看到zhangsan这个用户的uid和gid都是1000

再来到101主机 该文件的权限uid和gid也都是1000

通过 cat /etc/passwd 知道101主机上并没有uid和gid为1000的信息条目

如果此时为101服务端主机创建一个用户

此时查看/share目录就会变成属主和属组就变成 lisi 了

由此可见,因为nfs是网络文件系统,是跨主机共享的,所以 NFS 使用的是 UID(用户标识符)和 GID(组标识符)来管理文件的权限和所有权。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/731474.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小程序 获取插件用户openpid?

接口英文名 getPluginOpenPId 功能描述 通过 wx.pluginLogin 接口获得插件用户标志凭证 code 后传到开发者服务器,开发者服务器调用此接口换取插件用户的唯一标识 openpid。 调用方式 HTTPS 调用 第三方调用 调用方式以及出入参和HTTPS相同,仅是调…

AXI学习笔记

文章目录 AXI口诀:AXI三种总线,三种接口,一个协议背景知识一、 AMBA:二、AXI2.1 通信协议与握手机制2.2 AXI协议特点2.3 三种AXI总线类型(AXI4、AXI4-lite、AXI4-stream)2.3.1 AXI通道(5通道&am…

通信系统概述

1.定义 通信系统(也称为通信网络)是利用各种通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,依靠网络软件及通信协议实现资源共享和信息传递的系统。 2.概述 随着通信技术和网络技术的不断发展&#xff…

『 Linux 』 进程间通信 - 匿名管道

文章目录 什么是管道匿名管道的直接原理pipe( )系统调用接口匿名管道代码示例匿名管道的特征总结 什么是管道 管道(Pipe) 是一种基本的进程间通信(IPC)机制,允许一个进程与另一个进程之间进行数据传输; 管道工作方式类似于生活中的水管因此命名为管道,数据从一端流入另一段流出…

技术分享 | 基于 API 解析的 Python 爬虫

最近各大高校纷纷翻拍 Coincidence 抖肩舞,需要对这种流行现象进行数据分析。数据分析首先需要有数据,本文介绍了爬取 B 站相应视频的评论、弹幕、播放量、点赞数等数据的方法。爬虫有多种实现方法,大型的网络爬虫多基于成熟的爬虫框架&#…

2-12 基于CV模型卡尔曼滤波、CT模型卡尔曼滤波、IMM模型滤波的目标跟踪

基于CV模型卡尔曼滤波、CT模型卡尔曼滤波、IMM模型滤波的目标跟踪。输出跟踪轨迹及其误差。程序已调通,可直接运行。 2-12 CV模型卡尔曼滤波 CT模型卡尔曼滤波 - 小红书 (xiaohongshu.com)

基于jeecgboot-vue3的Flowable流程-自定义业务表单处理(一)支持同一个业务多个关联流程的选择支持

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 这部分先讲讲支持自定义业务表单一个业务服务表单多个流程的支持处理 1、后端mapper部分 如下,修改selectSysCustomFormByServiceName为list对象,以便支持多个 &…

卫星导航与gazebo仿真

全球卫星导航系统(Global Navigation Satelite System,GNSS),简称卫星导航,是室外机器人定位的一个主要信息来源。 卫星导航能给机器人提供什么信息? 正常工作时,实际上可以提供机器人所需的所有定位信息,包括&#x…

【例子】webpack配合babel实现 es6 语法转 es5 案例 [通俗易懂]

首先来说一下实现 es6 转 es5 的一个简单步骤 1、新建一个项目,并且在命令行中初始化项目 npm init -y2、安装对应版本的 webpack webpack-cli(命令行工具) "webpack""webpack-cli"3、安装 Babel 核心库和相关的 loader "babel-core&qu…

K8s 如何集成ChatGPT?

文章目录 1. 什么是K8s?2. 集成K8s和大模型的效果3. ChatGPT监测K8s集群Demo4.可预想的实践用例5. 结论 1. 什么是K8s? 熟悉云原生领域的朋友对 K8s 一定不会陌生。K8s(Kubernetes)是一个开源的容器编排平台,用于自动…

《华为项目管理之道》第1章笔记

《华为项目管理之道》,是新出的华为官方的项目管理书,整个书不错。第1章的精华: 1.2.2 以项目为中心的机制 伴随着项目型组织的建立,华为逐步形成了完备的项目管理流程和制度,从而将业务运 作构建在项目经营管理之…

生成模型的两大代表:VAE和GAN

生成模型 给定数据集,希望生成模型产生与训练集同分布的新样本。对于训练数据服从\(p_{data}(x)\);对于产生样本服从\(p_{model}(x)\)。希望学到一个模型\(p_{model}(x)\)与\(p_{data}(x)\)尽可能接近。 这也是无监督学习中的一个核心问题——密度估计…

STM32——温湿度采集与显示

一、I2C协议 关于I2C协议的基本原理和时序协议 12C协议使用两条线:SDA(Serial Data Line,串行数据线)和SCL(Serial Clock Line,串行时钟线)。这两条线都是开漏输出,意味着它们需要上…

智能网联汽车实训教学“好帮手”——渡众机器人自动驾驶履带车

智能网联汽车实训教学“好帮手”——渡众机器人自动驾驶履带车 人工智能技术的兴起,为传统汽车行业注入了强有力的变革基因,以AI技术为驱动的无人驾驶成为汽车产业的未来,同样也面临诸多机遇和挑战。 一方面智能网联汽车的发展,为…

基于TensorFlow和OpenCV的物种识别与个体相似度分析【附完整源码】Flask网页版

一、OpenCV与TensorFlow介绍 1. 什么是OpenCV OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。OpenCV由英特尔公司在1999年发起,并在2000年以开源的方式发布。该库被设计为高效的计算机视觉应用程序…

OpenHarmony-HDF驱动框架介绍及加载过程分析

前言 HarmonyOS面向万物互联时代,而万物互联涉及到了大量的硬件设备,这些硬件的离散度很高,它们的性能差异与配置差异都很大,所以这要求使用一个更灵活、功能更强大、能耗更低的驱动框架。OpenHarmony系统HDF驱动框架采用C语言面…

UE5近战对抗系统Tutorial

文章目录 BP_Character 组合攻击Notify State 检测攻击BP_Character 攻击反馈BP_Character 生命系统BP_Character 死亡效果BP_Character 武器系统BP_Enemy 初始化和行为树 BP_Character 组合攻击 首先我们获取攻击动画,在这里使用的是 Easy Combo Buffering 的攻击…

Nature推荐:快速完成一篇论文,你只需要这 12 个技巧!

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 当你面对空白屏幕,苦思冥想数小时、数日甚至数月后,仍然没办法搞定论文。你该怎么办? 写作障碍虽然普遍存在,但对需要发表论文…

PyMuPDF 操作手册 - 05 PDF的OCR识别等

文章目录 六、PyMuPDF的OCR识别6.1 使用 Tesseract进行OCR6.2 使用MuPDF进行OCR6.3 使用 Python 包easyocr进行OCR识别6.4 使用 Python ocrmypdf包进行OCR识别6.5 将图像批量OCR并转换为PDF七、PDF附加、嵌入、批注等7.1 附加文件7.2 嵌入文件7.3 从文档中获取所有批注六、PyMu…

如何恢复未格式化分区数据?看这里!

什么是未格式化分区? 未格式化或RAW文件系统的分区无法被Windows操作系统识别和挂载,因此,Windows会提示你进行格式化以创建新的文件系统。注意,不要进行格式化。通常,文件系统变为未格式化或RAW会出现以下常见错误消…