按包管理器卸载旧版本的标准流程
apt policy <包名> 查看可用与已安装版本;dpkg -l | grep <关键词> 精确查包名。dnf info <包名> 或 yum info <包名> 查看版本;rpm -qa | grep <关键词> 查包名。pacman -Qi <包名> 查看版本;pacman -Q | grep <关键词> 查包名。sudo apt remove <包名>;RHEL/CentOS 用 sudo yum remove <包名>;Fedora 用 sudo dnf remove <包名>;Arch 用 sudo pacman -R <包名>。sudo apt purge <包名>;Arch 用 sudo pacman -Rns <包名>;RHEL/CentOS/Fedora 的 yum/dnf 默认不提供“一键purge”,卸载后需手动清理残留配置(见下文“清理残留”)。sudo apt autoremove;RHEL/CentOS/Fedora 用 sudo yum autoremove 或 sudo dnf autoremove;Arch 用 sudo pacman -Rns $(pacman -Qdtq)。sudo apt clean && sudo apt autoclean;RHEL/CentOS 用 sudo yum clean all;Fedora 用 sudo dnf clean all;Arch 用 sudo pacman -Sc。按发行版常用命令一览
| 发行版/家族 | 卸载保留配置 | 卸载并清理配置 | 清理依赖 | 清理缓存 |
|---|---|---|---|---|
| Debian/Ubuntu | sudo apt remove <包名> |
sudo apt purge <包名> |
sudo apt autoremove |
sudo apt clean && sudo apt autoclean |
| RHEL/CentOS(YUM) | sudo yum remove <包名> |
手动删除 /etc/<包名>*(见下文) |
sudo yum autoremove |
sudo yum clean all |
| Fedora(DNF) | sudo dnf remove <包名> |
手动删除 /etc/<包名>*(见下文) |
sudo dnf autoremove |
sudo dnf clean all |
| openSUSE(zypper) | sudo zypper remove <包名> |
手动清理配置 | 视依赖提示处理 | sudo zypper clean |
| Arch Linux(pacman) | sudo pacman -R <包名> |
sudo pacman -Rns <包名> |
sudo pacman -Rns $(pacman -Qdtq) |
sudo pacman -Sc |
| 手动安装的 .deb | sudo dpkg -r <包名> |
sudo dpkg -P <包名> |
— | — |
| 手动安装的 .rpm | sudo rpm -e <包名> |
手动删除 /etc/<包名>* |
— | — |
说明:
dpkg -i 或 rpm -ivh 安装、未被系统仓库跟踪的软件。yum/dnf 家族默认不提供与 apt purge 等价的“卸载并清理配置”开关,需卸载后手动清理配置目录。只保留最新版本的安全做法
sudo rpm -Uvh <新版本.rpm>(会自动卸载旧版)。sudo dnf upgrade <包名> 或 sudo yum update <包名>。sudo apt install <包名>(若仓库中新于已装版,会自动升级)。sudo systemctl stop <服务名>。常见问题与强制卸载
apt rdepends <包名>(Debian/Ubuntu)、dnf provides <文件/命令> 或 repoquery --whatrequires <包名>(RHEL/CentOS/Fedora,需安装 yum-utils/dnf-utils)、pacman -Qi <包名> 看 Required By(Arch)。sudo rpm -e --nodeps <包名>;更推荐先 rpm -e -vv --test <包名> 做“演练”检查依赖影响。/etc/<包名>*、/usr/lib/<包名>*、~/.config/<包名>*/ 等,确认无用后再删除。/var/cache/apt/archives/,RHEL/CentOS 的 /var/cache/yum/,Fedora 的 DNF 缓存,Arch 的 pacman 缓存目录;使用上表对应 clean/autoclean 命令更安全。