LAMP 由 Apache、MySQL、PHP 三大組件構成,RPM 安裝時相互依賴,卸載順序與依賴處理稍有不慎即殘留檔案。本文提供從查詢套件到逐層卸載、處理依賴衝突、最後驗證的標準化流程。
rpm -qa | grep 關鍵字 列出完整套件名;--nodeps 強制(最後手段)。# 1. 查詢所有 mysql 相關套件
rpm -qa | grep mysql
# 輸出範例(由新到舊):
# mod_auth_mysql-2.6.1-2.2
# php-mysql-4.3.9-3.15
# mysql-devel-4.1.20-1.RHEL4.1
# mysql-4.1.20-1.RHEL4.1
# mysqlclient10-3.23.58-4.RHEL4.1
# libdbi-dbd-mysql-0.6.5-10.RHEL4.1
# 2. 從最後一行開始卸載(最底層依賴)
rpm -e libdbi-dbd-mysql
rpm -e mysqlclient10
rpm -e mysql
rpm -e mysql-devel
rpm -e php-mysql
rpm -e mod_auth_mysql
版本號可省略,rpm -e 套件名 自動匹配。
rpm -qa | grep httpd
# httpd-manual-2.0.52-25.ent
# system-config-httpd-1.3.1-1
# httpd-2.0.52-25.ent
# httpd-suexec-2.0.52-25.ent
rpm -e httpd-suexec
rpm -e httpd
rpm -e system-config-httpd
rpm -e httpd-manual
rpm -qa | grep php
# php-odbc-4.3.9-3.15
# php-4.3.9-3.15
# php-mysql-4.3.9-3.15
# php-pear-4.3.9-3.15
# php-ldap-4.3.9-3.15
# php-pgsql-4.3.9-3.15
rpm -e php-pgsql
rpm -e php-ldap
rpm -e php-pear
rpm -e php-odbc
rpm -e php
# php-mysql 已在 MySQL 階段卸載
# 提示:error: Failed dependencies: php = 4.3.9-3.15 is needed by php-ldap-4.3.9-3.15
# 解決:先卸載 php-ldap,再卸載 php
rpm -e php-ldap
rpm -e php
# 實在無法解決依賴,最後手段:
rpm -e --nodeps php-4.3.9-3.15
yum remove mysql mysql-server
yum remove php php-* # 通配符移除所有 php 子套件
yum remove httpd httpd-*
優先推薦 yum,除非系統無 yum 或套件非 yum 安裝。
rpm -qa | grep -E "mysql|httpd|php"
# 無輸出即乾淨
which httpd mysql php
# 全部提示不存在
ls /etc/httpd /etc/my.cnf /etc/php.ini 2>/dev/null
# 目錄/配置檔應已移除(部分配置檔可能保留,手動清理)
遵循「查詢→由葉到根→驗證」三步走,LAMP 環境可徹底乾淨卸載,為重新部署或遷移騰出乾淨環境。
