移除的选项很简单,就透过
-e
即可移除。不过,很常发生软件属性相依导致无法移除某些软件的问
题!
我们以底下的例子来说明:
# 1.
找出与
pam
件名
,并
尝试
移除
pam
这个软
件:
[root@study ~]#
rpm
-
qa | grep pam
fprintd
-
pam
-
0.5.0
-
4.0.el7_0.x86_64
pam
-
1.1.8
-
12.el7.x86_64
gnome
-
keyring
-
pam
-
3.8.2
-
10.el7.x86_64
pam
-
devel
-
1.1.8
-
12.el7.x86_64
pam_krb5
-
2.
4.8
-
4.el7.x86_64
[root@study ~]#
rpm
-
e pam
error: Failed dependencies:
<==
里提到的是相依性的
问题
libpam.so.0()(64bit) is needed by (installed) systemd
-
libs
-
208
-
20.el7.x86_64
libpam.so.0()(64bit) is needed by (installed) libpwquality
-
1.2.3
-
4.el7.x86_64
....(
以下省略
)....
# 2.
½
移除
pam
-
devel
这个
之前范例安
上的
件呢?
[root@study ~]#
rpm
-
e pam
-
devel
<==
任何
息!
[root@study ~]#
rpm
-
q pam
-
devel
package pam
-
devel is not installed
从范例一我们知道
pam
所提供的函式库是让非常多其他软件使用的,因此你不能移除
pam
,除非
½其他相依软件一口气也全部移除!你当然也能加
--nodeps
来强制移除,
不过,如此一来所有会用
pam
函式库的软件,都½成为无法运作的程序,我想,你的主机也只好准备停机休假了吧!
于范例二中,由于
pam-devel
是依附于
pam
的开发工具,你可以单独安装与单独移除啦!
由于
RPM
文件常常会安装
/
移除
/
升级等,某些动作或许可能会导致
RPM
数据库
/var/lib/rpm/
内的
文件破损。果真如此的话,那你该如何是好?别担心,我们可以使用
--rebuilddb
这个选项来重½一
下数据库喔!
作法如下:
[root@study ~]#
rpm
--
rebuilddb
<==
重½
22.3 YUM
在线升级机制
我们在本章一开始的地方谈到过
yum
这玩意儿,这个
yum
是透过分析
RPM
的标头资料后,
根据
各软件的相关性制作出属性相依时的½决方案,然后可以自动处理软件的相依属性问题,以½决软件
安装或移除与升级的问题。
详细的
yum
服务器与客户端之间的沟通,可以再回到前面的部分查阅
一下
22.1.1
的说明。
由于
distribution
必须要先释出软件,然后½软件放置于
yum
服务器上面,以提供客户端来要求安
装与升级之用的。
因此我们想要使用
yum
的功能时,必须要先找到适合的
yum server
才行啊!而
每个
yum server
可能都会提供许多不同的软件功能,那就是我们之前谈到的『软件库』啦!因此,
你必须要前往
yum server
查询到相关的软件库网址后,再继续处理后续的设定事宜。