用户
搜索

该用户从未签到

i春秋-脚本小子

Rank: 2

8

主题

8

帖子

164

魔法币
收听
0
粉丝
2
注册时间
2020-9-9
发表于 2021-10-24 14:29:30 02712
本篇文章作者邪色蝴蝶,本篇文章参与i春秋作家连载计划所属邪色蝴蝶个人,未经许可,禁止转载。


0X00:前言  
各位表哥们,大家好,这是我连载的第十二篇文章,有不足之处请大家多多指出。  
本篇是写Linux-安装与更新软件包

0X01:软件包和RPM
RPM软件包管理器提供了一种标准的方式来打包欤件进行分发。与使用从存档提取到文件系统的软件相比,采用RPM软件包形式管理软件要简单得多。管理员可以通过它跟踪欤件包所安装的文件,需要删除哪些件并检查确保显示支持赖件包。有关已安装件包的信息存储在各个系统的本地RPM数据库中。
RPM软件包文件由四个元素组成:
QQ截图20211023104159.png

-NAME是描述其内容的一个或多个词语(coreutils)
-VERSION是原始软件的版本号(8.30)。
-RELEASE是基于该版本的件包的发行版号,由赖件打包商设置,后者不一定是原始欤件开发商(4.el8)。
-ARCH是编译的软件包运行的处理器架构。noarch表示此软件包的内容不限定架构(与表示64 位的x86一64和表示64位ARM的aarch64等等相反) file:///C:\Users\lenovo\AppData\Local\Temp\ksohtml\wps603B.tmp.png
从存储库安装软件包时,只需要软件包的名称。如果存在多个版本,则会安装具有更高版本号的软件包。如果一个版本存在多个发行版,则会安装具有更高发行版号的赖件包。
每个RPM软件包是包含以下三个组成部分的特殊存档:
- 软件包安装的文件。
- 件包(元数据)有关的信息,如name、version、release和arch软件包的摘要和描述;是否要求安装其他软件包;授权许可信息;软件包更改日志;以及其他详细信息。
- 在安装、更新或删除此软件包时可能运行的脚本,或者在安装、更新或除其他软件包时触发的脚本。
通常,软件提供商使用GPG密钥对RPM软件包进行数字签名RPM系统通过确认件包已由相应的GPG密钥签名来验证软件包的完整性。如果GPG 签名不匹配RPM系统拒绝安装赖件包。
我们在安装该件包仅获取该软件包的最新版本。为了更新软件,RPM会删除旧版本的软件包,再安装新版本。更新通常会保留配置文件,但新版本的打包程序会定义确切的行为。
在大多数情形中,一次仅可安装软件包的一个版本或发行版。不过,如果软件包构建为没有冲突的文件名,则可安装多个版本。最重要的相关例子是kernel软件包。由于新的内核只有通过启动至该内核才能进行测试,该软件包进行了特殊设计以便一次能够安装多个版本。如果新内核启动失败则旧内核依然可用并可启动。
rpm实用程序是低级工具,可获取欤件包文件和已安装软件包的内容的相关信息。默认情况下,它从已安装软件包的本地数据库中获取信息。但是,可以使用· p选项来指定我们想获取有关已下载软件包文件的信息。这样做的目的可能是想在安装之前检查软件包文件的内容。
查看已安装软件包的一般信息:
QQ截图20211023110546.png

列出软件包安装的文件:

QQ截图20211023110803.png
rpm命令也可以用于安装已下载到本地目录的RPM软件包。

QQ截图20211023110915.png

以下是RPM查看命令摘要:
QQ截图20211023111017.png

0X02:YUM
该低级别rpm命令可用于安装软件包,但不可与软件包存储库一起使用或自动解决多个源的依赖关系/
Yum的设计目标是在管理基于RPM的软件安装和更新方面成为一个更理想的系统。Yum命令允许我们安装、更新、删除和获取有关软件包及其依赖性的信息。
使用yum查找软件
- yum help 显示用法信息
- yum list 显示已安装和可用的软件包
QQ截图20211023111743.png

- yum search KEYWORD根据仅在名称和摘要字段中找到的关键字列出的软件包。
若要搜索名称、摘要和描述字段中包含“web server”的软件包,可以使用search all:
QQ截图20211023112001.png


- yum info PACKAGENAME返回与软件包相关的详细信息,包括安装所需的磁盘空间。
获取Apache HTTP Server的相关信息:

QQ截图20211023112209.png

- yum provides PATHNAME显示与指定的路径名匹配的软件包。
若要查找提供/var/www/html目录的软件包,可使用:
QQ截图20211023112431.png

使用yum安装和删除软件
- yum install PACKAGENAME获取并安装软件包,包括所有依赖项:
QQ截图20211023112639.png

- yum update PACKAGENAME获取并安装指定赖件包的较新版本,包括所有依赖项。通常,该进程尝试适当保留配置文件,但是在某些情况下,如果打包商认为旧文件在更新后将无法使用,则可能对其进行重命名。如果未指定PACKAGENAME,它将安装所有相关更新。
QQ截图20211023112723.png

由于新的内核只有通过启动至该内核才能进行测试,该软件包进行了特殊设计,以便一次能够安装多个版本。如果新内核启动失败,则依然可以使用旧的内核。使用yum update kernel实际上会安装新的内核。配置文件中保存一份软件包列表,即使在管理员要求更新时也始终安装这些软件包。
- yum remove PACKAGENAME删除安装的软件包,包括所有受支持的软件包:
QQ截图20211023112905.png

使用yum安装和删除各组软件
- yum也具有组的概念,即针对特定目的而一起安装的相关软件集合。常规组是软件包的集合。环境组是常规组的集合一个组提供的软件包或组可能为mandatory(安装该组时必须予以安装)、default(安装该组时通常会安装),或 optional(安装该组时不予以安装,除非特别要求)file:///C:\Users\lenovo\AppData\Local\Temp\ksohtml\wps948C.tmp.pngyum list相似,yum group list命令可显示已安装和可用的组的名称。
yum list相似,yum group list命令可显示已安装和可用的组的名称。
QQ截图20211023113110.png

有些组一般通过环境组安装, 默认为隐藏。可通过yum group list hidden命令列出这些隐藏组。
- yum group info显示组的相关信息。它可以列出必选、默认和可选软件包的名称。
QQ截图20211023113357.png


- yum group install 将安装一个组,同时安装其必选和默认的软件包,以及它们依赖的软件包。
QQ截图20211023113502.png


查看事务历史记录
- 所有安装和删除事务的日志记录在/var/log/dnf.rpm.log中。
QQ截图20211023113829.png

- yum history显示安装和删除事务的摘要。
QQ截图20211023113908.png


- history undo选项可以撤销事务。
QQ截图20211023113944.png


以下是Yum命令摘要:

QQ截图20211023114017.png











发新帖
您需要登录后才可以回帖 登录 | 立即注册