Linux_红帽8学习笔记分享_6(yum软件仓库技术)

news2024/9/17 8:29:31

Linux_红帽8学习笔记分享_6(yum软件仓库技术)

文章目录

  • Linux_红帽8学习笔记分享_6(yum软件仓库技术)
  • 1. RPM软件包的使用技巧
    • 1.1如何查询指定软件包是否安装
    • 1.2如何删除指定软件包
    • 1.3如何安装指定软件包
    • 1.5依赖关系
  • 2. YUM软件仓库的配置及使用
    • 2.1修改YUM软件仓库的配置文件
  • 3.YUM常见命令使用技巧
    • 3.1查询指定软件包
    • 3.2查询指定软件的详细信息(可判断该软件包是否安装 )
    • 3.3如何安装指定的软件包
    • 3.4如何删除指定的软件包
    • 3.5以分组的形式显示包是否安装软件包
    • 3.6使用分组的方式安装软件包
    • 3.7使用分组的方式删除软件包
    • 3.8查询源头/追根溯源
    • 3.9查看历史
  • 4.通过指定的HTTP或FTP服务器设置YUM软件仓库源
  • 5.YUM软件仓库的命令配置方法
    • 5.1 使用yum - config-manager--add-repo
    • 5.2使用yum - config-manager--add-repo却不在第五行写gpgcheck=0
  • 6.通过真实的Centos8服务器作为YUM软件仓库源
  • 7.YUM软件仓库源错误的解决方法

1. RPM软件包的使用技巧

1.1如何查询指定软件包是否安装

我们在安装一个软件的时候,必须要有.rpm文件,我们来到BaseOS/Packages这个目录,如下图所示看到这个目录下全都是.rpm文件


在这里插入图片描述

如上图所示,大概有1600多个

在这里插入图片描述

同样的BaseOS/Packages这个目录也有接近5000个rpm文件。

我们使用rpm –q 目标软件包指令来查看目标是否被安装,如果目标软件包已经被安装了,它会返回这个软件包的安装版本。如果目标安装包没有被安装,它会显示not install。如下图所示。

在这里插入图片描述

1.2如何删除指定软件包

我们使用rpm –e 目标软件包指令来删除目标项,如下图所示。

在这里插入图片描述

我们在用-q参数查询这个软件包

在这里插入图片描述

1.3如何安装指定软件包

注意:保证在Packages目录下有需要安装的rpm包

我们以安装来cifs-utils做一个测试,首先我们发现当前Packages下没有这个文件,如下图所示。

在这里插入图片描述

我们去另一个Packages下查看是否有该软件包,如下图所示。

接下来我们使用-ivh参数对目标软件包进行安装,其中i是install代表安装,v代表显示安装过程信息和详细的步骤信息,h代表安装进度条,我们安装cifs-utils,如下图所示。

在这里插入图片描述

接下来使用-q参数查看是否安装上了,如下图所示。

在这里插入图片描述

1.5依赖关系

在这里插入图片描述

如上图所示,出现了名为Failed dependencies的错误,它就是因为依赖关系而导致的错误,如果想要解决这种错误的话,我们需要先将它所被依赖的两个包或者另外的多个包手动删除掉,再删除你本要删除的这个目标软件包。

2. YUM软件仓库的配置及使用

2.1修改YUM软件仓库的配置文件

yum的全称是yellow dog updater,modified,在RHEL8下yum等同于dnf命令,但dnf可以并行的安装软件,而yum不会。

有三点要注意:一定要将目录切换到YUM软件仓库的工作目录/etc/yum.repos.d/下才有效;工作目录下的配置文件必须以.repo结尾;工作目录下的repo文件,有且只有一个。

首先我们找到工作目录下,并把工作目录下所有的repo文件放到back up文件夹中,如下图所示。

在这里插入图片描述

接下来创建并且编写我们自己的repo文件,写入软件仓库的名字,软件仓库的全称,软件仓库的绝对路径,软件仓库的激活,不校验软件包(其中file://是本地文件传输协议,后面的第三个/是本地路径用到的/)(如果不是本地地址是网络地址,那就根据它的需求来写,是HTTP服务器还是FTP等等其他服务器)如下图所示。

在这里插入图片描述

写完配置文件我们可以使用清空缓存的操作,如下图所示。

在这里插入图片描述

让Linux根据你写的配置文件进行重新计算一下当前的软件仓库,如下图所示,他记录了这个软件仓库的名字,它的全称,其软件包个数。

在这里插入图片描述

这个操作它同时还把我们之间各个软件包的依赖关系也给一并计算了。在进行了yum repolist操作之后,它会自动生成一个repo文件,如下图所示,这个文件内的内容全都是用注释写的,相当于没有这个文件。

在这里插入图片描述

接下来我们将appstream内容添加进去,如下图所示。

我们再次进行缓存清理和重新计算,如下图所示,出现了两个软件仓库。

在这里插入图片描述

3.YUM常见命令使用技巧

3.1查询指定软件包

我们使用search参数来查看这个软件包是否存在,它使用时对所在目录是否为工作目录不做限制,如下图所示,但是它不能查看该软件包是否被安装,要看安装没安装需要使用-q参数。

在这里插入图片描述

3.2查询指定软件的详细信息(可判断该软件包是否安装 )

我们使用info参数,如下图所示。

在这里插入图片描述
如上图,如果看到了Installed Packages就是代表这个软件包已经被安装了。

如果看到的是Available Packages就是代码这个软件包未安装,如下图所示。

3.3如何安装指定的软件包

我们使用-y install这个参数,其中-y表示不进行交互直接选择确定,如下图所示。
在这里插入图片描述
我们在使用info来插手是否被安装,发现已经是Installed Packages了,如下图所示。
在这里插入图片描述

3.4如何删除指定的软件包

我们使用erase参数来进行删除,如下图所示。

在这里插入图片描述

在删除之后,在使用info进行查询,它又重新变成了Available Packages,如下图所示。
在这里插入图片描述

对于有依赖关系的httpd的软件包,我们使用rpm –e删除不了,如下图所示。

在这里插入图片描述

我们使用yum –y ereas删除,如下图所示,它将所有互相依赖的软件包全部删除掉了,总共删除掉了47个互相之间有依赖关系的软件包


在这里插入图片描述

在删除之后,在使用info进行查询,它又重新变成了Available Packages,如下图所示。

在这里插入图片描述

使用rpm –q参数进行查询,也是显示未安装该软件包,如下图所示。

在这里插入图片描述

3.5以分组的形式显示包是否安装软件包

我们使用yum grouplist来查看,如下图所示。

在这里插入图片描述

显示的有可以获取安装的环境组和普通组

3.6使用分组的方式安装软件包

我们以Development Tools来做测试,使用yum -y groupinstall ‘目标软件包’来安装,操作如下图所示。

在这里插入图片描述

在安装完成后,我们再次使用grouplist查看,我们会发现刚刚安装的Development Tools被放在了已安装的组内,如下图所示。

在这里插入图片描述

3.7使用分组的方式删除软件包

我们使用yum -y groupremove ‘目标软件包’来删除,如下图所示。

在这里插入图片描述

在这里插入图片描述

我们在使用yum grouprlist查看运一下,如下图所示,它又回到了未安装的组内。

在这里插入图片描述

3.8查询源头/追根溯源

yum whatprovides/etc/passwd等效于yum provides/etc/passwd

追根操作必须是在yum软件仓库配好的情况下才可以进行。

在这里插入图片描述

如上图所示,passwd是在setup这个包里,如果这个包被安装了的话,这个文件就有了

3.9查看历史

它会把我们刚刚输入的yum命令给列出来,如下图所示。

在这里插入图片描述

4.通过指定的HTTP或FTP服务器设置YUM软件仓库源

我们来到/etc/yum.repos.d/的目录下,它有两个.repo文件,其中redhat内容都是注释,相当于没有该文件

在这里插入图片描述

我们使用vim编辑器查看并且使用repolist查看rhel_dvd.repo的两个仓库,如下图所示。

在这里插入图片描述

它的软件仓库的位置是在http服务器上,如下图所示。

在这里插入图片描述

在http上的软件仓库我们也可以安装软件包,如下图所示httpd未安装。

在这里插入图片描述

我们来安装它,如下图所示。

在这里插入图片描述

在这里插入图片描述

接下来我们使用rpm –q参数来查看是否成功安装,如下图所示。

在这里插入图片描述

接下来我们把目录下的.repo文件移入一个文件夹中去,我们来写自己的.repo文件,如下图所示。

在这里插入图片描述

注意:现在这样的情况下,如果没有依赖关系删除包可以运行,但如果有依赖关系删除包会出错,现在这样的情况下安装包也会出错。

我们在编写自己的repo之前一定要保证自己的servera能ping通content.example.com,如下图所示。

在这里插入图片描述
我们编写的内容如下图所示。
在这里插入图片描述

之后我们清空缓存,重新计算一下软件仓库,如下图所示。

在这里插入图片描述

如上图,我们可以看到我们有两个软件仓库,一个是app一个是base。接下来,我们安装软件包,发现vsftpd没有被安装,我们安装它,如下图所示。

在这里插入图片描述

我们使用rpm –q来查看是否被成功安装,如下图所示。

在这里插入图片描述

它已经被成功安装,特别的点是我们的软件仓库的baseurl用的是HTTP服务器。

5.YUM软件仓库的命令配置方法

我们想要安装一个yum-config-manager包,我们使用provides来查找一下这个软件包在哪里,如下图所示。

在这里插入图片描述

接下来我们找一下这个地址的具体位置,如下图所示。

在这里插入图片描述

我们直接使用ivh安装一下,如下图所示。

在这里插入图片描述

之后我们在输入yum-config-manager的时候,按下Tab键就可以自动补齐了,说明已经软件包安装上了,manager工具可以使用了。

我们来到工作目录下,将目录下的.repo文件都移入新建的backup文件夹中。

在这里插入图片描述

5.1 使用yum - config-manager–add-repo

我们使用yum - config-manager–add-repo来配置我们的软件仓库,如下图所示。
在这里插入图片描述
我们使用vim编辑器进入content_rhel8.0_x86_64_dvd_BaseOS. repo这个.repo文件中,为它的最后一行加入gpgcheck=0,如下图所示。
在这里插入图片描述

我们使用clean来清除存缓,使用repolist来重新计算软件仓库,如下图所示,这个content_rhel8.0_x86_64_dvd_BaseOS. repo软件仓库已经被成功创建了。

在这里插入图片描述

接下来我们添加content rhel8.0 x86 64 dvd Appstream.repo,操作如同上次一样如下图所示。

在这里插入图片描述
我们使用vim编辑器进入content rhel8.0 x86 64 dvd Appstream.repo这个.repo文件中,为它的最后一行加入gpgcheck=0,如下图所示。
在这里插入图片描述
我们使用clean来清除存缓,使用repolist来重新计算软件仓库,如下图所示,foundation0就有两个数据仓库了。
在这里插入图片描述

注意:使用yum - config-manager–add-repo这个指令时,你需要对新加入的软件仓库,使用vm进行编辑,加上最后一句gpgcheck=0。使用这个捷径的方法,它根据你给的地址会独立的生成一个repo文件,而我们手写的repo文件,一般都是把几个软件仓库集成在一个文件里写。

接下来我们将地址换为网络地址,首先我们要在foundation0的机器上ping一下foundation0.ilt.example.com,看一下是否连通,如果连通才能继续下一步操作,如下图所示。

在这里插入图片描述

我们将这个文件夹内有的repo文件移到新创建的backup1文件夹中去,如下图所示。

在这里插入图片描述

接下来我们使用便捷方法来添加这个网络地址的软件仓库,并清理缓存重新计算软件仓库,如下图所示可见它被成功生成了。

在这里插入图片描述

我们用同样的方式生成foundatione.ilt.example. com_rhel8.0_x86_64_dvd_Baseos. repo,如下图所示。

在这里插入图片描述

5.2使用yum - config-manager–add-repo却不在第五行写gpgcheck=0

我们安装一下autofs,发现它提示我们没有key,如下图所示。

在这里插入图片描述

而这件事的原因就是APPStream和BaseOS没有写gpgcheck=0,如下图所示。

在这里插入图片描述

在这里插入图片描述

我们为他俩补上,并清除存缓重新计算,如下图所示。

在这里插入图片描述

我们再次查看autofs的状态,如下图所示,是可以被获取的。

在这里插入图片描述

我们安装它,如下图所示。

在这里插入图片描述

在这里插入图片描述

我们再使用rpm或者yum的查看指令,发现它成功被安装了,如下图所示。

在这里插入图片描述

6.通过真实的Centos8服务器作为YUM软件仓库源

我们首先要保证Linux是连接外网的情况下,打卡华为镜像网站,如下图所示。

在这里插入图片描述

找到Centos,点击它,在弹出的窗口上点击继续使用,会出现如下图所示内容。

在这里插入图片描述

我们复制执行命令后面的https://的内容,粘贴到上方网址搜索栏中,把内容下载下来,如下图所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aZBByvHc-1682243160401)(E:\考核与考试资料\md笔记\所有md文件的图片\image-20230420153302582.png)]

我们用记事本打开这个repo文件发现都是写好的软件仓库,如下图所示。

在这里插入图片描述

我们可以使用FileZilla把这个文件传输到我们的工作目录下,注意:在拷贝前,要先将原来的配置文件做一个备份。

之后我们就可以清除存缓,重新计算软件仓库,去使用这些软件仓库来安装软件包了

7.YUM软件仓库源错误的解决方法

如果在在装包和删包的时候提升错误,这个是因为yum.PID的错误,我们需要按照提示,找到那个目录下的文件使用rm –f 把这个PID文件删除掉即可


以上就是本文全部内容,如果它对您有帮助,请您帮我点个赞,这对我真的很重要

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

张量、标量、向量和矩阵

张量、标量、向量和矩阵 https://github.com/bovem/publications/tree/master/Linear%20Algebra 张量是一个数据数组(数字、函数等),它以任意数量(0 或更大)的维度展开。维数称为张量秩。 秩 0 张量 没有维度(0)的张量。 A 是 0 维张量 秩 1 张量 仅在一维中展开的张…

MySQL 字段为 NULL 的5大坑,99%人踩过

数据库字段允许空值(null)的问题,你遇到过吗? 在验证问题之前,我们先建一张测试表及测试数据。 数据库字段允许空值(null)的问题,你遇到过吗? 在验证问题之前,我们先建一张测试表及测试数据。 构建的测试…

如何实现U盘低格?这样操作快速搞定!

案例:怎么对U盘进行低级格式化? 【我的U盘出现了异常,我想对它进行低级格式化处理,有没有小伙伴知道怎么操作?】 随着电脑和移动设备的普及,U盘已经成为我们生活中必不可少的存储工具。当我们使用U盘的时…

xml注入漏洞

一、先认识XML XML有两个先驱——SGML(标准通用标记语言)和HTML(超文本标记语言),这两个语言都是非常成功的标记语言。SGML多用于科技文献和政府办公文件中,SGML非常复杂,其复杂程度对于网络上…

windows中vscode配置C/C++环境

首先要把MinGW的环境安装完,我一般是下载带有MinGW的codeblocks,这样省去自己安装MinGW。因为安装MinGW还挺麻烦的。 安装完codeblocks,找到其安装目录,把bin文件配置到环境变量去: 将bin添加到环境变量 然后打开vsco…

【MySQL高级】——索引数据结构

一、全表遍历 每个数据页一次加载搜索 二、Hash结构 1. Hash简介 2. 两种常见加快查找速度的数据结构 3. 为什么不采用Hash结构 <1> Hash索引仅能满足&#xff0c;!和IN查询。如果进行范围查询&#xff0c;哈希型的索引&#xff0c;时间复杂度会退化为o(n);而树型的“…

PLUS模型和InVEST模型生态系统服务多情景模拟预测、ArcGIS空间数据处理、空间分析与制图、土地利用时空变化

查看原文>>>基于”PLUS模型“生态系统服务多情景模拟预测实践技术应用 目录 第一章、理论基础与软件讲解 第二章、数据获取与制备 第三章、土地利用格局模拟 第四章、生态系统服务评估 第五章、时空变化及驱动机制分析 第六章、论文撰写技巧及案例分析 基于Ar…

B端产品如何搭建用户帮助体系

用户帮助体系可以提升用户的使用体验&#xff0c;引导用户正确的使用产品&#xff0c;并且体验产品的各个功能&#xff0c;B端产品因为其特殊的业务属性和复杂度&#xff0c;通常其学习成本不低。这些成本不仅仅体现在对于复杂业务概念及流程的认知方面&#xff0c;同时体现在整…

零信任网络安全:为什么越来越多的企业选择采用这一方法?

第一章&#xff1a;引言 随着信息化技术的发展和普及&#xff0c;网络安全问题日益严峻&#xff0c;黑客攻击、病毒感染、数据泄露等问题层出不穷&#xff0c;给企业带来了极大的损失。为了保障企业信息安全&#xff0c;企业采取了一系列安全措施&#xff0c;比如加强防火墙、…

【JavaScript】8.DOM的节点操作

DOM的节点操作 获取元素通常使用两种方式&#xff1a; 利用 DOM 提供的方法获取元素利用节点层级关系获取元素 利用 DOM 提供的方法获取元素 document.getElementById()document.getElementsByTagName()document.querySelector 等逻辑性不强、繁琐 利用节点层级关系获取元素 利…

vite中使用html2canvas 将img、svg和div转canvas

目录 div转canvas svg转canvas img转canvas div转canvas 使用 html2canvas 插件&#xff0c;其官网&#xff1a;html2canvas - Screenshots with JavaScripthttp://html2canvas.hertzen.com/ 安装html2canvas&#xff1a; npm i -S html2canvas 引入&#xff1a; import h…

zotero文献管理软件应用

文章目录 基础教学快速安装与入门第二部分&#xff0c;比较详细的教学与补充文献管理工具比较浏览器插件获取文献与文献pdfZotero 界面添加文件的其他方式管理题录在论文中插入引文文献同步插件与常见问题茉莉花PDFTranslator常见问题1.CNKI页面批量抓取题录失败2.文献类型标识…

Python入门教程+项目实战-11.4节: 元组与列表的区别

目录 11.4.1 不可变数据类型 11.4.2 可变数据类型 11.4.3 元组与列表的区别 11.4.4 知识要点 11.4.5 系统学习python 11.4.1 不可变数据类型 不可变数据类型是指不可以对该数据类型进行修改&#xff0c;即只读的数据类型。迄今为止学过的不可变数据类型有字符串&#xff…

leetcode 494. 目标和 (01 背包

。。最近背包问题做得好崩溃 这题的解法和 分割子集、石头 差不多 分成两个集合 &#xff08;注意这里计算的时候是不带上符号的&#xff0c;只是单纯的数字 a. 正号 的数字集合 P b. 负号 的数字集合 N 所以就有以下公式 sum&#xff08;P&#xff09; sum&#xff08;N&…

XGBoost学习总结

XGBoost有两种实现&#xff0c;原生版本和Sklearn版本 &#xff0c;我选的是sklearn的主要是都用sklearn方便 参数 参数表 class xgboost.XGBRegressor ( max_depth3, learning_rate0.1, n_estimators100, silentTrue, objectivereg:linear, boostergbtree, n_jobs1, nthre…

超简单有趣的模拟算法:元胞自动机(CA)原理简介与 matlab 代码实现

很久之前就就听说了元胞自动机&#xff08;cellular automata&#xff0c;CA&#xff09;&#xff0c;但是一直没有尝试。得知2023年美赛春季赛只有两道赛题的时候&#xff0c;怕考到这个&#xff0c;所以出一篇元胞自动机的博客&#xff0c;权且当一篇学习笔记。 尝试过后才发…

亚科转债,鹿山转债上市价格预测

亚科转债 基本信息 转债名称&#xff1a;亚科转债&#xff0c;评级&#xff1a;AA&#xff0c;发行规模&#xff1a;11.59亿元。 正股名称&#xff1a;亚太科技&#xff0c;今日收盘价&#xff1a;5.58元&#xff0c;转股价格&#xff1a;6.46元。 当前转股价值 转债面值 / 转…

SpringBoot搭建的方便易用、多租户、高颜值的教学管理平台

一、开源项目简介 硕果云&#xff0c;基于 Spring Boot 搭建的方便易用、高颜值的教学管理平台&#xff0c;提供多租户、权限管理、考试、练习、在线学习等功能。 主要功能为在线考试、练习、刷题&#xff0c;在线学习 课程内容支持图文、视频&#xff0c;考试类型支持考试、练…

vue可视化大屏

为什么要用 mapbox ? 各位可以自行搜索上面提到的或者其他的webGIS框架或者集成服务商&#xff0c;可以很轻松的比较出mapbox的优势&#xff1a; 支持3D地形、3D模型支持多种坐标系投影mapbox studio 在线编辑地图样式&#xff0c;使用时只需一个链接&#xff0c;更新时链接…

【一篇文章学会使用从暴力法=>记忆化搜索=>动态规划以及栈的多种方法来实现LeetCode 32题最长有效括号问题】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…