在 CentOS/RHEL 8 和 Fedora 中使用 DNF 管理软件包

CentOS 系统之前都是用 YUM 来进行包管理,升级到 CentOS 8 之后,开始使用 DNF 管理软件包(Dandified YUM,简称 DNF)。DNF 是知名的 Yellowdog Updater, Modified 包管理工具(也就是 YUM)的继承者。 DNF 和 YUM 都为 CentOS、RHEL、Fedora 和许多其他 Linux 发行版附带的 RPM 包管理器提供了一个用户友好的界面。作为 YUM 的继承者,DNF 具有多项增强功能,包括提高性能、更快的依赖项解析以及更完整的 API 文档。

DNF 已取代 YUM 作为大多数基于 RPM 的较新发行版的默认包管理器,包括:

  • RHEL 8(Red Hat Enterprise Linux)
  • CentOS 8 和其他 RHEL 衍生品(例如 AlmaLinux 8 和 Rocky Linux 8)
  • Fedora 22(及更高版本)

虽然 YUM 包管理器不再用于这些发行版,但 yum 命令在许多情况下仍然有效。大多数发行版将 yum 命令链接到 DNF 软件,并且由于 DNF 保持与 YUM 的大部分命令的兼容性,因此大多数命令仍然按预期运行。这就是为什么这些发行版的一些文档仍然引用 yum 命令来安装或更新软件的原因。

本文介绍在使用 CentOS 8 或 Fedora 服务器时最有可能遇到的 DNF 命令。

一、开始前的准备工作

1、准备一个 CentOS/RHEL 8 系统

在 CentOS/RHEL 8、AlmaLinux 8、Rocky Linux 8、Fedora 22 或这些发行版的更高版本上运行的系统。 也可以使用其他采用 APT 包管理器的 Linux 发行版。

目前在这些系统中搬瓦工仅支持安装 CentOS 8,可以在重装系统的时候直接选择即可。

2、连接到搬瓦工 SSH

其次我们需要通过 SSH 连接到搬瓦工 VPS,然后才能进行一系列操作。

二、CentOS/RHEL 8 升级软件包

1、升级软件包

 sudo dnf upgrade

一般来说我们都会在安装软件之前运行一下这个命令来确保软件包是最新的。

2、列出可用更新的已安装软件包。此命令还会列出所有已过时的已安装软件包。

 sudo dnf check-update

3、升级特定包

 sudo dnf upgrade 

以下示例升级 Apache 包。

 sudo dnf upgrade httpd

三、CentOS/RHEL 8 安装软件包

1、安装软件包,比如 PHP:

 sudo dnf install php

2、重新安装软件包

 sudo dnf reinstall php

四、CentOS/RHEL 8 卸载软件包

1、卸载软件包。此示例卸载 MariaDB 包。

 sudo dnf remove mariadb-server

2、删除一个包以及与其一起安装的所有依赖包

 sudo dnf autoremove mariadb-server

在不指定包的情况下使用 autoremove 命令可识别并删除任何最初作为依赖项安装但不再需要的包。

 sudo dnf autoremove

3、删除重复包。以下命令删除安装的所有旧版本并重新安装最新版本。

 sudo dnf remove --duplicates

四、一些有用的 DNF 选项

DNF 在它的许多命令之间提供了许多共同的选项,下面的示例显示了这些选项中最常用的。

1、同时安装多个包,只需要提供以空格分隔的包列表。例如,以下命令在单个命令中安装 Apache、PHP 和 MariaDB:

 sudo dnf check-update
0

2、安装特定版本,在软件包名称后面加上 - 和所需的版本号。此示例安装 NeoVim 包的 0.4.4 版:

 sudo dnf check-update
1

要查看包的可用版本,使用 --showdupicates 选项和 list 命令:

 sudo dnf check-update
2

3、自动确认,使用 -y 或 --assumeyes 标志自动对 DNF 出现的所有提示回答“是”,不需要再额外确认。

 sudo dnf check-update
3

五、查找和搜索软件包

1、列举软件包

要列出 DNF 存储库中的所有包,可以使用 DNF 的 list 命令。但是,这会列出一个非常长的列表,因为一般来说软件非常多。下面提供一些筛选命令。

列举已安装的软件包:

 sudo dnf check-update
4

列举过去一周添加到 DNF 存储库的包:

 sudo dnf check-update
5

列出包的可用版本:

 sudo dnf check-update
6

2、搜索软件包

可以使用以下命令搜索 DNF 的可用包。比如搜索包含 git 的包:

 sudo dnf check-update
7

同时搜索多个关键词:

 sudo dnf check-update
8

3、根据命令搜索包

如果想要根据提供的特定命令查找软件包,可以使用下面命令。此示例查找提供 jupyter-notebook 命令的包。

 sudo dnf check-update
9

在这种情况下,搜索会出现 python3-notebook 包。

4、查看详细信息

获得有关软件包的其他详细信息:

 sudo dnf upgrade 
0

六、设置软件包自动更新

DNF 有一个补充包 DNF Automatic,它允许配置自动更新软件包。

1、安装 DNF Automatic

 sudo dnf upgrade 
1

2、编辑配置文件

使用文本编辑器打开位于以下位置的 DNF 自动配置文件:/etc/dnf/automatic.conf

下面给出了一些配置选项的示例值,建议根据实际需求更改这些值。

 sudo dnf upgrade 
2

如果想将自动更新限制为仅影响系统安全的更新,可以将 upgrade_type 设置成 security。当 emit_via 设置为 motd 时, DNF Automatic 的报告将存储在 /etc/motd 文件中。

3、启动 DNF 自动计时器

 sudo dnf upgrade 
3

4、验证计时器是否创建成功

 sudo dnf upgrade 
4

七、获取更多 DNF 帮助信息

最后,如果还有更多疑问,可以使用 -h 或者 --help 获取更多帮助:

 sudo dnf upgrade 
5

以及对于某个具体命令的帮助信息:

 sudo dnf upgrade 
6

下面整理一些搬瓦工推荐方案和新手教程。

搬瓦工优惠码:BWH3HYATVBJW,优惠6.58%,全场可用

搬瓦工美国 cn2 gia、日本软银,荷兰AS9929,2.5~10Gbps带宽

内存 CPU SSD 流量 带宽 价格 购买
1G 2核 20G 1.0T/月 2.5G $50/季 链接
2G 3核 40G 2.0T/月 2.5G $90/季 链接
4G 4核 80G 3.0T/月 2.5G $57/月 链接
8G 6核 160G 5.0T/月 5.0G $87/月 链接
16G 8核 320G 8.0T/月 10G $160/月 链接
32G 10核 640G 10.0T/月 10G $290/月 链接
64G 12核 1280G 12.0T/月 10G $550/月 链接

搬瓦工香港机房VPS,1Gbps cn2 gia

内存 CPU 硬盘 流量 价格 购买
2G 2核 40G 500G/月 $90/月 链接
4G 4核 80G 1.0T/月 $156/月 链接
8G 6核 160G 2.0T/月 $300/月 链接
16G 8核 320G 4.0T/月 $590/月 链接

搬瓦工美西cn2 gt vps

搬瓦工美西cn2 gt vps测试IP:65.49.215.48

内存 CPU SSD 流量 带宽 价格 购买
1G 1核 20G 1.0T/月 1G $50/年 链接
2G 1核 40G 2.0T/月 1G $100/年 链接
4G 2核 80G 3.0T/月 1G $60/季 链接
8G 2核 160G 5.0T/月 1G $40/月 链接
16G 3核 320G 8.0T/月 1G $80/月 链接
16G 3核 320G 12T/月 1G $100/月 链接
16G 3核 320G 16T/月 1G $130/月 链接

搬瓦工网络测试

  • 美国 cn2 gia:162.244.241.103/104/105/106/107
  • 日本软银:185.212.59.148/149/150/151/152
  • 荷兰联通:104.255.65.1、104.255.64.1、104.255.66.1
  • 香港cn2 gia:93.179.124.167/168/169/170/171/172

推荐站内搜索:备案信息、国内php空间、台湾代理服务器、企业虚拟主机、云主机租用、长沙服务器、外网ip、vip域名、备案系统、域名注册网、