RHEL软件包管理

news/2024/7/5 1:42:39

3.1  RHEL软件包管理

完善的软件包管理机制对于操作系统来说是非常重要的,没有软件包管理器,用户使用操作系统将会变得非常困难,也不利于操作系统的推广。用户要使用Linux,需要了解Linux的包管理机制。随着Linux的发展,目前形成了两种包管理机制:DNF/RPM(Red Hat Package Manager)和DPKG(Debian Package)。DNF和RPM本质上是同一类包管理软件,DNF是RPM的更新版本。DNF、RPM和DPKG都是源代码经过编译之后,通过包管理机制将编译后的软件进行打包,避免了每次都编译软件的烦琐过程。

3.1.1  RPM软件包管理

RPM类似于Windows里面的“添加/删除程序”,最早由Red Hat公司研制,现已成为一个开源工具,并更名为RPM Package Manager。RPM软件包以rpm为扩展名,同时RPM也是一种软件包管理器,可以让用户方便地进行软件的安装、更新和卸载。操作RPM软件包对应的命令为rpm。

RPM包通常包含二进制包和源代码包。二进制包可以直接通过rpm命令安装在系统中,源代码包则可以通过rpm命令提取对应软件的源代码,以便进行学习或二次开发。

注意:在Red Hat Enterprise Linux 9里面可以使用dnf命令替换rpm命令来管理RPM包。

1. 安装软件包

RPM提供了非常丰富的功能,是通过一定机制把二进制文件或其他文件打包在一起的单个文件。使用RPM进行安装通常是一个把二进制程序或其他文件复制到系统指定路径的过程。下面演示如何使用RPM安装软件。

使用SecureCRT时常见的操作是使用rz或sz命令进行文件的上传或下载,对应的软件包为lrzsz-0.12.20-55.el9.x86_64.rpm,一般随附于Linux的发行版(软件版本可能有所不同)。示例3-1演示了如何通过RPM安装此软件。

【示例3-1】

#可以自动识别光盘,或者使用手动挂载方式
#以下是手动挂载方式
#建立目录
[root@localhost /]# mkdir -p /cdrom
#挂载光驱
[root@localhost /]# mount -t iso9660 /dev/cdrom  /cdrom
mount: /dev/sr0 is write-protected, mounting read-only
#找到要安装的软件
[root@localhost /]# cd cdrom/BaseOS/Packages/
[root@localhost Packages]# ls -l lrzsz-0.12.20-55.el9.x86_64.rpm
-r--r--r--. 1 liu liu 88569 11月 20  2021 lrzsz-0.12.20-55.el9.x86_64.rpm 
#安装前执行此命令发现并不存在
[root@localhost Packages]# rz --version
bash: rz: command not found...
Install package 'lrzsz' to provide command 'rz'? [N/y] #这里提示自动安装,可以暂时跳过,选择N
#进行软件包的安装
[root@localhost Packages]# rpm -ivh lrzsz-0.12.20-55.el9.x86_64.rpm
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:lrzsz-0.12.20-55.el9             ################################# [100%] 
[root@localhost Packages]# rz --version
rz (lrzsz) 0.12.20

首先挂载光驱,找到指定的软件,通过rpm命令将软件安装到系统中。上述示例中的参数说明如下:

  1. -i:安装软件时显示软件包的相关信息
  2. -v:安装软件时显示命令的执行过程
  3. -h:安装软件时输出hash记号“#”

软件已经安装完毕,查看软件的安装位置和安装文件列表如示例3-2所示。

【示例3-2】

#查看软件包文件列表及文件安装路径
[root@localhost Packages]# rpm -qpl lrzsz-0.12.20-55.el9.x86_64.rpm
warning: lrzsz-0.12.20-55.el9.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
/usr/bin/rb
/usr/bin/rx
/usr/bin/rz
/usr/bin/sb
/usr/bin/sx
/usr/bin/sz
/usr/share/locale/de/LC_MESSAGES/lrzsz.mo
/usr/share/man/man1/rz.1.gz
/usr/share/man/man1/sz.1.gz
[root@localhost Packages]# which rz
/usr/bin/rz
#查看安装的文件
[root@localhost Packages]# ls -l /usr/bin/rz
-rwxr-xr-x. 3 root root 74016  8月 10  2021 /usr/bin/rz 
#有时会遇到软件包有依赖关系的情况
[root@localhost Packages]# cd AppStream/Packages/
[root@localhost Packages]# rpm -ivh glibc-devel-2.34-28.el9_0.x86_64.rpm
错误:依赖检测失败:
        glibc-headers = 2.34-28.el9_0 被 glibc-devel-2.34-28.el9_0.x86_64 需要
        kernel-headers >= 3.2 被 glibc-devel-2.34-28.el9_0.x86_64 需要
        libxcrypt-devel(x86-64) >= 4.0.0 被 glibc-devel-2.34-28.el9_0.x86_64 需要
#这时需要将所有依赖包一起装上
[root@localhost Packages]# rpm -ivh glibc-devel-2.34-28.el9_0.x86_64.rpm glibc-headers-2.34-28.el9_0.x86_64.rpm kernel-headers-5.14.0-70.13.1.el9_0.x86_64.rpm  libxcrypt-devel-4.4.18-3.el9.x86_64.rpm
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:kernel-headers-5.14.0-70.13.1.el9################################# [ 25%]
   2:glibc-headers-2.34-28.el9_0      ################################# [ 50%]
   3:libxcrypt-devel-4.4.18-3.el9     ################################# [ 75%]
   4:glibc-devel-2.34-28.el9_0        ################################# [100%] 
#这里讲解的依赖问题,可以通过提示信息看到,但是对于管理员来说还是相对复杂,下一节会讲解使用集成管理工具YUM来自动化解决依赖问题

上述示例演示了如何通过rpm命令查看软件的安装位置,参数说明如下:

  1. -q:使用询问模式,当遇到任何问题时,rpm命令会先询问用户
  2. -p:查询软件包的文件
  3. -l:显示软件包中的文件列表

如果软件包已经安装,但由于某些原因想重新安装,则可采用强制安装的方式,使用指定参数实现这个功能,方法如示例3-3所示。

【示例3-3】

[root@localhost Packages]# rpm -ivh ftp-0.17-89.el9.x86_64.rpm
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:ftp-0.17-89.el9                  ################################# [100%]
#force参数表示强制安装
[root@localhost Packages]# rpm -ivh --force ftp-0.17-89.el9.x86_64.rpm
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:ftp-0.17-89.el9                  ################################# [100%]
#nodeps表示忽略依赖关系
[root@localhost Packages]# rpm -ivh --force --nodeps ftp-0.17-89.el9.x86_64.rpm Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:ftp-0.17-89.el9                  ################################# [100%]

上述示例演示了如何强制更新已经安装的软件,如果安装软件时遇到互相依赖的软件包导致不能安装,那么可以使用nodeps参数先禁止检查软件包依赖以便完成软件的安装。

2. 升级软件包

软件安装以后随着新功能的增加或BUG的修复,软件会持续更新。更新软件的方法如示例3-4所示。

【示例3-4】

#更新已经安装的软件
[root@localhost Packages]#rpm –Uvh lrzsz-0.12.20-55.el9.x86_64.rpm

通过rpm命令更新软件时常用的参数说明如下:

  1. -U:升级指定的软件

更新软件时如果遇到已有的配置文件,为保证新版本的运行,RPM包管理器会重命名该软件对应的配置文件,然后安装新的配置文件,新、旧文件的保存会使得用户有更多选择。

3. 查看已安装的软件包

系统安装完会默认安装一系列的软件。RPM包管理器提供了相应的命令查看已安装的安装包,如示例3-5所示。

【示例3-5】

#查看系统中安装的所有包
[root@localhost Packages]# rpm -qa 
libertas-sd8787-firmware-20220209-126.el9_0.noarch
netronome-firmware-20220209-126.el9_0.noarch
dejavu-serif-fonts-2.37-18.el9.noarch
google-noto-emoji-color-fonts-20200916-4.el9.noarch
jomolhari-fonts-0.003-34.el9.noarch
julietaula-montserrat-fonts-7.210-6.el9.noarch
khmer-os-system-fonts-5.0-36.el9.noarch
lohit-assamese-fonts-2.91.5-13.el9.noarch
lohit-bengali-fonts-2.91.5-13.el9.noarch
lohit-devanagari-fonts-2.95.4-14.el9.noarch
lohit-gujarati-fonts-2.92.4-13.el9.noarch
lohit-kannada-fonts-2.5.4-12.el9.noarch
lohit-odia-fonts-2.91.2-13.el9.noarch
lohit-tamil-fonts-2.91.3-13.el9.noarch
lohit-telugu-fonts-2.5.5-12.el9.noarch
paktype-naskh-basic-fonts-5.0-6.el9.noarch
pt-sans-fonts-20141121-23.el9.noarch
sil-abyssinica-fonts-1.200-23.el9.noarch
sil-nuosu-fonts-2.200-4.el9.noarch
sil-padauk-fonts-3.003-9.el9.noarch
smc-meera-fonts-7.0.3-5.el9.noarch
stix-fonts-2.0.2-11.el9.noarch
virtio-win-1.9.25-2.el9_0.noarch
gutenprint-doc-5.3.4-4.el9.x86_64
gnome-user-docs-40.0-3.el9.noarch
words-3.0-39.el9.noarch
rootfiles-8.1-31.el9.noarch
NetworkManager-config-server-1.36.0-4.el9_0.noarch
gpg-pubkey-fd431d51-4ae0493b
gpg-pubkey-5a6340b3-6229229e
grub2-common-2.06-27.el9_0.7.noarch
grub2-tools-minimal-2.06-27.el9_0.7.x86_64
grub2-pc-modules-2.06-27.el9_0.7.noarch
grub2-tools-2.06-27.el9_0.7.x86_64
grub2-pc-2.06-27.el9_0.7.x86_64
grub2-tools-extra-2.06-27.el9_0.7.x86_64
grub2-tools-efi-2.06-27.el9_0.7.x86_64
lrzsz-0.12.20-55.el9.x86_64
ftp-0.17-89.el9.x86_64
#部分结果省略
#查找指定的安装包
[root@localhost Packages]# rpm -aq | grep rz
lrzsz-0.12.20-55.el9.x86_64

通过使用rpm命令指定特定的参数可以查看系统中安装的软件包。查看已安装的软件包的参数说明如下:

  1. -a:显示安装的所有软件列表

4. 卸载软件包

RPM包管理器提供了对应的参数进行软件的卸载,软件卸载方法如示例3-6所示。如果卸载的软件被别的软件依赖,则不能卸载,需要将对应的软件卸载后才能卸载当前软件。

【示例3-6】

#查找指定的安装包
[root@localhost Packages]# rpm -aq | grep rz
lrzsz-0.12.20-55.el9.x86_64
#卸载软件包
[root@localhost Packages]# rpm -e lrzsz
#卸载后命令不存在
[root@localhost Packages]# rz --version
-bash: /usr/bin/rz: No such file or directory
#无结果说明对应的软件包被成功卸载
[root@localhost Packages]# rpm -qa  |grep rz
#如软件之间存在依赖,则不能卸载,此时需要先卸载依赖的软件
[root@localhost ~]# rpm -e glibc-devel
错误:依赖检测失败:
        glibc-devel >= 2.2.90-12 被 (已安裝) gcc-11.2.1-9.4.el9.x86_64 需要
        glibc-devel(x86-64) >= 2.27 被 (已安裝) libxcrypt-devel-4.4.18-3.el9.x86_64 需要

上述示例演示了如何查找并卸载lrzsz软件和glibc-devel软件。不幸的是卸载glibc-devel软件时因存在相应的软件依赖而卸载失败,此时需要先卸载依赖的软件包。卸载软件包的参数说明如下:

  1. -e:从系统中移除指定的软件包。

3.1.2  YUM软件包管理

RPM包管理器可以让用户不必经过编译就使用软件,但也存在不方便。当遇到软件包依赖问题时,RPM包管理器会中断当前安装,提示用户有依赖的软件包。很明显这种方法使用起来非常不方便,特别是一些依赖性非常复杂的软件包。

为解决软件包依赖性问题,Red Hat公司又开发了一个新工具YUM(全称为 Yellow dog Updater,Modified)。YUM工具的工作依赖于一个源,源中包含了许多软件包和软件包的相关索引数据,通常位于网络主机中。当用户使用YUM工具安装软件包时,YUM将通过索引数据搜索软件包的依赖关系,再从源中下载软件包并安装。

当用户将系统注册到Red Hat网络后,系统会自动配置源,因此无网络连接的计算机将无法使用Red Hat提供的源。为方便能从本地使用YUM工具安装软件包,用户可以使用安装光盘自建一个本地源。这种方法虽然能解决复杂的软件包依赖问题,但是无法通过Red Hat网络获取最新的软件包,以及获取最新的Bug修正。

本节将采用光盘自建源的方式演示YUM工具的使用方法,同时强烈建议将系统注册到Red Hat网络,以解决系统安全性问题。

1. 利用安装光盘建立源

利用安装光盘建立源首先需要将光盘挂载到目录,然后直接建立一个新的源即可,如示例3-7所示。

【示例3-7】

#建立挂载目录将光盘挂载到/cdrom
[root@localhost ~]# mkdir -p /cdrom
[root@localhost ~]# mount /dev/cdrom /cdrom
mount: /dev/sr0 is write-protected, mounting read-only
#备份原来的源配置文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv redhat.repo redhat.repo.bak
#建立新的源配置文件,命名为dvd.repo
[root@localhost yum.repos.d]# cat -v dvd.repo
#源配置文件的内容
[DVD-Local]
name=DVD Local
baseurl=file:///cdrom/
enable=1
gpgcheck=1
gpgkey=file:///cdrom/RPM-GPG-KEY-redhat-release
#清除YUM的所有缓存文件
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
              : manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning repos: DVD-Local
Cleaning up everything
#建立新的缓存文件
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
              : manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
DVD-Local										| 4.1 kB     00:00
(1/4): DVD-Local/group_gz						| 136 kB   00:00
(2/4): DVD-Local/primary_db					| 3.9 MB   00:00
(3/4): DVD-Local/filelists_db					| 3.3 MB   00:00
(4/4): DVD-Local/other_db						| 1.5 MB   00:00
Metadata Cache Created

在dvd.repo文件中,方括号([])中的是源的名称,该名称在所有源中必须是独一无二的,name字段表示源的描述信息。enable和gpgcheck分别表示是否启用源及是否对软件包执行gpg检查,该检查可以验证软件包是否经过Red Hat的签名,未签名的软件包可能会危害系统的稳定。baseurl和gpgkey分别表示源的路径和签名使用的密钥文件位置。

2. 安装软件包

注册到Red Hat网络或建立源后,就可以使用yum命令安装软件包了,如示例3-8所示。

【示例3-8】

#使用YUM工具安装httpd
[root@localhost ~]# yum install httpd
正在更新 Subscription Management 软件仓库。
上次元数据过期检查:0:46:09 前,执行于 2022年08月03日 星期三 00时04分30秒。
依赖关系解决。
==========================================================================
 软件包          	架构  	版本           	仓库                              	大小
==========================================================================
安装:
 httpd           	x86_64 	2.4.51-7.el9_0	rhel-9-for-x86_64-appstream-rpms 	1.5 M
安装依赖关系:
 apr             	x86_64 	1.7.0-11.el9   	rhel-9-for-x86_64-appstream-rpms 	127 k
 apr-util        	x86_64 	1.6.1-20.el9   	rhel-9-for-x86_64-appstream-rpms  	98 k
 apr-util-bdb    	x86_64 	1.6.1-20.el9   	rhel-9-for-x86_64-appstream-rpms  	15 k
 httpd-filesystem 	noarch 	2.4.51-7.el9_0 	rhel-9-for-x86_64-appstream-rpms  	17 k
 httpd-tools       	x86_64 	2.4.51-7.el9_0 	rhel-9-for-x86_64-appstream-rpms  	88 k
 redhat-logos-httpd
                  	noarch 	90.4-1.el9     	rhel-9-for-x86_64-appstream-rpms  	18 k
安装弱的依赖:
 apr-util-openssl 	x86_64 	1.6.1-20.el9   	rhel-9-for-x86_64-appstream-rpms  	17 k
 mod_http2         	x86_64 	1.15.19-2.el9  	rhel-9-for-x86_64-appstream-rpms 		153 k
 mod_lua           	x86_64 	2.4.51-7.el9_0 	rhel-9-for-x86_64-appstream-rpms  	63 k
#YUM将提示用户是否下载安装
事务概要
==========================================================================
安装  10 软件包

总下载:2.1 M
安装大小:5.9 M
确定吗?[y/N]:y #选择安装
#执行软件包下载、事务检查及安装验证
下载软件包:
(1/10): apr-util-openssl-1.6.1-20.el9.x86_64.rp	25 kB/s  |  17 kB	00:00
(2/10): apr-util-1.6.1-20.el9.x86_64.rpm        	135 kB/s | 98 kB	00:00
(3/10): mod_lua-2.4.51-7.el9_0.x86_64.rpm       	84 kB/s  |  63 kB  	00:00
(4/10): redhat-logos-httpd-90.4-1.el9.noarch.rp 	73 kB/s  |  18 kB  	00:00
(5/10): apr-1.7.0-11.el9.x86_64.rpm                	334 kB/s | 127 kB 	00:00
(6/10): apr-util-bdb-1.6.1-20.el9.x86_64.rpm     	52 kB/s  |  15 kB  	00:00
(7/10): httpd-filesystem-2.4.51-7.el9_0.noarch.  	39 kB/s  |  17 kB  	00:00
(8/10): mod_http2-1.15.19-2.el9.x86_64.rpm        	439 kB/s | 153 kB 	00:00
(9/10): httpd-tools-2.4.51-7.el9_0.x86_64.rpm    	287 kB/s | 88 kB  	00:00
(10/10): httpd-2.4.51-7.el9_0.x86_64.rpm          	1.1 MB/s | 1.5 MB 	00:01
--------------------------------------------------------------------------
总计                                            1.0 MB/s | 2.1 MB     00:02
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                 	1/1
  安装    : apr-1.7.0-11.el9.x86_64                                     	1/10
  安装    : apr-util-bdb-1.6.1-20.el9.x86_64                          	2/10
  安装    : apr-util-1.6.1-20.el9.x86_64                               	3/10
  安装    : apr-util-openssl-1.6.1-20.el9.x86_64                      	4/10
  安装    : httpd-tools-2.4.51-7.el9_0.x86_64                          	5/10
  运行脚本: httpd-filesystem-2.4.51-7.el9_0.noarch                    	6/10
  安装    : httpd-filesystem-2.4.51-7.el9_0.noarch                   	6/10
  安装    : redhat-logos-httpd-90.4-1.el9.noarch                     	7/10
  安装    : mod_lua-2.4.51-7.el9_0.x86_64                             	8/10
  安装    : mod_http2-1.15.19-2.el9.x86_64                            	9/10
  安装    : httpd-2.4.51-7.el9_0.x86_64                                	10/10
  运行脚本: httpd-2.4.51-7.el9_0.x86_64                                	10/10
  验证    : apr-util-openssl-1.6.1-20.el9.x86_64                     	1/10
  验证    : apr-util-1.6.1-20.el9.x86_64                               	2/10
  验证    : mod_lua-2.4.51-7.el9_0.x86_64                              	3/10
  验证    : apr-1.7.0-11.el9.x86_64                                     	4/10
  验证    : httpd-2.4.51-7.el9_0.x86_64                                	5/10
  验证    : redhat-logos-httpd-90.4-1.el9.noarch                     	6/10
  验证    : apr-util-bdb-1.6.1-20.el9.x86_64                          	7/10
  验证    : httpd-filesystem-2.4.51-7.el9_0.noarch                   	8/10
  验证    : mod_http2-1.15.19-2.el9.x86_64                             	9/10
  验证    : httpd-tools-2.4.51-7.el9_0.x86_64                         	10/10
已更新安装的产品。

已安装:
  apr-1.7.0-11.el9.x86_64              apr-util-1.6.1-20.el9.x86_64
  apr-util-bdb-1.6.1-20.el9.x86_64     apr-util-openssl-1.6.1-20.el9.x86_64
  httpd-2.4.51-7.el9_0.x86_64          httpd-filesystem-2.4.51-7.el9_0.noarch
  httpd-tools-2.4.51-7.el9_0.x86_64    mod_http2-1.15.19-2.el9.x86_64
  mod_lua-2.4.51-7.el9_0.x86_64        redhat-logos-httpd-90.4-1.el9.noarch

完毕!

3. 卸载软件包

同安装软件包时一样,使用yum命令卸载软件包只需将命令参数install换成remove即可,如示例3-9所示。

【示例3-9】

#卸载软件包
[root@localhost ~]# yum remove httpd
正在更新 Subscription Management 软件仓库。
依赖关系解决。
==========================================================================
 软件包           		架构   	版本         	   仓库                             大小
==========================================================================
移除:
 httpd            		x86_64 	2.4.51-7.el9_0	   @rhel-9-for-x86_64-appstream-rpms	4.7 M
清除未被使用的依赖关系:
 apr              		x86_64 	1.7.0-11.el9 	   @rhel-9-for-x86_64-appstream-rpms 	289 k
 apr-util         		x86_64 	1.6.1-20.el9 	   @rhel-9-for-x86_64-appstream-rpms 	213 k
 apr-util-bdb     		x86_64 	1.6.1-20.el9 	   @rhel-9-for-x86_64-appstream-rpms  	16 k
 apr-util-openssl 		x86_64 	1.6.1-20.el9 	   @rhel-9-for-x86_64-appstream-rpms  	24 k
 httpd-filesystem noarch 		2.4.51-7.el9_0   @rhel-9-for-x86_64-appstream-rpms 	400
 httpd-tools      		x86_64 	2.4.51-7.el9_0    @rhel-9-for-x86_64-appstream-rpms 	202 k
 mod_http2        		x86_64 1.15.19-2.el9  	   @rhel-9-for-x86_64-appstream-rpms 	385 k
 mod_lua          		x86_64 2.4.51-7.el9_0 	   @rhel-9-for-x86_64-appstream-rpms 	143 k
 redhat-logos-httpd
                  noarch 90.4-1.el9     @rhel-9-for-x86_64-appstream-rpms  12 k

事务概要
==========================================================================
移除  10 软件包
#询问是否删除
将会释放空间:5.9 M
确定吗?[y/N]: y
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                 	1/1
  运行脚本: httpd-2.4.51-7.el9_0.x86_64                               	1/10
  删除    : httpd-2.4.51-7.el9_0.x86_64                                	1/10
  运行脚本: httpd-2.4.51-7.el9_0.x86_64                                	1/10
  删除    : httpd-filesystem-2.4.51-7.el9_0.noarch                    	2/10
  删除    : redhat-logos-httpd-90.4-1.el9.noarch                      	3/10
  删除    : httpd-tools-2.4.51-7.el9_0.x86_64                          	4/10
  删除    : apr-util-1.6.1-20.el9.x86_64                                	5/10
  删除    : apr-util-bdb-1.6.1-20.el9.x86_64                           	6/10
  删除    : apr-1.7.0-11.el9.x86_64                                      	7/10
  删除    : apr-util-openssl-1.6.1-20.el9.x86_64                      	8/10
  删除    : mod_http2-1.15.19-2.el9.x86_64                             	9/10
  删除    : mod_lua-2.4.51-7.el9_0.x86_64                              	10/10
  运行脚本: mod_lua-2.4.51-7.el9_0.x86_64                              	10/10
  验证    : apr-1.7.0-11.el9.x86_64                                     	1/10
  验证    : apr-util-1.6.1-20.el9.x86_64                               	2/10
  验证    : apr-util-bdb-1.6.1-20.el9.x86_64                          	3/10
  验证    : apr-util-openssl-1.6.1-20.el9.x86_64                     	4/10
  验证    : httpd-2.4.51-7.el9_0.x86_64                                	5/10
  验证    : httpd-filesystem-2.4.51-7.el9_0.noarch                   	6/10
  验证    : httpd-tools-2.4.51-7.el9_0.x86_64                         	7/10
  验证    : mod_http2-1.15.19-2.el9.x86_64                             	8/10
  验证    : mod_lua-2.4.51-7.el9_0.x86_64                              	9/10
  验证    : redhat-logos-httpd-90.4-1.el9.noarch                      	10/10
已更新安装的产品。

已移除:
  apr-1.7.0-11.el9.x86_64              apr-util-1.6.1-20.el9.x86_64
  apr-util-bdb-1.6.1-20.el9.x86_64     apr-util-openssl-1.6.1-20.el9.x86_64
  httpd-2.4.51-7.el9_0.x86_64          httpd-filesystem-2.4.51-7.el9_0.noarch
  httpd-tools-2.4.51-7.el9_0.x86_64    mod_http2-1.15.19-2.el9.x86_64
  mod_lua-2.4.51-7.el9_0.x86_64        redhat-logos-httpd-90.4-1.el9.noarch

完毕!

除了以上使用install、remove选项分别安装、卸载软件包外,yum命令还可以使用grouplist、groupinstall和groupremove参数分别列出、安装及卸载软件组。关于软件组的更多细节,读者可阅读相关文档,此处不做过多介绍。

----------------------------------------------------

本文节选自《Red Hat Enterprise Linux 9 系统管理实战》

本次内容发布,获得作者和出版社授权,供读者个人非商业目的使用。

 


http://lihuaxi.xjx100.cn/news/1102184.html

相关文章

[MySQL / Mariadb] 数据库学习-Linux中安装MySQL,YUM方式

[Mariadb] 数据库学习笔记 在Linux中安装MySQL,YUM方式mariadb 介绍安装启服务初始配置修改密码 密码策略,默认策略是1show variables; 查所有变量show variables like "%变量%"; 查特定的变量参数临时:永久: MySQL基本操作连接SQL…

【转存】Go语言设计模式(推荐阅读)

文章目录 0.前言1.责任链模式 概念示例 登机过程测试程序运行结果2.命令模式 概念示例 电饭煲接收器电饭煲命令测试程序运行结果3.迭代器模式 概念示例 班级成员运行结果4.中介者模式 概念示例 飞机对象机场塔台测试程序运行结果5.备忘录模式 概念示例闯关游戏 测试程序运行结果…

Notepad++配置C语言环境和C++环境

背景: Notepad是我们经常使用的编辑器,我们可以用它编译和运行各种类型的文档,其中就包括了C和C文档。但是编译和运行C或者C文档首先要配置编译环境,下面给大家分享一下如何在NotePad配置C/C编译环境。 工具: NoteP…

Altium Designer中如何在顶层中添加对应端口

转载说明: 大众深度科普 https://jingyan.baidu.com/article/c33e3f4889f327ea15cbb584.html 版权归原作者所有;感谢原作者的分享; 转载到此,主要为了后期查看方便; 本经验简要介绍Altium Designer中如何在顶层中添…

neo4j结合gds实现最短路径算法

背景:Neo4j自带的cypher语句中的 shortestpath allShortestPaths 返回值内容非常有限,不易处理, 在实际生产环境中可用性极低, 且若带where条件查询时,查询效率极低 因此,使用Neo4j自带的插件如apoc来进行最短路径查询…

精妙绝伦的算法之舞:解密力扣“删除有序数组中的重复项”

本篇博客会讲解力扣“26. 删除有序数组中的重复项”这道题,这是题目链接。 老规矩,先来审题: 题目有对判题标准的详细解释: 接下来是2个示例: 还有提示: 其实这道题考察的是“去重算法”,即…

HBASE入门 基本shell命令(一)

一、登录连接shell $HBASE_HOME/bin/hbase shell二、基本命令 2.1help命令 help创建命名空间 create_namespace bigdata;查看命名空间 list_namespace命名空间default和habase是系统自带的 三、DDL 3.1创建表 create bigdata:student, {NAME > name, VERSIONS> 5}…

nvm管理node版本与node对应的npm的版本

五一长假回来打开电脑发现自己的vscode不能成功运行项目,npm run dev之后没有任何反应,于是我想着使用cmd打开试试,结果cmd打开后画面只有一个横着的光标再闪,停几秒后就自动关闭了,看其他的博主写的解决方法一一试过了…