dpkg

dpkg (Debian Package) 是 Debian 系 Linux 发行版(例如 Ubuntu、Debian 等)的底层软件包管理器。它负责安装、构建、删除和管理 .deb 软件包。dpkg 本身并不处理依赖关系的解析,它依赖于 aptaptitude 等更高级的工具来管理依赖关系。

以下是一些常用的 dpkg 命令及其功能:

  • dpkg -i <package.deb>: 安装一个 .deb 软件包。
  • dpkg -r <package>: 删除一个已安装的软件包(保留配置文件)。
  • dpkg -P <package>: 完全删除一个已安装的软件包(包括配置文件)。
  • dpkg -l <pattern>: 列出所有已安装的软件包,可以使用 pattern 进行过滤。 这类似于 apt list --installed,但 dpkg -l 提供更详细的信息。
  • dpkg -s <package>: 显示一个软件包的详细信息,无论它是否已安装。
  • dpkg -L <package>: 列出一个已安装软件包的所有文件。
  • dpkg -S <file>: 查找哪个软件包包含指定的文件。
  • dpkg --configure <package>: 配置一个软件包,这通常在安装过程中被打断时使用。

apt-get

apt-get 是 Debian 和 Ubuntu 等 Linux 发行版中一个强大的命令行包管理工具。虽然现在推荐使用 apt 命令,因为它提供了更友好的用户体验,但 apt-get 仍然被广泛使用,并且在一些情况下可能仍然是必要的。

以下是一些常用的 apt-get 命令及其功能:

安装软件包:

  • apt-get install <package>: 安装指定的软件包及其依赖项。
  • apt-get install <package1> <package2> ...: 同时安装多个软件包。
  • apt-get reinstall <package>: 重新安装指定的软件包。

更新软件包列表:

  • apt-get update: 更新本地软件包列表,获取最新的软件包信息(但不安装任何更新)。 这是在安装或升级软件包之前必须执行的步骤。

升级软件包:

  • apt-get upgrade: 升级所有已安装的软件包到最新版本。
  • apt-get dist-upgrade: 执行发行版升级,例如从 Ubuntu 20.04 升级到 Ubuntu 22.04. 这比 upgrade 更激进,可能会移除一些过时的软件包。

删除软件包:

  • apt-get remove <package>: 删除指定的软件包(保留配置文件)。
  • apt-get purge <package>: 完全删除指定的软件包(包括配置文件)。
  • apt-get autoremove: 删除不再需要的依赖项。

下载软件包:

  • apt-get download <package>: 下载指定的软件包但不安装。

清理:

  • apt-get clean: 清除已下载的软件包缓存。
  • apt-get autoclean: 清除不再需要的已下载软件包缓存。

apt

安装软件包:

  • apt install <package>: 安装指定的软件包及其依赖项。
  • apt install <package1> <package2> ...: 同时安装多个软件包。
  • apt reinstall <package>: 重新安装指定的软件包。

更新软件包列表:

  • apt update: 更新本地软件包列表,获取最新的软件包信息(但不安装任何更新)。 这是在安装或升级软件包之前必须执行的步骤。

升级软件包:

  • apt upgrade: 升级所有已安装的软件包到最新版本。
  • apt full-upgrade: 执行完全升级,可能会移除一些过旧的软件包。
  • apt dist-upgrade: 执行发行版升级,例如从 Ubuntu 22.04 升级到 Ubuntu 24.04。

删除软件包:

  • apt remove <package>: 删除指定的软件包(保留配置文件)。
  • apt purge <package>: 完全删除指定的软件包(包括配置文件)。
  • apt autoremove: 删除不再需要的依赖项。

搜索软件包:

  • apt search <keyword>: 搜索包含指定关键字的软件包。
  • apt show <package>: 显示指定软件包的详细信息。

清理:

  • apt clean: 清除已下载的软件包缓存。
  • apt autoclean: 清除不再需要的已下载软件包缓存。

其他常用命令:

  • apt list: 列出所有可用的软件包。
  • apt list --installed: 列出所有已安装的软件包。
  • apt list --upgradable: 列出所有可升级的软件包。
  • apt edit-sources: 编辑软件源列表。

aptapt-get 的区别:

aptapt-get 都是用于管理软件包的命令行工具,aptapt-get 的改进版本,旨在提供更友好的用户体验。 apt 整合了一些 apt-getapt-cache 的功能,并提供了一些改进,例如更简洁的输出和进度条。 在大多数情况下,推荐使用 apt 而不是 apt-get

总而言之,apt 是一个功能强大且易于使用的包管理工具,对于任何使用 Debian 或 Ubuntu 等 Linux 发行版的用户来说都是必不可少的。 掌握常用的 apt 命令可以极大地提高你的工作效率。