Centos 如何卸载当前使用yum安装的所有rpm?

Centos 如何卸载当前使用yum安装的所有rpm?,centos,fedora,redhat,rpm,yum,Centos,Fedora,Redhat,Rpm,Yum,我对你很熟悉 rpm -qa --last 并发现在某些场合它非常方便。然而,在这一次,我不小心变得有点过分热情,安装了一个大型百胜集团 yum groupinstall "Development tools" 有没有简单的方法卸载我刚安装的所有东西?在我看来,应该有一些方法来结合rpm查询和rpm擦除。i、 e.将查询命令的输出管道化到删除命令中 更新:基于用户@rickhg12hs的反馈 有人指出,我可以通过yum history查看我不知道的事务id。下面是它的样子: $ yum hi

我对你很熟悉

rpm -qa --last
并发现在某些场合它非常方便。然而,在这一次,我不小心变得有点过分热情,安装了一个大型百胜集团

yum groupinstall "Development tools"
有没有简单的方法卸载我刚安装的所有东西?在我看来,应该有一些方法来结合rpm查询和rpm擦除。i、 e.将查询命令的输出管道化到删除命令中

更新:基于用户@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   
$yum历史记录
加载的插件:FastTestMirror、security
ID |登录用户|日期和时间|操作|更改
----------------------------------------------------------------------------
69 | 2015-05-11 01:31 |安装| 1
安装
67 | 2015-05-11 01:10 | I,U | 210
66 | | 2015-05-05 12:41 |安装| 1
65 | 2015-04-30 17:57 |安装| 2
64 | | 2015-04-30 10:11 |安装| 1
63 | | 2015-04-30 10:11 |安装| 1
62 | | 2015-04-30 10:11 |安装| 1 EE
61 | | 2015-04-30 10:11 |安装| 1
60 | 2015-04-30 10:11 |安装| 1
59 | | 2015-04-30 09:58 |安装| 19 P<
58 | 2015-04-29 18:28 |安装| 1>
安装
安装
安装
安装
53 | | 2015-04-29 18:27 | I,U | 5
52 | 2015-04-29 18:27 | I,U | 4
安装
安装
塔达:这是一个交易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 ...
$yum历史信息67 |以下
加载的插件:FastTestMirror、security
交易编号:67
开始时间:2015年5月11日星期一01:10:09
开始rpmdb:1012:bb05598315dcb21812b038a356fa06333d277cde
结束时间:01:13:25 2015(196秒)
末端rpmdb:1174:CB7855E82C7BF545319C38B01A72A48F3ADA1AB
用户:
返回代码:Success
命令行:groupinstall附加开发
与以下人员执行的交易:
已安装rpm-4.8.0-38.el6_6.x86_64@updates
已安装yum-3.2.29-60.el6.centos.noarch@anaconda-centos-201410241409.x86_64/6.6
已安装yum-plugin-fastestmirror-1.1.30-30.el6.noarch@anaconda-CentOS-201410241409.x86_64/6.6
更改的包:
Dep安装GConf2-2.28.0-6.el6.x86_64@base
安装GConf2-devel-2.28.0-6.el6.x86_64@base
副安装轨道2-2.14.17-5.el6.x86_64@base
... 剪
我认为,在某些情况下,这可能非常有用。

如果卸载软件包,则可能会删除已经存在但碰巧升级的软件包。通常,您应该使用
yum
(或等效工具)来管理包,这允许您降级包。这将删除新包,并降级现有包。例如,见

可以使用
rpm-qa
的输出来选择要降级的包的名称,该输出的格式允许简单地选择给定的日期。例如(请参阅),您可以使用按安装日期的相反顺序列出软件包

rpm -qa --last
作为一种更详细的方法,您可以将该选项与
:date
选项一起使用,以完全按照您的需要格式化日期(它使用)

在这两种情况下,您都可以创建一个脚本,从
rpm
的输出中提取包名,并使用那些带有
yum
(甚至
rpm
)的包根据需要进行操作


降级时,需要记住一件奇怪的事情:使用前一个日期,将软件包的安装日期修改为当前日期,而不是完全撤消。

在单个事务中安装的所有软件包都具有 相同的RPMTAG\u INSTALLTID标记值

使用


查找作为yum组安装一部分安装的所有软件包。

yum提供了撤消命令的功能,即
yum历史撤消35; blah

在您的情况下,要删除今天安装的所有软件包,您可以运行:

yum history undo 69
yum history undo 68
yum history undo 67

关闭但没有雪茄:
sudo rpm-qa--qf%%{INSTALLTIME:date}:%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}\n'| grep“Mon May 11 2015”| cut-d':'-f4 | xargs rpm--nodeps-e
如果您使用
yum
进行所有安装,您应该能够使用
yum history
安全地
undo
rollback
您的事务。有关详细信息,请参见
man-yum
。请显示
yum历史记录的输出。你看到你的交易ID了吗?
yum history info您的\u事务\u ID
是否显示所有已安装的软件包?@rickhg12hr我不知道
yum history
。。。是的,我看到我更改了210个包裹的交易。是:
yum history info 67
向我显示了所有这些信息!那么如何卸载事务呢?请阅读
man-yum
,然后决定是
yum-history-undo
还是
yum-history-roll
yum history undo 69
yum history undo 68
yum history undo 67