介绍
在本实验中,你将学习如何有效使用 rpm
(Red Hat Package Manager)命令,这是一个强大的工具,用于管理使用 RPM 包格式的 Linux 发行版(如 CentOS、RHEL 和 Fedora)中的软件包。你将探索 rpm
命令的各种用例,包括安装、升级和删除 RPM 包,查询已安装包的信息,以及验证已安装包的完整性。本实验将提供实际示例和逐步指导,帮助你熟练掌握使用 rpm
命令进行包管理。
在本实验中,你将学习如何有效使用 rpm
(Red Hat Package Manager)命令,这是一个强大的工具,用于管理使用 RPM 包格式的 Linux 发行版(如 CentOS、RHEL 和 Fedora)中的软件包。你将探索 rpm
命令的各种用例,包括安装、升级和删除 RPM 包,查询已安装包的信息,以及验证已安装包的完整性。本实验将提供实际示例和逐步指导,帮助你熟练掌握使用 rpm
命令进行包管理。
在这一步中,我们将探索 rpm
(Red Hat Package Manager)命令,这是一个强大的工具,用于管理使用 RPM 包格式的 Linux 发行版(如 CentOS、RHEL 和 Fedora)中的软件包。
rpm
命令允许你执行各种包管理任务,包括:
让我们从理解 rpm
命令的基本用法开始。
## 显示 rpm 命令的帮助信息
sudo rpm --help
示例输出:
Usage: rpm [options] <command>
Options most frequently used with single sub-commands:
-v, --verbose 增加输出的详细程度
-vv 显示调试输出
-h, --hash 在包安装时打印哈希标记(与 -v 一起使用效果更佳)
-i, --install 安装一个包
-U, --upgrade 升级一个包
-F, --freshen 如果已安装,则升级一个包
-e, --erase 删除一个包
-q, --query 查询已安装包的信息
-p, --package 查询一个包文件
--nodeps 忽略包的依赖关系
--force 强制执行操作,覆盖依赖关系
--test 测试操作,但不执行
--justdb 更新数据库,但不修改文件系统
--prefix <dir> 设置安装前缀
--relocate <old>=<new> 将包重新定位到新的前缀
rpm
命令具有广泛的选项和子命令,允许你执行各种包管理任务。在接下来的步骤中,我们将探索 rpm
命令的一些最常见的使用场景。
在这一步中,我们将学习如何使用 rpm
命令安装、升级和删除 RPM 包。
首先,让我们安装一个示例 RPM 包。我们将使用 "htop" 包,这是一个流行的交互式进程查看器。
## 安装 htop 包
sudo rpm -i https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/h/htop-2.2.0-1.el7.x86_64.rpm
示例输出:
Preparing... ################################## [100%]
Updating / installing...
1:htop-2.2.0-1.el7 ################################## [100%]
现在,让我们验证包是否正确安装:
## 检查已安装的 htop 包
rpm -q htop
示例输出:
htop-2.2.0-1.el7.x86_64
要将 htop 包升级到新版本,我们可以使用 --upgrade
或 -U
选项:
## 升级 htop 包
sudo rpm -U https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/h/htop-3.0.5-1.el7.x86_64.rpm
示例输出:
Preparing... ################################## [100%]
Updating / installing...
1:htop-3.0.5-1.el7 ################################## [100%]
最后,让我们使用 --erase
或 -e
选项删除 htop 包:
## 删除 htop 包
sudo rpm -e htop
示例输出:
Removed htop-3.0.5-1.el7.x86_64
在这一步中,你学习了如何使用 rpm
命令安装、升级和删除 RPM 包。涵盖的关键命令包括 rpm -i
用于安装,rpm -U
用于升级,以及 rpm -e
用于删除。
在这一步中,我们将学习如何使用 rpm
命令对已安装的 RPM 包执行各种查询和验证。
首先,让我们查询一个已安装包的信息。我们以 "bash" 包为例:
## 查询 bash 包的信息
sudo rpm -qi bash
示例输出:
Name : bash
Version : 5.1.16
Release : 1.fc36
Architecture: x86_64
Install Date: Tue 04 Apr 2023 12:34:56 PM UTC
Group : System Environment/Shells
Size : 12206283
License : GPLv3+
Signature : RSA/SHA256, Tue 04 Apr 2023 12:34:56 PM UTC, Key ID 3c6e21a5b7d1e4b3
Source RPM : bash-5.1.16-1.fc36.src.rpm
Build Date : Tue 04 Apr 2023 12:34:56 PM UTC
Packager : Fedora Project
URL : http://www.gnu.org/software/bash/
Summary : The GNU Bourne Again Shell
Description : The bash package contains the Bourne Again Shell (bash), a sh-compatible shell or command language interpreter.
接下来,让我们验证一个已安装包的完整性。我们以 "coreutils" 包为例:
## 验证 coreutils 包
sudo rpm -V coreutils
示例输出:
.......T /usr/bin/chgrp
.......T /usr/bin/chown
.......T /usr/bin/cp
.......T /usr/bin/dd
.......T /usr/bin/df
输出显示了自安装以来 coreutils 包中已修改的文件。句点表示未修改的文件,字母表示不同类型的更改(例如文件权限、所有权或内容)。
最后,让我们查询一个包安装的文件列表。我们再次使用 "bash" 包:
## 列出 bash 包安装的文件
sudo rpm -ql bash
示例输出:
/bin/bash
/etc/bash.bashrc
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc
/usr/bin/bashbug
/usr/include/bash/bashbuild.h
/usr/include/bash/bashtypes.h
/usr/include/bash/rltypedefs.h
/usr/include/bash/shmbutil.h
/usr/lib/bash
/usr/lib/tmpfiles.d/bash.conf
/usr/share/doc/bash
/usr/share/info/bash.info.gz
/usr/share/man/man1/bash.1.gz
/usr/share/man/man1/bashbug.1.gz
在这一步中,你学习了如何使用 rpm
命令对已安装的 RPM 包执行各种查询和验证。涵盖的关键命令包括 rpm -qi
用于查询包信息,rpm -V
用于包验证,以及 rpm -ql
用于列出安装的文件。
在本实验中,我们首先探索了 rpm
(Red Hat Package Manager)命令,这是一个强大的工具,用于管理使用 RPM 包格式的 Linux 发行版中的软件包。我们了解到,rpm
命令允许我们执行各种包管理任务,例如安装、升级和删除 RPM 包,查询已安装包的信息,验证已安装包的完整性,以及管理包的依赖关系。接着,我们学习了如何使用 rpm
命令安装、升级和删除 RPM 包。最后,我们介绍了如何执行 RPM 包查询和验证,这对于故障排除和维护系统健康非常有用。