对于刚接触Linux系统的用户来说,卸载软件常常让人摸不着头脑。和Windows那种统一的“控制面板-卸载”流程不同,Linux拥有多种软件包管理方式,不同的发行版、不同的安装来源,卸载命令也各不相同。如果你正对着终端不知道从何下手,这篇文章能帮你理清思路。

用apt卸载软件包

在Debian、Ubuntu及其衍生系统中,apt是最常用的包管理工具。如果你是通过apt install安装的软件,卸载时只需打开终端,输入sudo apt remove 软件名。这条命令会删除软件本体,但通常会保留配置文件——这在你以后可能重装时会方便一些。

linux怎么卸载软件_卸载软件闪退卸载不了_卸载软件恢复

想连配置文件一起清理干净鸟哥的linux私房菜,可以用sudo apt purge 软件名。另外别忘了,卸载完软件后执行一下sudo apt autoremove,这能帮你清理那些因为依赖关系被自动安装、但现在不再需要的软件包。长期不清理的话,系统里会积累很多无用的依赖包linux怎么卸载软件,占用磁盘空间。

有时你想彻底移除一个软件及它所有的配置文件、依赖包,可以组合使用:sudo apt purge 软件名 && sudo apt autoremove。如果记不住软件包的准确名称,用apt list --installed | grep 关键词来搜索已安装的包名。

通过yum或dnf卸载

卸载软件恢复_linux怎么卸载软件_卸载软件闪退卸载不了

CentOS、RHEL、Fedora等基于Red Hat的发行版中,yum和dnf是主要的管理工具。Fedora从版本22开始就用dnf替代了yum,但在CentOS 7及更早版本上仍是yum。

卸载命令非常直白:sudo yum remove 软件名 或 sudo dnf remove 软件名。这些命令会自动处理依赖关系,删除软件的同时也会移除那些不再被任何其他软件依赖的包。和apt一样,yum也支持清理缓存:sudo yum clean all,这能清除下载的软件包文件。

要注意的是,yum remove不会删除软件运行时生成的用户数据和日志文件。如果你需要彻底清理,还得手动检查/var/log、/etc、/home下的相关目录和文件。有些服务软件卸载后还会残留systemd服务文件,可以用systemctl list-units --type=service来检查并手动禁用。

linux怎么卸载软件_卸载软件闪退卸载不了_卸载软件恢复

使用源码编译安装的软件

很多开发者喜欢从源码编译安装软件,因为这样能获得最新的功能和定制化的编译参数。但卸载这类软件就没那么简单了——没有统一的包管理器记录安装路径。

如果你还在编译的源码目录里,可以试试sudo make uninstall。不过,并非所有软件包都在Makefile里提供了卸载目标。更重要的是,很多用户编译完软件后就把源码目录删了,这时候再想卸载就麻烦多了。

卸载软件闪退卸载不了_linux怎么卸载软件_卸载软件恢复

一个可行的办法是通过checkinstall重新打包。如果你当初用checkinstall代替make install来安装,那么它会生成一个deb或rpm包linux怎么卸载软件,后续就能用包管理器正常卸载。如果完全没有任何记录,你只能手动删除文件:找到当时编译时配置的安装路径(通常是/usr/local/bin、/usr/local/lib等),逐个删除相关文件。有些大型软件会把自己的文件列表放在安装目录下的install_manifest.txt中,找到它就能知道该删哪些文件。

Python和Snap等特殊安装方式

除了系统包管理器,Linux上还有Pip、Snap、Flatpak等独立的软件安装方式。用pip install安装的Python包,卸载时用pip uninstall 包名。注意,如果你用sudo pip安装,卸载时也要加sudo。

卸载软件闪退卸载不了_linux怎么卸载软件_卸载软件恢复

Snap包是Ubuntu力推的沙盒化应用格式,卸载命令是sudo snap remove 软件名。Snap包会把自己的数据存放在/snap目录下,卸载后如果不想留下缓存linux 关机命令,可以用snap list查看所有已安装的snap包,再逐个清除。

Flatpak的卸载命令是flatpak uninstall 软件名。如果你卸载后想清理不再需要的运行时,可以执行flatpak uninstall --unused。对于AppImage格式的软件,卸载就更简单了——直接删除那个AppImage文件就行,因为它是一个自包含的可执行文件,不会往系统里写入依赖或库文件。

学会根据你当初的安装方式来选择对应的卸载命令,能避免很多麻烦。平时安装软件时,最好养成记录安装方式和参数的习惯,这样将来卸载时就能少走弯路。Linux的自由度很高,但这份自由也意味着你需要更清楚地知道自己对系统做了什么操作。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复