由于工作需要,可能要进行Apache mariadb php等服务的卸载,闲话不多说,直接上方法。


Apache 卸载

我们的第一个例子就先拿 Apache 来开刀。不管你信不信现在我就要把它从Centos里卸载掉,不要问为什么,你懂的!执行下面一行代码

#rpm-qa|grephttpd

然后终端窗口就可显示如下两条信息

httpd-2.4.6-40.el7.centos.1.x86_64httpd-tools-2.4.6-40.el7.centos.1.x86_64

很棒,我们已经找到猎物了,下一步要做的就是有的放矢

#rpm-ehttpd-2.4.6-40.el7.centos.1.x86_64

回车后竟然提示如下错误

error:Faileddependencies:httpd-mmn=20120211x8664isneededby(installed)php-5.4.16-36.1.el7_2.1.x86_64

稍微懂点英文的朋友估计已经知道这是什么回事了,大概意思就是说,php 依赖了 Apache 环境。

所以我们得先把这个幕后的“黑手”干掉。

在干掉它之前,我们肯定得了解下 php 的能力几何,配置了什么装备对吧,毕竟知己知彼,百战不殆!执行命令

#rpm-qa|grepphp

终端会列出如下信息(这个会因人而异,就看你之前安装了多少扩展)

[root@niaoyun53098~]#rpm-qa|grepphpphp-cli-5.4.16-36.1.el7_2.1.x86_64php-pear-1.9.4-21.el7.noarchphp-mbstring-5.4.16-36.1.el7_2.1.x86_64php-common-5.4.16-36.1.el7_2.1.x86_64php-process-5.4.16-36.1.el7_2.1.x86_64php-xml-5.4.16-36.1.el7_2.1.x86_64php-gd-5.4.16-36.1.el7_2.1.x86_64php-ldap-5.4.16-36.1.el7_2.1.x86_64php-pdo-5.4.16-36.1.el7_2.1.x86_64php-mysql-5.4.16-36.1.el7_2.1.x86_64php-bcmath-5.4.16-36.1.el7_2.1.x86_64php-5.4.16-36.1.el7_2.1.x86_64php-odbc-5.4.16-36.1.el7_2.1.x86_64php-xmlrpc-5.4.16-36.1.el7_2.1.x86_64

扩展这么之,我们要删掉哪一个?答案是你可以全删了,也可以只删掉刚才报错的php-5.4.16-36.1.el7_2.1.x86_64,下面我就简单点只删掉php-5.4.16-36.1.el7_2.1.x86_64 这个绊脚石。

#rpm-ephp-5.4.16-36.1.el7_2.1.x86_64

这个执行完之后,你再

#rpm-qa|grepphp

查看下,在列出的信息中已经不见了php-5.4.16-36.1.el7_2.1.x86_64 的踪影了。接下来要做的就是 卸载 Apache 了。

#rpm-ehttpd-2.4.6-40.el7.centos.1.x86_64

执行完后会有如下提示

warning:/etc/httpd/conf/httpd.confsavedas/etc/httpd/conf/httpd.conf.rpmsave

不用管它,现在执行下命令

#rpm-qa|grephttpd

里面只剩下

httpd-tools-2.4.6-40.el7.centos.1.x86_64

好了,到这里已经完成了 Apache 服务的卸载。

如果你觉得上面分两步执行很麻烦,那么你可以使用下面这一行命令来一石两鸟。

#yumerasehttpd

这个命令行会自动的帮你卸载 httpd 服务,如果有其实服务(如 php )依赖于 Apache 的话,也会一同被卸载。

MariaDB 卸载

为了让你更详细的了解 yum erase 这个命令行,下面我用 yum erase *(*代表服务,如:MariaDB,Apache,FTP,php) 再来举个例子,由于我用的是centos 7,所以也装了一个MariaDB 数据库,所以就拿它来当这次的小白鼠吧。

下面是 yum erase mariadb 命令的 执行记录

[root@niaoyun53098~]#rpm-qa|grepmariadbmariadb-devel-5.5.47-1.el7_2.x86_64mariadb-embedded-5.5.47-1.el7_2.x86_64mariadb-bench-5.5.47-1.el7_2.x86_64mariadb-server-5.5.47-1.el7_2.x86_64mariadb-test-5.5.47-1.el7_2.x86_64mariadb-libs-5.5.47-1.el7_2.x86_64mariadb-embedded-devel-5.5.47-1.el7_2.x86_64mariadb-5.5.47-1.el7_2.x86_64[root@niaoyun53098~]#rpm-emariadb-5.5.47-1.el7_2.x86_64error:Faileddependencies:mariadb(x86-64)=1:5.5.47-1.el7_2isneededby(installed)mariadb-server-1:5.5.47-1.el7_2.x86_64mariadb(x86-64)=1:5.5.47-1.el7_2isneededby(installed)mariadb-test-1:5.5.47-1.el7_2.x86_64mariadb(x86-64)=1:5.5.47-1.el7_2isneededby(installed)mariadb-bench-1:5.5.47-1.el7_2.x86_64[root@niaoyun53098~]#yumerasemariadb-5.5.47-1.el7_2.x86_64Loadedplugins:fastestmirrorResolvingDependencies-->Runningtransactioncheck--->Packagemariadb.x86_641:5.5.47-1.el7_2willbeerased-->ProcessingDependency:mariadb(x86-64)=1:5.5.47-1.el7_2forpackage:1:mariadb-bench-5.5.47-1.el7_2.x86_64-->ProcessingDependency:mariadb(x86-64)=1:5.5.47-1.el7_2forpackage:1:mariadb-test-5.5.47-1.el7_2.x86_64-->ProcessingDependency:mariadb(x86-64)=1:5.5.47-1.el7_2forpackage:1:mariadb-server-5.5.47-1.el7_2.x86_64-->Runningtransactioncheck--->Packagemariadb-bench.x86_641:5.5.47-1.el7_2willbeerased--->Packagemariadb-server.x86_641:5.5.47-1.el7_2willbeerased--->Packagemariadb-test.x86_641:5.5.47-1.el7_2willbeerased-->FinishedDependencyResolutionDependenciesResolved===============================================================================================================================================================================================================PackageArchVersionRepositorySize===============================================================================================================================================================================================================Removing:mariadbx86_641:5.5.47-1.el7_2@updates49MRemovingfordependencies:mariadb-benchx86_641:5.5.47-1.el7_2@updates2.6Mmariadb-serverx86_641:5.5.47-1.el7_2@updates56Mmariadb-testx86_641:5.5.47-1.el7_2@updates124MTransactionSummary===============================================================================================================================================================================================================Remove1Package(+3Dependentpackages)Installedsize:231MIsthisok[y/N]:yDownloadingpackages:RunningtransactioncheckRunningtransactiontestTransactiontestsucceededRunningtransactionWarning:RPMDBalteredoutsideofyum.Erasing:1:mariadb-bench-5.5.47-1.el7_2.x86_641/4Erasing:1:mariadb-test-5.5.47-1.el7_2.x86_642/4Erasing:1:mariadb-server-5.5.47-1.el7_2.x86_643/4warning:/var/log/mariadb/mariadb.logsavedas/var/log/mariadb/mariadb.log.rpmsaveErasing:1:mariadb-5.5.47-1.el7_2.x86_644/4Verifying:1:mariadb-bench-5.5.47-1.el7_2.x86_641/4Verifying:1:mariadb-test-5.5.47-1.el7_2.x86_642/4Verifying:1:mariadb-server-5.5.47-1.el7_2.x86_643/4Verifying:1:mariadb-5.5.47-1.el7_2.x86_644/4Removed:mariadb.x86_641:5.5.47-1.el7_2DependencyRemoved:mariadb-bench.x86_641:5.5.47-1.el7_2mariadb-server.x86_641:5.5.47-1.el7_2mariadb-test.x86_641:5.5.47-1.el7_2Complete![root@niaoyun53098~]#rpm-qa|grepmariadbmariadb-devel-5.5.47-1.el7_2.x86_64mariadb-embedded-5.5.47-1.el7_2.x86_64mariadb-libs-5.5.47-1.el7_2.x86_64mariadb-embedded-devel-5.5.47-1.el7_2.x86_64

如果你看得够仔细的话,那会看到yum erase * 这个命令行是如何一步一步删掉目标服务的以及如何处理删除目标服务所依赖的服务。

搞定,收工~领盒饭啦!!