在linux中彻底卸载软件需按包管理器差异操作:apt用purge+autoremove+clean;dnf用remove+autoremove并手动删~/.config等;yum用erase+autoremove并检查删除/etc/和systemd文件;pacman用-rs+ql查配置后手动删;源码安装则依赖prefix定位、uninstall目标或安装日志清理。

如果您在Linux系统中安装了某个软件,现在希望将其完全移除,包括主程序、配置文件和依赖包,则需要根据不同的包管理器执行对应操作。以下是针对主流Linux发行版的多种卸载方法:
一、使用apt(Debian/Ubuntu系)卸载并清除残留
apt工具提供两种删除模式:仅卸载软件包,或同时删除其配置文件。若要彻底删除,必须显式指定清除配置项。
1、打开终端,执行以下命令卸载软件包及其配置文件:
sudo apt purge 软件包名称
2、执行依赖清理,移除不再被其他软件依赖的孤立包:
sudo apt autoremove
3、清理本地下载的已安装包缓存文件:
sudo apt clean
二、使用dnf(Fedora/RHEL 8+)卸载并删除配置与数据
dnf默认卸载时不删除用户配置目录,需配合额外命令手动处理配置残留。其--remove-leaves选项可辅助清理无用依赖。
1、卸载指定软件包及所有依赖项(谨慎使用):
sudo dnf remove 软件包名称
2、运行依赖精简命令,移除未被任何已安装包引用的包:
sudo dnf autoremove
3、手动查找并删除该软件的用户级配置目录,常见路径为:
rm -rf ~/.config/软件名 ~/.local/share/软件名
三、使用yum(CentOS 7/RHEL 7)彻底清除软件
yum不支持原生命令直接删除配置文件,需分步执行卸载、依赖清理与手动擦除配置。其erase子命令等效于remove。
1、卸载主程序包:
sudo yum erase 软件包名称
2、清理已卸载包残留的依赖项:
sudo yum autoremove
3、检查/etc/目录下是否存在该软件的系统级配置文件或服务单元:
ls /etc/软件名* /usr/lib/systemd/system/软件名*.service
4、确认后执行强制删除:
sudo rm -f /etc/软件名* /usr/lib/systemd/system/软件名*.service
四、使用pacman(Arch Linux/Manjaro)完整卸载
pacman提供-Rs选项组合,可一次性移除目标包及其所有非共享依赖,并支持查询配置文件路径以便后续人工清理。
1、卸载软件包及其孤立依赖:
sudo pacman -Rs 软件包名称
2、列出该包曾安装的所有文件(含配置路径):
pacman -Ql 软件包名称 | grep -E '\.(conf|cfg|ini|toml|yaml)$'
3、对输出中的每个配置路径,检查是否仍存在且属于该软件独占使用,如确认无误则手动删除:
sudo rm -f 查到的配置文件绝对路径
五、手动编译安装软件的彻底删除流程
通过./configure && make && sudo make install方式安装的软件无包管理器记录,必须依靠安装日志或反向追踪文件归属进行清除。
1、若安装时指定了prefix(如--prefix=/usr/local),则先定位该目录下的对应子目录:
ls /usr/local/软件名* /usr/local/bin/*软件名
2、若执行make install前运行过make uninstall且Makefile支持该目标,则直接执行:
sudo make uninstall
3、若无uninstall目标,需根据安装日志(如make install输出重定向保存的install.log)逐行比对并删除每条记录的文件路径:
sudo xargs rm -f install.log










