yum徹底卸載軟件包實(shí)現(xiàn)方式(包含依賴(lài))
概述
yum命令安裝軟件包時(shí)會(huì)自動(dòng)依賴(lài)包,但yum remove子命令只卸載該軟件包而不能卸載依賴(lài)。
如果需要?jiǎng)h除安裝時(shí)自動(dòng)安裝的依賴(lài)包,則可以使用yum history子命令回滾安裝事務(wù)以達(dá)到目的。
具體操作
查看yum操作(事務(wù))歷史
[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 <root> | 2022-01-10 15:38 | Install | 12 EE
2 | root <root> | 2022-01-10 10:38 | I, U | 8
1 | System <unset> | 2022-01-10 10:05 | Install | 311
查看某個(gè)事務(wù)詳細(xì)信息
歷史記錄當(dāng)中沒(méi)有直接列出事務(wù)的詳細(xì)信息,但是可根據(jù)時(shí)間和操作類(lèi)型初步篩選事務(wù)。
然后通過(guò) yum history info子命令查看事務(wù)的詳細(xì)信息。
例如這里查看ID為3的事務(wù)的詳細(xì)信息。
[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 : root <root>
Return-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
回滾事務(wù)(刪除)
確定需要回滾的安裝事務(wù)后,使用yum history undo子命令實(shí)現(xiàn)回滾。
[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子命令詳細(xì)幫助
[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.
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Ubuntu18.04一次性升級(jí)Python所有庫(kù)的方法步驟
這篇文章主要介紹了Ubuntu18.04一次性升級(jí)Python所有庫(kù)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
Linux給磁盤(pán)擴(kuò)容(LVM方式)的方法實(shí)現(xiàn)
本文主要介紹了Linux給磁盤(pán)擴(kuò)容(LVM方式)的方法實(shí)現(xiàn),涵蓋PV/VG/LV概念及操作步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2025-05-05
Linux系統(tǒng)java進(jìn)程CPU占用過(guò)高的問(wèn)題及排查
這篇文章主要介紹了Linux系統(tǒng)java進(jìn)程CPU占用過(guò)高的問(wèn)題及排查方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
Linux 在線(xiàn)安裝軟件 gcc在線(xiàn)安裝的操作方法
今天小編就為大家分享一篇Linux 在線(xiàn)安裝軟件 gcc在線(xiàn)安裝的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
使用apache的rotatelogs命令實(shí)現(xiàn)WebLogic啟動(dòng)命令的nohup的日志回滾
通過(guò)apache的rotatelogs命令實(shí)現(xiàn)WebLogic啟動(dòng)命令的nohup的日志回滾,有需要的朋友可以參考下2013-01-01
解決-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 權(quán)限不夠問(wèn)題
這篇文章主要介紹了解決-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 權(quán)限不夠的問(wèn)題,需要的朋友可以參考下2019-09-09
linux內(nèi)核啟動(dòng)的入口介紹及說(shuō)明
Linux內(nèi)核啟動(dòng)分為固件初始化、內(nèi)核解壓、架構(gòu)特定入口(如x86的startup_32/64、ARM的stext)和核心初始化階段(如sched_init、mem_init),用戶(hù)空間過(guò)渡階段通過(guò)rest_init創(chuàng)建內(nèi)核線(xiàn)程,完成文件系統(tǒng)掛載和控制權(quán)移交2025-10-10

