使用Yum历史查找已安装或已删除的软件包信息

系统 Linux 系统运维
Yum 是 RHEL/CentOS 的一个基于 rpm 的交互式高级包管理器,用户可以用它来安装新的软件包、卸载或清除旧的/不需要的软件包。它可以自动运行系统更新,并执行依赖分析,对已安装的或可用的软件包进行查询等等。在本文中,我们将解释如何查看 Yum 事务的历史记录,以便于了解有关安装的软件包以及从系统中所卸载/清除软件包的信息。

[[184288]]

Yum 是 RHEL/CentOS 的一个基于 rpm 的交互式高级包管理器,用户可以用它来安装新的软件包、卸载或清除旧的/不需要的软件包。它可以自动运行系统更新,并执行依赖分析,对已安装的或可用的软件包进行查询等等。

在本文中,我们将解释如何查看 Yum 事务的历史记录,以便于了解有关安装的软件包以及从系统中所卸载/清除软件包的信息。

推荐阅读: 20 条关于 Linux 软件包管理的 Yum 命令

以下是一些如何使用 Yum 历史命令的示例。

查看完整的 Yum 历史

要查看 Yum 事务完整的历史记录,我们可以运行以下命令,然后将显示:事务 ID、执行特定操作的用户、操作发生的日期和时间、实际操作以及任何错误的附加信息与操作:

  1. # yum history  

查看 Yum 历史 

查看 Yum 历史

使用 Yum 查找软件包信息

history 的子命令:info/list/summary 可以将事务 ID 或包名作为参数。此外,list 子命令可以加上特殊的参数,all 表示所有的事务。

运行以下命令查看先前的历史:

  1. # yum history list all 

并且,你可以使用下面的 info 命令查看涉及指定软件包的事务详情,例如 httpd:

  1. # yum history info httpd  

 

 

Yum - 查找软件包信息 

Yum - 查找软件包信息

发出以下命令可以获得包含 httpd 软件包的事务的摘要:

  1. # yum history summary httpd  

 

 

Yum - 查找软件包的摘要 

Yum - 查找软件包的摘要

还可以使用事务的 ID 来查找,以下命令会显示 ID 为 15 的事务的详情。

  1. # yum history info 15  

 

 

Yum - 使用 ID 查找软件包信息 

Yum - 使用 ID 查找软件包信息

使用 yum history 查找软件包事务信息

有一些用于打印某个或多个软件包事务详情的子命令。我们可以使用 package-list 或 package_info 查看关于 httpd 的更多信息,例如:

  1. # yum history package-list httpd 
  2. 或 
  3. # yum history package-info httpd  

 

 

Yum - 查找软件包事务信息 

Yum - 查找软件包事务信息

要得到多个软件包的记录,我们可以运行:

  1. # yum history package-list httpd epel-release 
  2. 或 
  3. # yum history packages-list httpd epel-release  

 

 

Yum - 查找多个软件包的信息 

Yum - 查找多个软件包的信息

使用 Yum 回滚软件包

此外,还有一些 history 的子命令可以让我们撤销/重做/回滚事务。

  1. undo - 会撤销一个指定的事务。
  2. redo - 重复一次指定的事务。
  3. rollback - 撤销指定事务之后的所有事务。

它们采用单个事务 id 或关键字 last 和从***一个事务开始的偏移量。

例如,假设我们已经做了 60 个事务,last 是指事务 60,last-4 指向事务 56。

推荐阅读: 怎样使用 yum-utils 来维护以及加速 Yum

以上子命令是如下工作的:如果我们有 5 个事务——V,W,X,Y 和 Z,其中分别是安装各个软件包的。

  1. # yum history undo 2    #将删除软件包 W 
  2. # yum history redo 2    #将重新安装软件包 W 
  3. # yum history rollback 2    #将删除软件包 X、 Y 和 Z 

在下面的示例中,事务 2 是一个更新操作,如下所示,以下 redo 命令将重复事务 2 直到所有软件包到更新到当前时间的***版本:

  1. # yum history | grep -w "2"  

 

 

Yum - 查找软件包事务的 ID 

Yum - 查找软件包事务的 ID

 

  1. # yum history redo 2  

 

 

用 Yum 重新更新软件包 

用 Yum 重新更新软件包

redo 子命令同样可以在我们指定事务之前加上一些可选的参数:

  1. force-reinstall - 重新安装所有在此事务中安装的软件包(通过 yum install、upgrade 或 downgrade)。
  2. force-remove - 移除所有已经更新或回滚的软件包。
  1. # yum history redo force-reinstall 16  

 

 

Yum - 强制安装软件包 

Yum - 强制安装软件包

查找 Yum 历史数据库和来源信息

这些子命令为我们提供有关历史记录数据库和其它信息来源的信息:

  1. addon-info - 提供更多的信息来源。
  2. stats - 显示当前历史数据库的统计信息。
  3. sync - 使我们能够更改为所有已安装软件包存储的 rpmdb/yumdb 数据。

看一下以下的命令的子命令实际上是怎样工作的:

  1. # yum history addon-info 
  2. # yum history stats 
  3. # yum history sync 

使用 new 子命令设置新的历史文件:

  1. # yum history new 

我们可以在 yum 手册页找到关于 Yum history 命令和其它几个命令的完整信息:

  1. # man yum 

推荐阅读: 4 个使用 Yum 禁用/锁定某些软件包更新的方法

就是这么多了。在本篇指南中,我们介绍了各种 Yum history 命令,以查看 Yum 事务的详细信息。

作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 的爱好者,目前任 TecMint 的作者,志向是一名 Linux 系统管理员、web 开发者。他喜欢用电脑工作,并热衷于分享知识。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2018-07-10 08:59:07

LinuxArch Linux软件包

2019-02-25 09:55:32

UbuntuDebian软件包

2016-10-18 19:02:56

DebianUbuntu LinuMD5

2009-12-28 12:25:44

2019-05-10 10:00:07

apt-clone软件包Ubuntu

2022-09-13 09:49:10

Chocolatey仓库软件包社区仓库

2024-02-27 13:24:34

Centos系统:yum

2010-01-07 17:32:09

2023-03-21 12:57:16

NixOS软件包

2010-03-01 17:43:55

Linux Xsupp

2021-08-09 12:18:43

MacOSTelegram漏洞

2022-09-22 09:01:24

Packj管理工具

2010-02-03 10:24:17

Fedora Yum命

2010-06-10 13:56:22

openSUSE软件包

2010-04-30 10:28:11

Unix安装

2018-10-29 14:10:19

Linux软件包命令

2022-11-07 16:53:53

PipPython软件包

2010-01-14 09:48:05

CentOS VSFT

2010-01-07 14:44:14

Linux安装KDE

2011-10-24 22:23:10

Facebook数据库删除
点赞
收藏

51CTO技术栈公众号