【发布时间】:2015-07-21 13:50:40
【问题描述】:
我很熟悉
rpm -qa --last
并且发现它在某些场合非常方便。然而,这一次我不小心有点过火了,安装了一个大的 yum 组。
yum groupinstall "Development tools"
有没有一种简单的方法可以卸载我刚刚安装的所有内容?在我看来,应该有某种方法可以结合 rpm 查询和 rpm 擦除。即将查询命令的输出传递到删除命令。
更新:基于用户@rickhg12hs 反馈
有人指出,我可以看到带有yum history 的交易ID,这是我不知道的。看起来是这样的:
$ yum history
Loaded plugins: fastestmirror, security
ID | Login user | Date and time | Action(s) | Altered
----------------------------------------------------------------------------
69 | <jds> | 2015-05-11 01:31 | Install | 1
68 | <jds> | 2015-05-11 01:31 | Install | 1
67 | <jds> | 2015-05-11 01:10 | I, U | 210
66 | <jds> | 2015-05-05 12:41 | Install | 1
65 | <jds> | 2015-04-30 17:57 | Install | 2
64 | <ansible> | 2015-04-30 10:11 | Install | 1
63 | <ansible> | 2015-04-30 10:11 | Install | 1
62 | <ansible> | 2015-04-30 10:11 | Install | 1 EE
61 | <ansible> | 2015-04-30 10:11 | Install | 1
60 | <ansible> | 2015-04-30 10:11 | Install | 1
59 | <ansible> | 2015-04-30 09:58 | Install | 19 P<
58 | <ansible> | 2015-04-29 18:28 | Install | 1 >
57 | <ansible> | 2015-04-29 18:28 | Install | 1
56 | <ansible> | 2015-04-29 18:28 | Install | 9
55 | <ansible> | 2015-04-29 18:28 | Install | 3
54 | <ansible> | 2015-04-29 18:28 | Install | 1
53 | <ansible> | 2015-04-29 18:27 | I, U | 5
52 | <ansible> | 2015-04-29 18:27 | I, U | 4
51 | <ansible> | 2015-04-29 18:27 | Install | 1
50 | <ansible> | 2015-04-29 18:27 | Install | 1
还有 tada:就是这样,一个交易 ID。
我想从事务 id 67 卸载。所以现在我有点聪明了,我有一个新问题。
那么如何使用 yum 或 rpm 命令来卸载事务呢?
注意:也有人向我指出我可以做一个
$ yum history info 67 |less
Loaded plugins: fastestmirror, security
Transaction ID : 67
Begin time : Mon May 11 01:10:09 2015
Begin rpmdb : 1012:bb05598315dcb21812b038a356fa06333d277cde
End time : 01:13:25 2015 (196 seconds)
End rpmdb : 1174:cb7855e82c7bff545319c38b01a72a48f3ada1ab
User : <jds>
Return-Code : Success
Command Line : groupinstall Additional Development
Transaction performed with:
Installed rpm-4.8.0-38.el6_6.x86_64 @updates
Installed yum-3.2.29-60.el6.centos.noarch @anaconda-CentOS-201410241409.x86_64/6.6
Installed yum-plugin-fastestmirror-1.1.30-30.el6.noarch @anaconda-CentOS-201410241409.x86_64/6.6
Packages Altered:
Dep-Install GConf2-2.28.0-6.el6.x86_64 @base
Install GConf2-devel-2.28.0-6.el6.x86_64 @base
Dep-Install ORBit2-2.14.17-5.el6.x86_64 @base
... snip ...
我认为这在某些情况下可能会很有帮助。
【问题讨论】:
-
关闭但没有雪茄:
sudo rpm -qa --qf '%{INSTALLTIME:date}: %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' |grep "Mon 11 May 2015"|cut -d ':' -f4 |xargs rpm --nodeps -e -
如果您使用
yum进行所有安装,您应该能够使用yum history安全地进行undo或rollback您的交易。详情请见man yum。 -
请显示
yum history的输出。你看到你的交易ID了吗?yum history info your_transaction_ID是否显示所有已安装的软件包? -
@rickhg12hr 我不知道
yum history...是的,我看到我更改了 210 个包的交易。是的:yum history info 67向我展示了它们!那么如何卸载交易呢? -
阅读
man yum并决定yum history undo或yum history rollback是否更适合您的需求。
标签: centos fedora redhat rpm yum