小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
使用 yum install
安装某个软件时,如果安装包含依赖,会一同进行安装。
但是,使用 yum remove
卸载时,却不会将软件及依赖一起卸载。
那么,如何使用 yum 卸载软件及其所有的依赖呢?答案是使用 yum history
命令。
yum remove不会卸载依赖
如下,在安装 mysql 时,会一起安装 mysql-community-client 、mysql-community 、mysql-community-libs 、mysql-community-client-plugins 、mysql-community-server
如下:
# rpm -qa | grep mysql
mysql-community-client-8.0.26-1.el7.x86_64
mysql-community-common-8.0.26-1.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-libs-8.0.26-1.el7.x86_64
mysql-community-client-plugins-8.0.26-1.el7.x86_64
mysql-community-server-8.0.26-1.el7.x86_64
release-el7-3.noarch 为MySQL仓库源的包
卸载安装时的 mysql-community-server
:
# yum remove mysql-community-server -y
其依赖仍存在:
# rpm -qa | grep mysql
mysql-community-client-8.0.26-1.el7.x86_64
mysql-community-common-8.0.26-1.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-libs-8.0.26-1.el7.x86_64
mysql-community-client-plugins-8.0.26-1.el7.x86_64
yum history 查看历史记录
使用 yum history
可以查看所有的安装历史。
# yum history
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
30 | root <root> | 2021-09-03 21:13 | Erase | 1
29 | root <root> | 2021-09-03 17:02 | Install | 5 P<
28 | root <root> | 2021-09-03 16:58 | Install | 1 ><
27 | root <root> | 2021-09-03 16:52 | Install | 1 ><
26 | root <root> | 2021-09-03 16:30 | Install | 1 ><
25 | root <root> | 2021-09-03 09:54 | Install | 1 >
24 | <root_test> | 2021-09-02 15:20 | Install | 1 P<
23 | <root_test> | 2021-09-02 15:17 | Install | 1 ><
22 | <root_test> | 2021-09-02 15:08 | Install | 1 ><
21 | <root_test> | 2021-09-02 13:28 | Install | 1 >
20 | <root_test> | 2021-09-02 13:22 | I, U | 5
19 | root <root> | 2019-09-19 10:19 | I, U | 8
18 | root <root> | 2019-09-18 17:11 | Install | 4
17 | root <root> | 2019-09-18 16:47 | Erase | 2
16 | root <root> | 2019-06-21 16:04 | Install | 13 EE
15 | root <root> | 2019-06-21 09:39 | I, O, U | 1038 EE
14 | root <root> | 2019-06-14 16:41 | I, U | 6 EE
13 | root <root> | 2019-06-14 11:06 | Install | 1
12 | root <root> | 2019-03-28 18:01 | I, U | 23
11 | root <root> | 2019-03-28 15:13 | Install | 1
history list
yum history undo ID
撤销某一次的所有安装
从上面的列表中,可以查找安装 mysql-community-server
使的记录的ID为29。
然后 undo 撤销这次安装的所有软件(包及其依赖)
# yum history undo 29 -y
执行完后,再次查看:
# rpm -qa | grep mysql
mysql80-community-release-el7-3.noarch
使用redo重新还原安装
使用 redo ID
可以还原某次的安装。
# yum history redo 29 -y