APT vs. DNF vs. YUM:Linux 包管理器比较

在 Linux 上使用命令行添加或删除程序不是必需的,但它比使用图形应用程序更快。 许多人发现,在他们的 Linux 之旅中,他们最终会打开一个终端来安装新的应用程序或系统更新。

APT 和 DNF 是该工作最受欢迎的两个包管理器。 这两个程序非常相似,但它们的功能确实存在一些差异。 让我们潜入水中。

了解 APT 和 DNF

APT 和 DNF 有很多共同点,并且在许多函数中共享相似的语法。 如果您已经熟悉其中一个,那么学习另一个可能不会有困难。 如果你是一个完全的新手,请知道这两个包管理器是更容易学习的,特别是与 Arch Linux 和其他基于 Arch 的发行版中不太直观的 Pacman 包管理器相比。

APT 是 Advanced Package Tool 的缩写。 它充当 Debian 的默认包管理器,并且可以扩展为基于 Debian 的 Linux 发行版(如 Ubuntu)。 由于 Ubuntu 是最流行的 Linux 发行版,并且有许多基于 Ubuntu 的发行版,因此 APT 是我们许多人首先遇到的包管理器。 Linux 中的软件有不同的格式,APT 尤其适用于 DEB 包格式。

DNF 是默认的包管理器 Fedora 和 Fedora-基于发行版,例如 Red Hat Enterprise Linux 和 CentOS。 DNF 使用 RPM 包格式。

DNF 与百胜

DNF 的名称不是首字母缩写词。 这三个字母是“Dandified YUM”的缩写。

DNF 是对 YUM 的改写,“Yellowdog Updater, Modified”。 YUM 本身已经是对最初为 Yellow Dog Linux 开发的“Yellowdog UPdater”或 YUP 的重写。

虽然您可能会看到 YUM 在旧系统上使用,但它已停止使用,以支持 DNF。 今天没有太多理由去寻找百胜。

示例 APT 和 DNF 命令

让我们从我们许多人在安装新的 Linux 发行版后执行的首要任务之一开始——下载系统更新。

下载系统更新

在 APT 中,这由两个命令组成。

sudo apt update
sudo apt upgrade

让我们分解这些。

sudo 为您提供对系统的管理访问权限。 没有它,您的命令将由于缺乏权限而失败并显示错误消息。

更新 命令从可用的软件源下载有关软件包的元数据,以便您的计算机知道要请求的版本。

一旦您的本地数据库是最新的,那么就该下载和安装最新的软件了。 那就是 升级 命令进来。

要使用 DNF 安装系统更新,请运行:

sudo dnf update

或者

sudo dnf upgrade

每当您开始系统更新或安装软件时,DNF 都会自动检查元数据。 为此, 更新升级 命令执行相同的功能,您可以自由地互换使用它们。

搜索包

假设你想安装一个程序,但你不知道你的发行版使用的程序包的确切名称。在图形应用程序中,你可以浏览可用的软件,但在命令行中,你必须执行而是基于文本的搜索。

在这种情况下,无论您使用的是 APT 还是 DNF,您只需要记住一个命令,并且您可能会猜到它。 如果要搜索名为“package”的程序,只需键入:

sudo apt search package

或者

sudo dnf search package

安装软件

与执行搜索一样,使用 APT 或 DNF 安装程序的命令是相同的。

在 APT 中:

sudo apt install package

在 DNF 中:

sudo dnf install package

与 APT 相比,DNF 的一个优势是能够安装您从网上手动下载的 RPM。 你可以这样做 安装 命令,但包含 RPM 的完整路径而不是包名称。

sudo dnf install /path/to/package.rpm

相反,要安装放在 Downloads 文件夹中的 DEB,则不能使用 APT,而必须使用单独的命令行程序,例如 dpkg。

卸载软件

有几种方法可以使用 APT 使软件消失。 第一个也是最直接的选择是:

sudo apt remove package

要删除配置文件,除了应用程序数据,运行:

sudo apt purge package

要让 APT 自动删除作为依赖项安装但不再需要的软件,您可以使用:

sudo apt autoremove

DNF 没有直接等价于 清除 命令,因为基于 RPM 的发行版管理配置文件的方式与基于 Debian 的系统不同。 但其他两个选项是相同的。

要使用 DNF 卸载程序,请运行:

sudo dnf remove package

要自动删除不需要的依赖项,请使用:

sudo dnf autoremove

DNF 和 APT 相似多于不同

一些长期使用 Linux 的用户在 APT 和 DNF 之间有着既定的偏好。 他们已经学会了执行更强大操作的语法,并且切换涉及重新学习他们已经知道的内容。

但是对于新人来说,这两个包管理器基本相同。 它们的区别是微妙的,例如 DNF 在安装软件或检查更新之前会自动下载包信息。

如您在上面的两个屏幕截图中所见,这两个包管理器也以不同的方式呈现信息。

然而,两者都是几乎即时运行的命令行程序,等待时间更多地与您的互联网连接和您连接的服务器的速度有关。 对于我们大多数人来说,访问不同的包管理器并不是从一个 Linux 发行版切换到另一个发行版的理由。

APT 与 DNF:您应该使用哪个?

您使用 APT 还是 DNF 在很大程度上取决于您使用的发行版。 这意味着,对于大多数 Linux 用户来说,选择权在我们身上。 但是,如果您确实有足够强的偏好,您可以根据它是使用 APT 还是 DNF 来选择您的发行版。

两个包管理器都不比另一个更强大或更强大。 因此,无论您坚持哪一种,都可以很好地学习。 如果有一天你确实需要切换,这样做并不是那么困难。