先直接说结论:用 sudo apt purge 加上 sudo apt autoremove 这套组合拳,是 Ubuntu 里卸载软件最稳、最干净的方案,适用于绝大多数通过 apt 安装的程序。其他方式要么残留配置文件,要么只删了个图标,甚至压根没反应。

怎么确认软件包名?别输错,否则报错“E: Unable to locate package”
Ubuntu 里卸载失败,十有八九是包名写错了——它不等于你看到的软件名。比如“Firefox”对应的包名是 firefox,但“VS Code”其实是 code,“GIMP”是 gimp。靠猜没用,得用工具查:
- 查已安装包:运行
apt list --installed | grep -i 关键词,比如要卸 GIMP 就apt list --installed | grep -i gimp - 用 Tab 补全:输入
sudo apt purge gim再按Tab,终端会自动补全或列出候选包名 - 不确定时先模拟运行:
sudo apt purge --dry-run 软件名,看看它是否能识别、会删哪些依赖,不会真动手
sudo apt remove 和 sudo apt purge 的区别到底在哪?
关键就一句话:remove 只删二进制和主程序,purge 连所有配置文件(比如 /etc/ 下的设置、用户家目录里的 .config/xxx)一并清空。后者才是真正的“彻底卸载”:
- 选
remove:你打算过两天重装,想保留原有设置(例如 Wireshark 的过滤规则、PostgreSQL 的初始化数据目录) - 选
purge:软件真不用了,或者重装前想从零开始(比如换版本、排查配置冲突) - 注意:
purge不会删你手动创建的项目文件、文档、下载内容——只动包管理器自己写的配置
卸完还要跑 autoremove,不然依赖包越积越多
apt 安装软件时会顺手装一堆依赖,卸载主包时默认不删这些“孤儿依赖”。它们占空间、可能干扰新软件安装,必须手动清理:
- 执行
sudo apt autoremove:只删那些“没被任何已安装包依赖”的包,安全可靠 - 加
--dry-run先看要删啥:sudo apt autoremove --dry-run - 别用
apt clean或autoclean替代它——那俩清的是下载缓存(/var/cache/apt/archives/),不是已安装的包 - 如果系统提示 “The following packages will be REMOVED:”,快速扫一眼有没有眼熟的(比如
libreoffice-common),避免误删
图形界面点“卸载”为啥有时没反应?或卸完图标还在?
Ubuntu Software(GNOME Software)里的“卸载”按钮只对 apt 和 snap 安装的软件有效。遇到以下情况,它根本不管用:
- 图标还在但点不开:大概率是手动放的
.desktop文件,真实程序早删了。查位置:find ~/.local/share/applications -name "*.desktop" | grep -i 关键词,删掉对应文件再运行update-desktop-database ~/.local/share/applications - AppImage / tar.gz 解压运行的:没有“卸载”概念,删掉那个可执行文件 + 对应的
.desktop就行 - Snap 应用:得用
snap remove 包名,不是apt命令;Flatpak 同理用flatpak uninstall
真正麻烦的从来不是“怎么删”,而是删完发现某个功能异常——往往是因为误删了共享依赖,或者忘了 autoremove 留了一堆无用包。动手前花十秒查包名、加 --dry-run 看预览,比事后修复快得多。
