[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

【CentOS 8】爱Yum的DNF迁移课程

你好。
我是Mandai,负责Wild 开发团队。

不久前,CentOS 8 发布了。

Beyond Co., Ltd.一般是一家MSP公司(我们也有MSP以外的业务!请参阅Beyond的服务指南|Beyond Co., Ltd.

这次我就来说说如果你使用了CentOS,你就不再需要大家都用的yum命令了。

yum 命令将被弃用

如果您熟悉这一点,您可能会想,“终于”,但是 yum 命令将停止使用。
如果您担心如何管理包裹,请不要担心。
有一个适当的后继包管理系统!

它的后继工具是dnf。

有些人可能没有听说过dnf。
然而,让我告诉你,它不是一个现成的工具。

dnf 是一个包管理系统,在同一个 Redhat 兼容发行版 Fedora 中使用,并且也被引入到 CentOS 中。

你为什么改变它?
由于yum是基于Python 2的,所以存在一个不能无限期使用的问题。

由于dnf运行在Python 3上,因此CentOS 8中系统使用的Python版本也增加到了Python 3。

操作系统安装完后,只安装了系统使用的Python,称为platform-python,所以看来用户使用的Python需要重新安装。

我想了解 dnf 命令,所以我尝试使用 dnf 来使用我经常与 yum 一起使用的命令。

我尝试使用 dnf 命令来执行包管理中经常完成的过程。

查看包列表

搜索包时,我总是使用 yum list | grep [包名称]。

当你用 dnf 运行 yum list 时会发生什么?

dnf 列表

只是百胜的名字变了。

顺便说一下,如果你想查看已安装的软件包列表,

dnf列表已安装

你可以检查一下。

安装包

那么如果我们想安装一个包怎么办?

使用 dnf 运行 yum install 时会发生什么?

dnf安装[包名]

在这里,yum 也刚刚变成了 dnf。

卸载软件包

您可能是时候了解这一点了,但是当您使用 dnf 运行 yum remove 时会发生什么?

dnf 删除 [包名]

我开始明白基本用法并没有那么不同!

我想使用 epel 存储库

使用 epel 存储库怎么样?

要安装 epel 存储库,请使用以下命令进行安装:

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm # 或 dnf install epel-release

至于写入存储库设置的 epel.repo 文件,根据到目前为止的流程,似乎 /etc 下有一个 dnf 的目录。

ls -al /etc/dnf 总计 16 drwxr-xr-x.8 root root 128 Nov 17 05:03 80 root root 8192 Nov 25 01:18 .. drwxr-xr-x. root 6 May 13 2019 aliases.d -rw-r--r--. 1 root root 82 May 13 2019 dnf.conf drwxr-xr-x. 2 root root 59 Nov 25 01:18 module.d drwxr-xr- x.2 root root 6 May 13 2019 module.defaults.d drwxr-xr-x。3 root root 89 Nov 17 05:04 插件 drwxr-xr-x 2 root root 59 Nov 17 05:04 protected.d drwxr- xr-x.2 根 17 十一月 37 日 05:03 变量

是的?我没有看到任何像 repos.d 这样的目录。
应该是这样。

令人惊讶的是,repo 文件的目录仍然是 /etc/yum.repos.d。
真令人困惑!

ls -al /etc/yum.repos.d/ 总计 84 drwxr-xr-x。2 root root 4096 Nov 17 05:15 80 root root 8192 Nov 25 01:18 .. -rw- r--r--。1 根根 731 11 月 17 日 05:15 CentOS-AppStream.repo -rw-r--r--。1 根根 712 11 月 17 日 05:15 CentOS-Base.repo -rw-r--。 -r--.1 root 798 11 月 17 日 05:15 CentOS-centosplus.repo -rw-r--r--.1 根 root 1357 11 月 17 日 05:08 CentOS-CR.repo -rw-r--r --.1 root root 668 Aug 14 06:42 CentOS-Debuginfo.repo -rw-r--r--. 1 root root 756 Nov 17 05:15 CentOS-Extras.repo -rw-r--r--。 1 根根 356 11 月 17 日 05:08 CentOS-fasttrack.repo -rw-r--r--。 1 根根 976 11 月 17 日 05:08 CentOS-Media.repo -rw-r--r--。 root root 736 11 月 17 日 05:15 CentOS-PowerTools.repo -rw-r--r--。 1 root root 1382 8 月 14 日 06:42 CentOS-Sources.repo -rw-r--r--。 78 十一月 17 05:08 CentOS-Vault.repo -rw-r--r--. 1 根根 1400 十一月 17 05:08 epel-playground.repo -rw-r--r--. 1 根根 1249 十月10 16:15 epel-playground.repo.rpmnew -rw-r--r--. 1 根根 1206 十一月 17 05:15 epel.repo -rw-r--r--. 1 根根 1104 十月 10 16 :15 epel.repo.rpmnew -rw-r--r--。1根根1354年11月17日05:08 epel-testing.repo -rw-r--r--。1根根1203年10月10日16:15 epel-testing.repo.rpmnew

我能够找到 repo 文件。

该文件的内容看起来与以前相同。

顺便说一句,当使用命令指定启用/禁用存储库时, --enablerepo / --disablerepo 选项的用法似乎与 yum 相同。

PHPer 喜欢的 remi 存储库(或者我认为是这样)可以在安装 epel 存储库后使用以下命令进行安装。

dnf 安装 https://rpms.remirepo.net/enterprise/remi-release-8.rpm

正如remi存储库站点上所写,安装方法似乎与yum略有不同。

dnf 中添加了模块的概念,只需指定 PHP,即可安装 php-cli、php-common、php-fpm、php-json、php-mbstring、php-xml 等基本包。

对于我们这些生活在多字节区域的人来说这是常识,但令人有点惊讶的是现在默认安装了 php-mbstring。

引入这个模块的好处是替换多个版本的包变得更加容易。

dnf 模块重置 php:remi-7.3 dnf 模块安装 php:remi-7.2

如果你这样做,版本会很快改变。
您可能不会每天使用它,但了解它可能会在您遇到困难时派上用场。

另外,在CentOS8 AppStream存储库中注册的PHP版本已更新到7.2,因此似乎不会经常使用它。

不过,PHP7.2的安全更新要到2020年11月末才进行,因此存在一些情况导致无法长期使用。

概括

这次,我们介绍了一个名为 dnf 的包管理工具,它首先安装在 CentOS 8 中。

我的印象大致和yum一样,如果能降低大家阅读的心理障碍我会很高兴。

我记得当 systemd 来到 CentOS 7 时我感到恐惧,但 dnf 很好而且很容易上手。

最后一点:yum 不会很快消失;yum 命令在 CentOS 8 上仍然有效。

然而,CentOS 8 中的 yum 就像 dnf 的包装命令,即使在 /usr/bin/yum 中,它也只处理键盘输入并调用 dnf 模块。

既然情况已经如此,毫无疑问 yum 命令将在不久的将来消失。
那时,我想写一篇文章来纪念那些已经从这个世界上消失的包管理系统。

就是这样。

如果您觉得这篇文章有帮助,请点赞!
2
加载中...
2 票,平均:1.00 / 12
69,560
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

万代洋一

我的主要工作是为社交游戏开发 Web API,但我也很幸运能够做很多其他工作,包括营销。
此外,我在 Beyond 中的肖像权被视为 CC0。