如何在 Ubuntu 上卸载软件:apt、purge、autoremove、dpkg、snap 与 rm 完整指南

1. 介绍

在使用 Ubuntu 时,几乎肯定会遇到想要删除不必要的软件或软件包的情况。尤其是当你想保持系统轻量化或清理仅为测试目的而安装的工具时,这一点尤为重要。在这种情况下,了解如何正确使用卸载命令至关重要。

Ubuntu 是基于 Debian 的 Linux 发行版,软件包管理主要由 APT(Advanced Package Tool,高级包工具)负责。虽然命令行操作起初可能让人望而生畏,但只要掌握了基础,你就能非常高效地管理软件。

本文阐述了在 Ubuntu 上最常用的卸载方法,并提供了多种命令示例。我们将覆盖 apt removeapt purge,以及 dpkgsnap,甚至使用 rm -rf 直接删除文件。每种方法都经过细致讲解,即使是 Linux 初学者也能自信地跟随操作。

通过命令行卸载软件时也伴随重要的注意事项。误删系统相关的软件包可能导致系统故障,甚至需要重新安装。为避免此类风险,请务必遵循本指南中介绍的安全、有效的卸载方法。

在下一节中,我们将从最常用的基础卸载命令——apt removeapt purge——开始讲解。

2. 基础卸载命令

在 Ubuntu 上删除软件的最常见方式是使用 APT(Advanced Package Tool)。这里我们介绍两条主要命令:apt removeapt purge。虽然两者都用于卸载软件,但它们的目的和效果不同。

apt remove:仅删除软件包本身

apt remove 命令仅删除指定的软件包本身。然而,配置文件会被保留,这意味着如果以后重新安装该软件,之前的设置可能仍然存在。

使用示例:

sudo apt remove package-name

示例:

sudo apt remove gimp

在此示例中,图像编辑软件 GIMP 被删除,但其配置文件仍保留在系统中。

apt purge:连同配置文件一起彻底删除

相反,apt purge 命令会同时删除软件包本身以及所有相关的配置文件。如果你希望在全新状态下重新安装软件,或保持系统整洁,推荐使用此方式。

使用示例:

sudo apt purge package-name

示例:

sudo apt purge gimp

该命令会连同 GIMP 的所有配置文件一起删除,系统中几乎不留下任何痕迹。

在 remove 与 purge 之间的选择

  • 若仅想临时卸载软件,请使用 apt remove
  • 若想彻底抹除所有痕迹并避免重用旧设置,请使用 apt purge

根据具体情况选择合适的命令,有助于保持系统有序,防止潜在问题的产生。

3. 清理依赖关系

在 Ubuntu 上卸载软件后,随软件一起安装的依赖包可能仍然残留在系统中。这些不再需要的依赖会占用磁盘空间并使环境变得杂乱。

这时 apt autoremove 命令就派上用场了。它会自动检测并删除那些已不再被需要的包。

apt autoremove:自动删除未使用的包

apt autoremove 会删除作为依赖安装但现在已不再需要的包。例如,当你卸载某个应用后,其关联的库文件可能已经没有被使用。无需手动查找,autoremove 能一次性将它们清理干净。

使用示例:

sudo apt autoremove

运行此命令时,Ubuntu 会列出不再需要的包,并在确认后将其删除,从而降低误删关键组件的风险。

何时运行以及注意事项

  • 理想情况下,在运行 apt removeapt purge 后立即运行 apt autoremove
  • 由于移除基于自动检测,请在继续之前始终审查软件包列表。

养成习惯

为了保持 Ubuntu 的清洁,建议定期运行 sudo apt autoremove。这在软件频繁安装和移除的开发环境中特别有效。

4. 使用其他包管理工具卸载

除了 APT 之外,Ubuntu 使用多种包管理系统,如 dpkgsnap。使用这些工具安装的软件 可能无法使用 apt 移除,因此必须为每个系统使用适当的卸载方法。

本节解释如何使用这些工具中的每一个来卸载软件。

使用 dpkg 卸载

dpkg 是 Debian (.deb) 包的 低级包管理器。通过 .deb 文件手动安装的软件可以使用 dpkg -rdpkg --remove 移除。

使用示例:

sudo dpkg -r package-name

示例:

sudo dpkg -r google-chrome-stable

此命令移除软件包本身,但配置文件可能保留。

注意:

  • dpkg 不解决依赖关系,因此如果需要,在之后使用 apt autoremove
  • 您可以使用 dpkg -l 检查包名称。

移除 Snap 包

Ubuntu 的最近版本越来越多地通过 Snap 包 分发应用程序。因为 Snap 使用单独的管理系统,您必须使用 snap remove 命令来卸载它们。

使用示例:

sudo snap remove package-name

示例:

sudo snap remove firefox

这会移除通过 Snap 安装的 Firefox。

检查已安装的 Snap 包:

snap list

额外提示:Snap 移除后释放磁盘空间
旧的 Snap 修订版可能保留并占用磁盘空间。您可以使用以下命令限制保留的版本:

sudo snap set system refresh.retain=2

这确保只保留两个最新的 Snap 修订版。

5. 删除目录和文件

除了卸载软件包之外,还有一些情况您可能想要手动删除不必要的文件或目录,例如残留的配置文件、临时目录或缓存数据。

本节解释如何使用 rm 命令及其注意事项。

删除文件:基本 rm 使用

rm 命令代表 “remove”,是删除文件的基本命令。它很强大,但不当使用可能导致数据丢失。

使用示例:

rm filename

示例:

rm test.txt

这会删除当前目录中的 test.txt 文件。

删除目录:使用 -r 选项

要删除目录,必须使用 -r(或 --recursive)选项。

使用示例:

rm -r directory-name

示例:

rm -r old_logs

这会移除 old_logs 目录及其所有内容。

rm -rf 的危险性

rm -rf 对初学者特别危险。

  • -r : 递归删除目录
  • -f : 强制删除而不确认

使用示例:

sudo rm -rf /home/username/tmp/

这会强制删除目录及其内容而不确认。指定错误的路径可能会破坏整个系统

绝对禁止的示例:

sudo rm -rf /

此命令删除根目录,绝不应该执行。

删除文件时的安全措施

  1. 删除前检查内容:
    ls directory-name
    
  1. 使用 trash-cli 而非永久删除(推荐给初学者):
    sudo apt install trash-cli
    trash-put filename
    

这会将文件移动到回收站,允许稍后恢复。

6. 注意事项和最佳实践

卸载 Ubuntu 上的软件功能强大且便捷,但也需要小心操作。特别是对于初学者来说,不正确的命令可能会迅速导致严重的系统问题。

本节总结了关键注意事项和最佳实践。

卸载前备份

即使您确定目标是不需要的,创建以防万一的备份也很重要。一旦删除,配置文件、数据库和文档可能无法恢复。

备份方法包括:

  • 使用 cp 将文件复制到另一个目录
  • 保存到外部存储或云服务
  • 使用 rsync 进行同步备份

小心使用 sudo

sudo 以管理员权限执行命令,因此错误可能会造成严重后果——尤其是与 rm -rf 等命令结合使用时。

最佳实践:

  • 在按 Enter 键前审阅整个命令
  • 如果可用,使用 --dry-run
  • 对复杂删除进行脚本编写,并在执行前审阅

删除前验证目标

为了避免删除必需的软件包或文件,请始终提前验证目标。

  • 检查软件包状态:
    dpkg -l | grep package-name
    
  • 检查文件是否存在:
    ls -l filename
    
  • 通过 APT 预览将要移除的软件包:
    sudo apt remove package-name --dry-run
    

如果不确定,使用 GUI 工具

如果您不习惯使用终端,可以使用 Ubuntu 软件中心等 GUI 工具,通过提供视觉确认来帮助减少错误。

移除后检查系统状态

卸载后,清理依赖项并检查磁盘空间。

  • 移除未使用的软件包:
    sudo apt autoremove
    
  • 检查磁盘使用情况:
    df -h
    

7. 常见问题解答 (FAQ)

尽管 Ubuntu 的卸载操作看似简单,但许多用户在实际使用中会有疑问。下面是常见问题和答案。

Q1. apt removeapt purge 有什么区别?

A.
apt remove 仅移除软件包,保留配置文件。apt purge 完全移除软件包及其配置文件。

Q2. 使用 rm -rf 时需要注意什么?

A.
rm -rf 永久删除文件和目录,而不进行确认。始终使用 ls 验证目标,并避免除非绝对必要否则使用 sudo

Q3. 如何一次性移除不必要的依赖软件包?

A.
使用 APT 卸载软件后,运行:

sudo apt autoremove

这将安全移除不再需要的软件包。

Q4. 如何修复“Unable to locate package”错误?

A.
尝试以下步骤:

  1. 检查软件包名称的拼写错误
  2. 更新软件包列表:
    sudo apt update
    
  1. 如果您使用的是旧版 Ubuntu,请考虑升级,因为仓库可能不再可用

Q5. 如何判断软件是否通过 Snap 安装?

A.
使用以下命令列出已安装的 Snap 软件包:

snap list

此处显示的软件包是通过 Snap 安装的,必须使用 sudo snap remove package-name 移除。

侍エンジニア塾