Ubuntu系统中软件卸载与清理的终极指南

 更新时间:2025年05月23日 09:20:09   作者:小白也有IT梦  
这篇文章主要介绍了Ubuntu系统软件卸载指南涵盖APT、Snap、Flatpak等安装方式,提供卸载命令、清理依赖缓存及用户残留文件的方法,并强调验证卸载结果,确保彻底删除,需要的朋友可以参考下

1. 基础知识

Ubuntu 系统中软件的常见安装方式:

  • APT:通过 apt 或 apt-get 管理软件包,适用于 .deb 包。
  • DPKG:底层包管理工具,apt 依赖它,常用于手动安装的 .deb 包。
  • Snap:Ubuntu 推广的容器化包管理。
  • Flatpak:跨发行版的容器化包管理。
  • 源码安装:通过编译源码安装,通常需要手动管理。
  • AppImage:无需安装的便携式应用程序。

卸载时需注意:

  • 选择正确的卸载命令(如 apt removesnap remove)。
  • 清理依赖、缓存和用户目录中的残留文件。
  • 验证卸载是否成功,防止遗漏。

2. 查找软件包名

在卸载前,确认软件的准确包名或ID非常重要。以下是常用方法:

通过 apt 查找

apt search <关键词>
dpkg -l | grep <关键词>

示例:查找 VLC 的包名

dpkg -l | grep vlc

通过 Snap 查找

snap list

通过 Flatpak 查找

flatpak list

检查用户目录(如需清理配置):

ls -a ~/.config | grep <关键词>
ls -a ~/.local/share | grep <关键词>
ls -a ~/.cache | grep <关键词>

提示:如果不确定软件的安装方式,可尝试以上命令逐一检查。

3. 使用 APT 卸载软件

APT 是 Ubuntu 默认的包管理工具,适用于通过软件中心、命令行或 PPA 安装的软件。

3.1 卸载软件(保留配置)

  • 适用场景:仅删除软件本体,保留配置文件以便日后复用。
  • 命令
sudo apt remove <软件包名>
  • 示例
sudo apt remove vlc
  • 验证
which vlc
dpkg -l | grep vlc
  • 若返回空或无相关信息,表示卸载成功。

3.2 彻底卸载(删除配置)

  • 适用场景:删除软件及其系统级配置文件,推荐默认使用。
  • 命令
sudo apt purge <软件包名>
  • 示例
sudo apt purge vlc
  • 验证:同上。

注意:apt purge 不清理用户目录(如 ~/.config/vlc)中的配置,需手动删除(见 3.5)。

3.3 清理依赖

  • 适用场景:移除卸载后不再需要的依赖包。
  • 命令
sudo apt autoremove
  • 验证
sudo apt autoremove --dry-run
  • 检查是否还有可清理的依赖。

3.4 清理缓存

  • 适用场景:释放 /var/cache/apt/archives 中下载的 .deb 包空间。
  • 命令

    清理过时缓存:

sudo apt autoclean
  • 清理所有缓存:
sudo apt clean
  • 验证
du -sh /var/cache/apt/archives
  • 确认缓存目录已清空。

3.5 清理用户目录残留

  • 适用场景:删除软件在用户目录中的配置文件和缓存。
  • 步骤

    检查常见目录:

ls -a ~/.config | grep <软件名>
ls -a ~/.local/share | grep <软件名>
ls -a ~/.cache | grep <软件名>
  • 删除相关文件:
rm -rf ~/.config/<软件相关目录>
rm -rf ~/.local/share/<软件相关目录>
rm -rf ~/.cache/<软件相关目录>
  • 示例
rm -rf ~/.config/vlc
rm -rf ~/.cache/vlc

注意:删除前确认文件无重要数据,必要时备份。

4. 使用 DPKG 卸载软件

DPKG 适用于手动安装的 .deb 包或 APT 无法处理的情况。

  • 查找已安装包
dpkg -l | grep <关键词>
  • 卸载软件(保留配置)
sudo dpkg -r <软件包名>
  • 修复依赖
sudo apt -f install
sudo apt autoremove
  • 验证
dpkg -l | grep <软件包名>
  • 若无输出,表示卸载成功。

注意:优先使用 apt 卸载,DPKG 更适合特殊场景。

5. 使用 Snap 卸载软件

Snap 是 Ubuntu 的容器化包管理方式。

查看已安装 Snap 软件

snap list

卸载 Snap 软件

sudo snap remove <软件名>

清理残留(可选)

sudo rm -rf /var/lib/snapd/snap/<软件名>

验证

snap list | grep <软件名>

若无输出,表示卸载成功。

卸载 Snapd(可选)

  • 如果不再使用 Snap:
sudo apt purge snapd
rm -rf ~/snap

注意:Snap 卸载通常会自动清理大部分文件,但旧版本可能残留,需手动检查。

6. 使用 Flatpak 卸载软件

Flatpak 是跨发行版的容器化包管理方式。

查看已安装 Flatpak 应用

flatpak list

卸载应用

flatpak uninstall <应用ID或软件名>

清理无用运行时

flatpak uninstall --unused

清理用户目录残留

rm -rf ~/.var/app/<应用ID>

验证

flatpak list | grep <软件名>
  • 若无输出,表示卸载成功。

注意:Flatpak 的应用ID 通常为 com.example.App,卸载时需使用完整ID。

7. 卸载源码安装的软件

源码安装的软件没有包管理器管理,需手动删除。

  • 定位安装目录
    • 通常在 /usr/local/opt 或用户指定的目录。
    • 检查安装时的 make install 记录或 README 文件。
  • 删除文件
sudo rm -rf /usr/local/<软件目录>
  • 清理用户配置:
rm -rf ~/.config/<软件名>
rm -rf ~/.local/share/<软件名>
  • 验证
which <软件名>
  • 若返回空,表示卸载成功。

注意:源码安装的软件可能涉及系统库,删除前确认不会破坏依赖。

8. 卸载 AppImage 软件

AppImage 是无需安装的便携式应用。

删除 AppImage 文件

  • 找到存储位置(如 ~/Downloads 或自定义目录):
find ~/ -name "*.AppImage"
  • 删除:
rm ~/path/to/<软件名>.AppImage

清理残留配置

rm -rf ~/.config/<软件名>
rm -rf ~/.local/share/<软件名>

验证

  • 确认 .AppImage 文件已删除。

注意:AppImage 不影响系统文件,卸载后无需清理依赖。

9. 清理系统级残余

9.1 清理旧内核

  • 适用场景:释放旧内核占用的空间。
  • 查看当前内核:
uname -r
  • 列出已安装内核:
dpkg --list | grep linux-image
  • 删除旧内核:
sudo apt remove linux-image-<版本号>
sudo apt autoremove
  • 更新引导:
sudo update-grub

9.2 清理第三方源(PPA)

  • 查看源列表:
ls /etc/apt/sources.list.d/
  • 删除无用 PPA:
sudo rm /etc/apt/sources.list.d/<文件名.list>
  • 更新源:
sudo apt update

10. 常用组合命令

10.1 APT 软件彻底卸载

sudo apt purge <软件包名>
sudo apt autoremove
sudo apt clean
rm -rf ~/.config/<软件名>
rm -rf ~/.cache/<软件名>

10.2 Snap 软件卸载

sudo snap remove <软件名>
rm -rf ~/snap/<软件名>

10.3 Flatpak 软件卸载

flatpak uninstall <应用ID>
flatpak uninstall --unused
rm -rf ~/.var/app/<应用ID>

11. 故障排查

  • 找不到包名
    • 使用 dpkg -l | grep <关键词> 或 apt search <关键词> 查找。
    • 检查 Snap 或 Flatpak 列表。
  • 依赖破损
sudo apt -f install
sudo apt autoremove
  • 卸载失败
    • 确认是否有运行中的进程:
ps aux | grep <软件名>
kill -9 <进程ID>
    • 重新尝试卸载。
  • Snap/Flatpak 无法卸载
    • 确保 snapd 或 flatpak 服务正常,或重新安装后卸载。

12. 最佳实践

  1. 优先使用 apt purge:减少配置文件残留。
  2. 定期清理缓存:每月运行 apt autoremove 和 apt autoclean
  3. 验证卸载:使用 which 或包管理器命令确认软件已移除。
  4. 备份重要配置:清理用户目录前,备份 .config 中的关键文件。
  5. 谨慎操作系统文件:避免误删 /etc 或 /usr 中的共享文件。

总结

通过本指南,你可以轻松卸载 Ubuntu 系统中的软件并清理残留。核心步骤:

  1. 确认安装方式:APT、Snap、Flatpak、源码或 AppImage。
  2. 执行卸载:使用对应命令(如 apt purgesnap remove)。
  3. 清理残留:处理依赖、缓存和用户目录文件。
  4. 验证结果:确保软件和相关文件已完全移除。

以上就是Ubuntu系统中软件卸载与清理的终极指南的详细内容,更多关于Ubuntu软件卸载与清理的资料请关注脚本之家其它相关文章!

相关文章

  • 详解如何在Linux系统上安装cpolar内网穿透

    详解如何在Linux系统上安装cpolar内网穿透

    cpolar作为一款体积小巧却功能强大的内网穿透软件,不仅能够在多种环境和应用场景中发挥巨大作用,还能适应多种操作系统,本文主要介绍了cpolar在Linux系统下的各种应用类型,感兴趣的可以了解下
    2023-08-08
  • Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)

    Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)

    下面小编就为大家带来一篇Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • ubuntu如何安装中文输入法

    ubuntu如何安装中文输入法

    本篇文章主要介绍了ubuntu如何安装中文输入法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Centos7环境下YUM的搭建方法

    Centos7环境下YUM的搭建方法

    大家好,本篇文章主要讲的是Centos7环境下YUM的搭建方法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • IO多路复用之epoll全面总结(必看篇)

    IO多路复用之epoll全面总结(必看篇)

    下面小编就为大家带来一篇IO多路复用之epoll全面总结(必看篇)。小编觉得挺不错的。现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 详解apache配置域名的坑

    详解apache配置域名的坑

    这篇文章主要介绍了详解apache配置域名的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 在阿里云购买云服务器并安装宝塔面板的步骤

    在阿里云购买云服务器并安装宝塔面板的步骤

    这篇文章主要介绍了在阿里云购买云服务器并安装宝塔面板的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Linux查看系统配置常用命令详解

    Linux查看系统配置常用命令详解

    这篇文章主要为大家详细介绍了Linux查看系统配置常用命令,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Linux中僵尸进程和孤儿进程详解

    Linux中僵尸进程和孤儿进程详解

    早就了解孤儿进程与僵尸进程,但仅仅是停留在一知半解的程度,最近正好有空就顺便学习一下,下面这篇文章主要给大家介绍了关于Linux中僵尸进程和孤儿进程的相关资料,文中介绍的非常详细,需要的朋友可以参考下。
    2017-06-06
  • Linux进程间通信之管道如何实现进程池

    Linux进程间通信之管道如何实现进程池

    这篇文章主要介绍了Linux进程间通信之管道如何实现进程池问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03

最新评论