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