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

系统 Linux
APT 和 DNF 是该工作最受欢迎的两个包管理器。这两个程序非常相似,但它们的功能确实存在一些差异。就让我们一探究竟吧。

APT、DNF 和 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 与 YUM

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

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

虽然您可能会看到 YUM 在旧系统上使用,但它已停止使用,取而代之的是 DNF。现在没有太多理由去再探索 YUM。

APT 和 DNF 命令示例  

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

下载系统更新

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

sudo apt update
sudo apt upgrade

现在让我们来分析下。

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

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

一旦您的本地数据库是最新的,那么就该下载和安装最新的软件了。这就是update命令的用武之地。

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

sudo dnf update

或者

sudo dnf upgrade

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

搜索包

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

在这种情况下,无论您使用的是 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。您可以使用相同的install命令执行此操作,但包含 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 没有直接等效于purge命令,因为基于 RPM 的发行版不像基于 Debian 的系统那样管理配置文件。但其他两个选项是相同的。

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

sudo dnf remove package

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

sudo dnf autoremove

DNF 和 APT 相似多于不同

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

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

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

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

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

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

责任编辑:庞桂玉 来源: 聆听世界的鱼
相关推荐

2021-07-27 12:58:46

Linux包管理器安命令

2020-08-25 09:14:17

对象存储文件存储块存储

2019-04-02 15:07:51

API NginxZuul

2023-05-22 19:49:30

命令Linux

2021-01-13 16:04:07

网络On-Prem托管

2017-08-17 10:47:05

Linux包管理

2015-03-19 11:03:49

Linuxwin10

2014-09-28 10:29:43

乔布斯施密特Android

2021-12-23 15:36:21

NASSANDAS

2024-09-12 22:45:47

2020-11-24 13:47:56

服务器

2020-04-15 10:21:43

云计算AWSAzure

2018-06-06 08:50:49

LinuxUnixWindows

2013-04-09 10:15:13

公有云私有云混合云

2020-07-21 07:58:17

云计算AWSAzure

2021-10-29 08:00:00

JSONJava代码库

2013-08-26 10:19:03

移动设备移动应用

2009-02-27 09:42:00

无线产品企业家用

2009-04-04 08:58:45

Palmiphone移动OS

2023-10-12 07:03:40

点赞
收藏

51CTO技术栈公众号