由於工作需要,可能要進行Apache mariadb php等服務的卸載,閒話不多說,直接上方法。
Apache 卸載
我們的第一個例子就先拿 Apache 來開刀。不管你信不信現在我就要把它從Centos裏卸載掉,不要問爲什麼,你懂的!執行下面一行代碼
# rpm -qa|grep httpd
然後終端窗口就可顯示如下兩條信息
httpd-2.4.6-40.el7.centos.1.x86_64httpd-tools-2.4.6-40.el7.centos.1.x86_64
很棒,我們已經找到獵物了,下一步要做的就是有的放矢
# rpm -e httpd-2.4.6-40.el7.centos.1.x86_64
回車後竟然提示如下錯誤
error: Failed dependencies: httpd-mmn = 20120211x8664 is needed by (installed) php-5.4.16-36.1.el7_2.1.x86_64
稍微懂點英文的朋友估計已經知道這是什麼回事了,大概意思就是說,php 依賴了 Apache 環境。
所以我們得先把這個幕後的“黑手”幹掉。
在幹掉它之前,我們肯定得了解下 php 的能力幾何,配置了什麼裝備對吧,畢竟知己知彼,百戰不殆!執行命令
# rpm -qa|grep php
終端會列出如下信息(這個會因人而異,就看你之前安裝了多少擴展)
[root@niaoyun53098 ~]# rpm -qa|grep phpphp-cli-5.4.16-36.1.el7_2.1.x86_64 php-pear-1.9.4-21.el7.noarch php-mbstring-5.4.16-36.1.el7_2.1.x86_64 php-common-5.4.16-36.1.el7_2.1.x86_64 php-process-5.4.16-36.1.el7_2.1.x86_64 php-xml-5.4.16-36.1.el7_2.1.x86_64 php-gd-5.4.16-36.1.el7_2.1.x86_64 php-ldap-5.4.16-36.1.el7_2.1.x86_64 php-pdo-5.4.16-36.1.el7_2.1.x86_64 php-mysql-5.4.16-36.1.el7_2.1.x86_64 php-bcmath-5.4.16-36.1.el7_2.1.x86_64 php-5.4.16-36.1.el7_2.1.x86_64 php-odbc-5.4.16-36.1.el7_2.1.x86_64 php-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 -e php-5.4.16-36.1.el7_2.1.x86_64
這個執行完之後,你再
# rpm -qa|grep php
查看下,在列出的信息中已經不見了 php-5.4.16-36.1.el7_2.1.x86_64 的蹤影了。接下來要做的就是 卸載 Apache 了。
# rpm -e httpd-2.4.6-40.el7.centos.1.x86_64
執行完後會有如下提示
warning: /etc/httpd/conf/httpd.conf saved as /etc/httpd/conf/httpd.conf.rpmsave
不用管它,現在執行下命令
# rpm -qa|grep httpd
裏面只剩下
httpd-tools-2.4.6-40.el7.centos.1.x86_64
好了,到這裏已經完成了 Apache 服務的卸載。
如果你覺得上面分兩步執行很麻煩,那麼你可以使用下面這一行命令來一石兩鳥。
# yum erase httpd
這個命令行會自動的幫你卸載 httpd 服務,如果有其實服務(如 php )依賴於 Apache 的話,也會一同被卸載。
MariaDB 卸載
爲了讓你更詳細的瞭解 yum erase 這個命令行,下面我用 yum erase *(*代表服務,如:MariaDB,Apache,FTP,php) 再來舉個例子,由於我用的是centos 7,所以也裝了一個MariaDB 數據庫,所以就拿它來當這次的小白鼠吧。
下面是 yum erase mariadb 命令的 執行記錄
[root@niaoyun53098 ~]# rpm -qa|grep mariadbmariadb-devel-5.5.47-1.el7_2.x86_64 mariadb-embedded-5.5.47-1.el7_2.x86_64 mariadb-bench-5.5.47-1.el7_2.x86_64 mariadb-server-5.5.47-1.el7_2.x86_64 mariadb-test-5.5.47-1.el7_2.x86_64 mariadb-libs-5.5.47-1.el7_2.x86_64 mariadb-embedded-devel-5.5.47-1.el7_2.x86_64mariadb-5.5.47-1.el7_2.x86_64 [root@niaoyun53098 ~]# rpm -e mariadb-5.5.47-1.el7_2.x86_64 error: Failed dependencies: mariadb(x86-64) = 1:5.5.47-1.el7_2 is needed by (installed) mariadb-server-1:5.5.47-1.el7_2.x86_64 mariadb(x86-64) = 1:5.5.47-1.el7_2 is needed by (installed) mariadb-test-1:5.5.47-1.el7_2.x86_64 mariadb(x86-64) = 1:5.5.47-1.el7_2 is needed by (installed) mariadb-bench-1:5.5.47-1.el7_2.x86_64 [root@niaoyun53098 ~]# yum erase mariadb-5.5.47-1.el7_2.x86_64 Loaded plugins: fastestmirror Resolving Dependencies --> Running transaction check ---> Package mariadb.x86_64 1:5.5.47-1.el7_2 will be erased --> Processing Dependency: mariadb(x86-64) = 1:5.5.47-1.el7_2 for package: 1:mariadb-bench-5.5.47-1.el7_2.x86_64 --> Processing Dependency: mariadb(x86-64) = 1:5.5.47-1.el7_2 for package: 1:mariadb-test-5.5.47-1.el7_2.x86_64 --> Processing Dependency: mariadb(x86-64) = 1:5.5.47-1.el7_2 for package: 1:mariadb-server-5.5.47-1.el7_2.x86_64 --> Running transaction check ---> Package mariadb-bench.x86_64 1:5.5.47-1.el7_2 will be erased ---> Package mariadb-server.x86_64 1:5.5.47-1.el7_2 will be erased ---> Package mariadb-test.x86_64 1:5.5.47-1.el7_2 will be erased --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================================================================================================== Package Arch Version Repository Size ===============================================================================================================================================================================================================Removing:mariadb x86_64 1:5.5.47-1.el7_2 @updates 49 M Removing for dependencies:mariadb-bench x86_64 1:5.5.47-1.el7_2 @updates 2.6 M mariadb-server x86_64 1:5.5.47-1.el7_2 @updates 56 M mariadb-test x86_64 1:5.5.47-1.el7_2 @updates 124 M Transaction Summary =============================================================================================================================================================================================================== Remove 1 Package (+3 Dependent packages) Installed size: 231 M Is this ok [y/N]: y Downloading packages:Running transaction check Running transaction test Transaction test succeeded Running transactionWarning: RPMDB altered outside of yum. Erasing : 1:mariadb-bench-5.5.47-1.el7_2.x86_64 1/4Erasing : 1:mariadb-test-5.5.47-1.el7_2.x86_64 2/4Erasing : 1:mariadb-server-5.5.47-1.el7_2.x86_64 3/4warning: /var/log/mariadb/mariadb.log saved as /var/log/mariadb/mariadb.log.rpmsave Erasing : 1:mariadb-5.5.47-1.el7_2.x86_64 4/4Verifying : 1:mariadb-bench-5.5.47-1.el7_2.x86_64 1/4Verifying : 1:mariadb-test-5.5.47-1.el7_2.x86_64 2/4Verifying : 1:mariadb-server-5.5.47-1.el7_2.x86_64 3/4Verifying : 1:mariadb-5.5.47-1.el7_2.x86_64 4/4Removed:mariadb.x86_64 1:5.5.47-1.el7_2 Dependency Removed:mariadb-bench.x86_64 1:5.5.47-1.el7_2 mariadb-server.x86_64 1:5.5.47-1.el7_2 mariadb-test.x86_64 1:5.5.47-1.el7_2 Complete! [root@niaoyun53098 ~]# rpm -qa|grep mariadbmariadb-devel-5.5.47-1.el7_2.x86_64 mariadb-embedded-5.5.47-1.el7_2.x86_64 mariadb-libs-5.5.47-1.el7_2.x86_64 mariadb-embedded-devel-5.5.47-1.el7_2.x86_64
如果你看得夠仔細的話,那會看到 yum erase * 這個命令行是如何一步一步刪掉目標服務的以及如何處理刪除目標服務所依賴的服務。
搞定,收工~領盒飯啦!!