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各个目录的基本定义详解

    Linux各个目录的基本定义详解

    Linux文件系统包含根目录、启动文件、配置文件、可执行程序、库文件、可变数据等主要目录,各目录承担特定功能,有助于系统管理和维护
    2025-08-08
  • linux下jar的启停及状态监控

    linux下jar的启停及状态监控

    文章介绍了如何创建一个执行JAR文件的脚本,包括创建脚本文件、赋予执行权限和使用方法,脚本内容和路径需要根据实际情况进行调整
    2025-11-11
  • Linux多线程编程快速入门

    Linux多线程编程快速入门

    这篇文章主要介绍了Linux多线程编程快速入门,涉及到了线程基本知识,线程标识,线程创建,线程终止,管理线程的终止等相关内容,小编觉得还是挺不错的,这里分享给大家,需要的朋友可以参考下
    2018-01-01
  • Linux定时任务Crontab详解(推荐)

    Linux定时任务Crontab详解(推荐)

    本篇文章主要介绍了Linux定时任务Crontab详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • linux C编程常见的错误总结(必看篇)

    linux C编程常见的错误总结(必看篇)

    下面小编就为大家带来一篇linux C编程常见的错误总结(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • vmware中CentOS7网络设置教程详解

    vmware中CentOS7网络设置教程详解

    这篇文章主要为大家详细介绍了vmware中CentOS7网络设置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 关于linux分区,文件系统,目录结构的概述

    关于linux分区,文件系统,目录结构的概述

    下面小编就为大家带来一篇关于linux分区,文件系统,目录结构的概述。小编觉得挺不错的。现在就分享给大家。也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 详解如何在 Linux 中安装最新的 Python 3.6 版本

    详解如何在 Linux 中安装最新的 Python 3.6 版本

    本篇文章主要介绍了详解如何在 Linux 中安装最新的 Python 3.6 版本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • CentOS修改服务器登录密码的详细指南

    CentOS修改服务器登录密码的详细指南

    在日常使用 Linux 服务器时,修改用户登录密码是维护系统安全性的重要环节,本文将详细介绍如何在 CentOS 系统中修改用户密码,包括可能遇到的常见问题及其解决方案,需要的朋友可以参考下
    2024-10-10
  • 在Linux中配置和使用CAN通信的详细指南

    在Linux中配置和使用CAN通信的详细指南

    CAN是一种广泛用于嵌入式系统、汽车和工业控制中的通信协议,Linux 支持 CAN 协议栈,并通过 SocketCAN 实现对 CAN 总线的访问,在这篇博客中,我们将深入讲解如何在 Linux 系统中配置和使用 CAN 通信,需要的朋友可以参考下
    2025-08-08

最新评论