Linux 如何安全卸載軟件?一篇看懂所有方式(含 Docker & K8s)
安裝軟件容易,卸載干凈才是王道。不論你是用包管理器、源碼安裝,還是用 Docker 或 Kubernetes 部署,本文都將帶你逐一掌握“干凈利落”的卸載技巧!
下面是整體卸載思路:
一、常規(guī)軟件卸載方式
1. 使用包管理器卸載
(1) Debian/Ubuntu系列
主要是基于apt來管理軟件包:
sudo apt remove 軟件包名 # 卸載軟件,保留配置文件
sudo apt purge 軟件包名 # 卸載軟件及其配置文件
sudo apt autoremove # 自動清除無用依賴
查看軟件是否已卸載:
dpkg -l | grep 軟件名
(2) RedHat/CentOS系列
RedHat系列操作系統(tǒng)主要用dnf或yum管理軟件包,下面操作同樣適用于Fedora,麒麟V10,openEuler等操作系統(tǒng)
dnf remove 軟件包名 # RHEL 8+/Fedora 推薦
yum remove 軟件包名 # RHEL 7/CentOS 7 使用
查看軟件是否已卸載:
rpm -qi 軟件包名
2. 源碼安裝的卸載
很多軟件是通過編譯方式 ./configure && make && make install 安裝的,并不被包管理器記錄。這種情況下,卸載方法如下:
- 步驟一:找到源碼目錄(編譯時的目錄)
- 步驟二:執(zhí)行卸載命令(如果 Makefile 支持)
make uninstall
溫馨注意:
- 不是所有源碼都有 uninstall 目標。
- 若沒有,需根據(jù) make install 時復制的路徑,手動刪除對應文件,此步驟需要非常謹慎,刪錯了后果比較嚴重,盡量做到可控。
二、卸載 Docker 安裝
Docker 的部署是容器化運行,卸載時要注意清理容器、鏡像、網(wǎng)絡和數(shù)據(jù)卷。
(1) 查看容器和鏡像
docker ps -a # 查看所有容器
docker images # 查看本地鏡像
(2) 刪除容器
docker stop 容器名或ID
docker rm 容器名或ID
# 可以強制刪除正在運行的容器
docker rm -f 容器名或ID
(3) 刪除鏡像
docker rmi 鏡像名或ID
鏡像必須沒有容器依賴,才能刪除,有運行中的容器,需要加-f強制刪除,但要謹慎。
(4) 刪除掛載卷(可選)
docker volume ls
docker volume rm 卷名
(5) 刪除網(wǎng)絡
如果是自定義容器網(wǎng)絡,可以根據(jù)下面命令卸載
docker network ls
docker network rm 網(wǎng)絡名
一鍵清理所有未使用資源(危險,需謹慎):
docker system prune -a
三、卸載K8S安裝的軟件
Kubernetes(K8s)是容器編排平臺,卸載主要分為三種方式:
1. 刪除資源對象(最常見)
# 根據(jù)資源清單進行刪除,會刪除清單里面的所有資源對象
kubectl delete -f app.yaml
# 或根據(jù)名稱:
kubectl delete deployment myapp
kubectl delete service myapp-service
2. 使用 Helm 卸載(如果用 Helm 安裝)
如果是用Helm安裝的,可以直接使用helm卸載
helm list # 查看安裝的應用
helm uninstall release名
Helm 會自動清理相關(guān)的 Deployment、Service、ConfigMap 等。
3. 清理持久化存儲(PVC)
kubectl delete pvc 數(shù)據(jù)卷名稱
查看是否徹底清理干凈:
kubectl get all -n your-namespace
kubectl get pvc
四、避免常見錯誤
錯誤操作 | 后果說明 |
刪除共享依賴 | 可能破壞其他軟件運行(如OpenSSL) |
忘記清理配置文件 | 安裝新版本后仍然加載舊配置,可能導致故障 |
盲目手動刪除系統(tǒng)文件 | 可能導致系統(tǒng)無法啟動或軟件崩潰 |
總之,卸載需謹慎!