扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
yum
命令安装软件包时会自动依赖包,但yum remove
子命令只卸载该软件包而不能卸载依赖。
如果需要删除安装时自动安装的依赖包,则可以使用yum history
子命令回滚安装事务以达到目的。
[root@localhost ~]# yum history list 或 yum history
Loading "fastestmirror" plugin
Config time: 0.007
Yum version: 3.4.3
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
3 | root | 2022-01-10 15:38 | Install | 12 EE
2 | root | 2022-01-10 10:38 | I, U | 8
1 | System | 2022-01-10 10:05 | Install | 311
查看某个事务详细信息历史记录当中没有直接列出事务的详细信息,但是可根据时间和操作类型初步筛选事务。
然后通过yum history info
子命令查看事务的详细信息。
例如这里查看ID为3
的事务的详细信息。
[root@localhost ~]# yum history info 3
Loaded plugins: fastestmirror
Transaction ID : 3
Begin time : Mon Jan 10 15:38:41 2022
Begin rpmdb : 318:0a512f196782814fe726bc61f44b5332aac74b38
End time : 15:38:44 2022 (3 seconds)
End rpmdb : 330:d9fb4e7bea655b40bcabffd6eb2a8a2f81110793
User : rootReturn-Code : Success
Command Line : install zabbix-server-mysql zabbix-agent
Transaction performed with:
Installed rpm-4.11.3-32.el7.x86_64 @anaconda
Installed yum-3.4.3-158.el7.centos.noarch @anaconda
Installed yum-plugin-fastestmirror-1.1.31-45.el7.noarch @anaconda
Packages Altered:
Dep-Install OpenIPMI-libs-2.0.23-2.el7.x86_64 @centos7
Dep-Install OpenIPMI-modalias-2.0.23-2.el7.x86_64 @centos7
Dep-Install fping-3.10-4.el7.x86_64 @epel
Dep-Install libevent-2.0.21-4.el7.x86_64 @centos7
Dep-Install net-snmp-libs-1:5.7.2-32.el7.x86_64 @centos7
Dep-Install traceroute-3:2.0.22-2.el7.x86_64 @centos7
Dep-Install unixODBC-2.3.1-11.el7.x86_64 @centos7
Dep-Install zabbix50-5.0.18-1.el7.x86_64 @epel
Install zabbix50-agent-5.0.18-1.el7.x86_64 @epel
Dep-Install zabbix50-dbfiles-mysql-5.0.18-1.el7.noarch @epel
Dep-Install zabbix50-server-5.0.18-1.el7.noarch @epel
Install zabbix50-server-mysql-5.0.18-1.el7.x86_64 @epel
Scriptlet output:
1 sed: can't read /etc/sysconfig/ipmi: No such file or directory
history info
回滚事务(删除)确定需要回滚的安装事务后,使用yum history undo
子命令实现回滚。
[root@localhost ~]# yum history undo 3
......
Removed:
OpenIPMI-libs.x86_64 0:2.0.23-2.el7 OpenIPMI-modalias.x86_64 0:2.0.23-2.el7 fping.x86_64 0:3.10-4.el7 libevent.x86_64 0:2.0.21-4.el7 net-snmp-libs.x86_64 1:5.7.2-32.el7
traceroute.x86_64 3:2.0.22-2.el7 unixODBC.x86_64 0:2.3.1-11.el7 zabbix50.x86_64 0:5.0.18-1.el7 zabbix50-agent.x86_64 0:5.0.18-1.el7 zabbix50-dbfiles-mysql.noarch 0:5.0.18-1.el7
zabbix50-server.noarch 0:5.0.18-1.el7 zabbix50-server-mysql.x86_64 0:5.0.18-1.el7
yum history子命令详细帮助[root@localhost ~]# man yum
......
history
The history command allows the user to view what has happened in past transactions (assuming the history_record config. option is set). You can use info/list/packages-list/packages-info/summary to view what happened,
undo/redo/rollback to act on that information and new to start a new history file.
The info/list/summary commands take either a transaction id or a package (with wildcards, as in Specifying package names), all three can also be passed no arguments. list can be passed the keyword "all" to list all
the transactions.
The info command can also take ranges of transaction ids, of the form start..end, which will then display a merged history as if all the transactions in the range had happened at once.
Eg. "history info 1..4" will merge the first four transactions and display them as a single transaction.
The packages-list/packages-info commands takes a package (with wildcards, as in Specifying package names). And show data from the point of view of that package.
The undo/redo/rollback commands take either a single transaction id or the keyword last and an offset from the last transaction (Eg. if you've done 250 transactions, "last" refers to transaction 250, and "last-4"
refers to transaction 246). The redo command can also take some optional arguments before you specify the transaction. "force-reinstall" tells it reinstall any packages that were installed in that transaction (via
install, upgrade or downgrade). "force-remove" tells it to forcibly remove any packages that were updated or downgraded.
The undo/redo commands act on the specified transaction, undo'ing or repeating the work of that transaction. While the rollback command will undo all transactions up to the point of the specified transaction. For
example, if you have 3 transactions, where package A; B and C where installed respectively. Then "undo 1" will try to remove package A, "redo 1" will try to install package A (if it is not still installed), and
"rollback 1" will try to remove packages B and C. Note that after a "rollback 1" you will have a fourth transaction, although the ending rpmdb version (see: yum version) should be the same in transactions 1 and 4.
The addon-info command takes a transaction ID, and the packages-list command takes a package (with wildcards).
The stats command shows some statistics about the current history DB.
The sync commands allows you to change the rpmdb/yumdb data stored for any installed packages, to whatever is in the current rpmdb/yumdb (this is mostly useful when this data was not stored when the package went into
the history DB).
In "history list" you can change the behaviour of the 2nd column via the configuration option history_list_view.
In "history list" output the Altered column also gives some extra information if there was something not good with the transaction (this is also shown at the end of the package column in the packages-list command).
>- The rpmdb was changed, outside yum, after the transaction.
< - The rpmdb was changed, outside yum, before the transaction.
* - The transaction aborted before completion.
# - The transaction completed, but with a non-zero status.
E - The transaction completed fine, but had warning/error output during the transaction.
P - The transaction completed fine, but problems already existed in the rpmdb.
s - The transaction completed fine, but --skip-broken was enabled and had to skip some packages.
[root@localhost ~]# yum history help
Loaded plugins: fastestmirror
Invalid history sub-command, use: list, info, summary, repeat, redo, undo, new, rollback, addon, addon-info, stats, statistics, sync, synchronizepkg, pkgs, pkg-list, pkgs-list, package, package-list, packages, packages-list, pkg-info, pkgs-info, package-info, packages-info.
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流