如果您使用 Ubuntu 或任何其他基于 Debian 的 Linux 发行版,您无疑会阅读安装说明告诉您使用 APT 命令,而其他人则告诉您使用 dpkg。
那么,是否使用这些包管理器在 Linux 系统上安装包有关系吗? 有什么不同? 今天我们将解决这些问题,以便您了解如何在 Ubuntu 上最好地安装软件包。
APT vs dpkg:两个重要的软件包安装程序
APT 和 dpkg 都是命令行包管理界面,您可以在 Ubuntu 和其他基于 Debian 的系统的终端中使用。 除其他外,他们还可以安装 DEB 文件并列出已安装的软件包。
但是您可能想知道它们是否如此相似,为什么您需要 APT 和 dpkg?
这两个接口实际上是一起工作的,通过使用 dpkg,APT 就像一个完整的包管理工具。
使困惑? 让我们分解关键差异。
APT 使用 dpkg 安装软件包
当 APT(或其表亲,Apt-get)安装一个包时,它实际上是在后端使用 dpkg 来完成它。 这样,dpkg 更像是一个“幕后”工具,用于 APT 更友好的用户界面。
APT 可以下载包
使用 APT,您可以在一个命令中从远程存储库中检索文件并安装它。 这使您免于在安装之前手动查找和下载包的工作。
使用 dpkg,您只能安装自己已经下载的本地文件。 它无法搜索远程存储库或从中提取包。
Dpkg 不会安装依赖项
当您使用 dpkg 安装软件包时,将会发生的一切:系统将简单地安装该软件包。 但是,有些软件包需要称为依赖项的附加软件才能运行。 如果是这种情况,dpkg 可能会通过错误消息警告您。
然而,APT 会自动检查并获取相关依赖项,以确保您尝试正确安装功能。 这就是为什么我们建议,在使用 dpkg 安装软件包之后,您仍然使用 APT 的特殊命令来恢复依赖关系。
sudo apt install -f
仅 Dpkg 索引本地软件包
如果您想了解系统上安装的软件包, – 列表 dpkg 中的函数可能比 APT 为您提供更好的服务。 这是因为,与它无法找到和下载远程包一样,dpkg 也无法列出设备本地以外的任何包。
dpkg --list
APT的 列表 命令将列出它知道的每个包,无论是本地的还是其他的。
apt list
要仅查看已安装的软件包,您必须通过 –已安装 或者 -一世 选项。
apt list --installed
Dpkg vs. Apt:哪个更适合你?
如果你想用 dpkg 安装本地包,你可以这样做而不会遇到任何问题。 但是,如果您经常在远程软件存储库中搜索软件包,则最好使用 APT 或 Apt-get。
APT 将完成查找和下载所需包的工作,并确保满足所有必要的依赖项。 您仍然可以使用 dpkg,但 APT 将执行相同的功能,同时确保您的软件按您需要的方式运行。 此外,APT 非常适合正确卸载软件包并将其从系统中删除。