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