卸载RHEL下自带的mysql apache php

一、卸载mysql
[root@localhost ~]# rpm -qa |grep mysql
mysql-4.1.20-1.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
说明:rpm -qa | grep mysql 命令是为了把mysql相关的包都列出来,我上面的例子是RedHat Enterprise4.0默认安装mysql的rpm软件包列表,如果是别的Linux版本列出来的列表有可能会不一样,不过不用担心,不管是什么,卸 载都从最下面的一 个包开始,直到卸载掉第一个为止。

比如:在这个例子中,我们应该先卸载mysqlclient10-3.23.58-4.RHEL4.1 方法如下:
rpm -e mysql-server
说明:rpm -e 是卸载rpm包的命令,后面是包名称,最后的版本号是不用打的,比如我们下一步卸载mysqlclient10-3.23.58-4包,方法如下:
# rpm -e mysqlclient10

问题:

# rpm -e mysql
錯誤:相依性失敗:
libmysqlclient.so.14 是 (已安裝)cyrus-sasl-sql-2.1.19-5.EL4.i386 所需 要的

我是新手,不知道cyrus-sasl-sql-2.1.19-5.EL4.i386 什么用,就只卸载了第二个,没卸载第一个。说明:卸载的时候如果卸载不掉,系统一般会提示包的依赖关系,并且列出依赖的包的名称,先卸载提示依赖的包就可以了。

二、卸载apache

[root@localhost ~]# rpm -qa |grep httpd
httpd-2.0.52-25.ent
httpd-manual-2.0.52-25.ent
httpd-suexec-2.0.52-25.ent
[root@localhost ~]# rpm -e httpd-suexec
錯誤:相依性失敗:
httpd-suexec 是 (已安裝)httpd-2.0.52-25.ent.x86_64 所需要的
[root@localhost ~]# rpm -e httpd-manual
[root@localhost ~]# rpm -e httpd
錯誤:相依性失敗:
httpd-mmn = 20020903 是 (已安裝)mod_perl-1.99_16-4.x86_64 所需要的
httpd-mmn = 20020903 是 (已安裝)mod_python-3.1.3-5.1.x86_64 所需要的
httpd-mmn = 20020903 是 (已安裝)mod_ssl-2.0.52-25.ent.x86_64 所需要的
httpd-mmn = 20020903 是 (已安裝)php-4.3.9-3.15.x86_64 所需要的
webserver 是 (已安裝)webalizer-2.01_10-25.x86_64 所需要的
httpd = 2.0.52-25.ent 是 (已安裝)httpd-suexec-2.0.52-25.ent.x86_64 所 需要的
httpd >= 2.0.40 是 (已安裝)mod_perl-1.99_16-4.x86_64 所需要的
httpd >= 2.0.40 是 (已安裝)mod_python-3.1.3-5.1.x86_64 所需要的
httpd = 2.0.52-25.ent 是 (已安裝)mod_ssl-2.0.52-25.ent.x86_64 所需要

[root@localhost ~]# rpm -e mod_perl
[root@localhost ~]# rpm -e mod_python
[root@localhost ~]# rpm -e mod_ssl
[root@localhost ~]# rpm -e httpd-suexec
錯誤:相依性失敗:
httpd-suexec 是 (已安裝)httpd-2.0.52-25.ent.x86_64 所需要的
[root@localhost ~]# rpm -e httpd
錯誤:相依性失敗:
httpd-mmn = 20020903 是 (已安裝)php-4.3.9-3.15.x86_64 所需要的
webserver 是 (已安裝)webalizer-2.01_10-25.x86_64 所需要的
httpd = 2.0.52-25.ent 是 (已安裝)httpd-suexec-2.0.52-25.ent.x86_64 所需要的
[root@localhost ~]# rpm -e webalizer

由于相互倚赖关系,需要卸载php 后再来卸载apache 。

三、卸载php

[root@localhost ~]# rpm -qa |grep php
php-4.3.9-3.15
php-pear-4.3.9-3.15
php-ldap-4.3.9-3.15
[root@localhost ~]# rpm -e php-ldap
[root@localhost ~]# rpm -e php-pear
錯誤:相依性失敗:
php-pear 是 (已安裝)php-4.3.9-3.15.x86_64 所需要的
[root@localhost ~]# rpm -e php
錯誤:相依性失敗:
php = 4.3.9-3.15 是 (已安裝)php-pear-4.3.9-3.15.x86_64 所需要的
[root@localhost ~]# rpm -e php --nodeps
[root@localhost ~]# rpm -e php-pear

下面继续卸载apache:

[root@localhost ~]# rpm -qa |grep httpd
httpd-2.0.52-25.ent
httpd-suexec-2.0.52-25.ent
[root@localhost ~]# rpm -e httpd
錯誤:相依性失敗:
httpd = 2.0.52-25.ent 是 (已安裝)httpd-suexec-2.0.52-25.ent.x86_64 所需要的
[root@localhost ~]# rpm -e httpd --nodeps
警告:/etc/httpd/conf/httpd.conf 已存為 /etc/httpd/conf/httpd.conf.rpmsave
[root@localhost ~]# rm /etc/httpd/conf/httpd.conf.rpmsave
rm:是否删除一般文件'/etc/httpd/conf/httpd.conf.rpmsave'? y
[root@localhost ~]# rpm -e httpd-suexec

说明:上面用到了--nodeps,意思是不要验证套件的相依性。