APT、DNF 与 YUM:Linux 包管理器比较
APT、DNF 和 YUM 是 Linux 新手可能会遇到的三个包管理器。那么在可用性和性能方面哪一个更好呢?
在 Linux 上使用命令行添加或删除程序不是必需的,但它比使用图形应用程序更快。许多人发现,在 Linux 之旅的某个时刻,他们最终会打开终端来安装新应用程序或系统更新。
APT 和 DNF 是该工作中最受欢迎的两个包管理器。这两个程序非常相似,但它们的功能确实存在一些差异。让我们深入了解一下。
认识APT和DNF
APT 和 DNF 有很多共同点,并且许多功能共享相似的语法。如果您已经熟悉其中任何一个,那么学习另一个可能不会有困难。如果您是一个完全的新手,请知道这两个包管理器是最容易学习的,特别是与 Arch Linux 和其他基于 Arch 的发行版中不太直观的 Pacman 包管理器相比。
APT 是高级打包工具的缩写。它充当 Debian 以及基于 Debian 的 Linux 发行版(如 Ubuntu)的默认包管理器。由于 Ubuntu 是最流行的 Linux 发行版,并且有数十种基于 Ubuntu 的发行版,因此 APT 是我们许多人首先遇到的包管理器。 Linux 中的软件有不同的格式,APT 特别适用于 DEB 软件包格式。
DNF 是 Fedora 和基于 Fedora 的发行版(例如 Red Hat Enterprise Linux 和 CentOS)中的默认包管理器。 DNF 使用 RPM 包格式。
DNF 与 YUM
DNF 的名字不是缩写词。这三个字母是“Dandified YUM”的缩写。
DNF 是 YUM(“Yellowdog 更新程序,修改版”)的重写。 YUM 本身已经是“Yellowdog UPdater”或 YUP 的重写,最初是为 Yellow Dog Linux 开发的。
虽然您可能会看到 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
DNF 相对于 APT 的优势之一是能够安装从网络手动下载的 RPM。您可以使用相同的安装命令来执行此操作,但包含 RPM 的完整路径而不是软件包名称。
sudo dnf install /path/to/package.rpm
相反,要安装放入“下载”文件夹中的 DEB,您不能使用 APT,而必须使用单独的命令行程序,例如 dpkg。
卸载软件
有多种方法可以使用 APT 使软件消失。第一个也是最直接的选择是:
sudo apt remove package
要删除配置文件和应用程序数据,请运行:
sudo apt purge package
要让 APT 自动删除作为依赖项安装且不再需要的软件,您可以使用:
sudo apt autoremove
DNF 没有直接相当于 purge 命令的命令,因为基于 RPM 的发行版不像基于 Debian 的系统那样管理配置文件。但其他两个选项是相同的。
要使用 DNF 卸载程序,请运行:
sudo dnf remove package
要自动删除不需要的依赖项,请使用:
sudo dnf autoremove
DNF 和 APT 的相同点多于不同点
一些长期的 Linux 用户对 APT 和 DNF 有着既定的偏好。他们已经学会了执行更强大操作的语法,而转换涉及重新学习他们已经知道的内容。
但对于新手来说,这两个包管理器基本上是相同的。它们的区别很微妙,例如 DNF 在安装软件或检查更新之前会自动下载软件包信息。
正如您在上面的两个屏幕截图中看到的那样,两个包管理器显示的信息也不同。
然而,两者都是几乎即时运行的命令行程序,等待时间更多地与您的互联网连接和您所连接的服务器的速度有关。对于我们大多数人来说,访问不同的包管理器并不是从一个 Linux 发行版切换到另一个 Linux 发行版的理由。
APT 与 DNF:您应该使用哪个?
您使用 APT 还是 DNF 在很大程度上取决于您使用的发行版。这意味着,对于大多数 Linux 用户来说,选择是为我们做出的。但如果你确实有足够强烈的偏好,你可以根据它是使用 APT 还是 DNF 来选择你的发行版。
两个包管理器都不比另一个更强大或更有能力。因此,无论您坚持使用哪一种,都非常适合学习。如果有一天您确实需要进行转换,那么这样做并不是那么困难。