尽管这两周CentOS的负面消息不断,但作为一个运维界的人。该学的还得学,新的流行了,再学新的呗,反正万变不断其宗。更何况,Dnf还是从SUSE一系过来的工具。
CentOS 8更改了软件包的安装程序,取消了 yum 的配置方法,改而使用了dnf 作为安装程序。虽然改变了软件包的安装方式,但是 dnf 还是能兼容使用 yum 的配置文件和命令的使用方法。
DNF 和 YUM 均是 rpm 软件包管理工具,但是 DFN 替代 YUM 的说法由来已久,因为 YUM 包管理工具有一些问题长期得不到解决。
这些问题包括性能低下、内存占用高以及依赖包解决方案不佳等。
而 DNF 在依赖包解决方案中采用了由 SUSE 开发的”libsolv”库,用以提升依赖包解析性能。
YUM 是一个管理 RPM 软件依赖包和软件库的前端工具,可以下载 RPM 软件包并安装,最后删除下载的软件包。
至于为什么要开发一个新的工具来替代 YUM,而不是解决 YUM 现有的问题,其原因在于想要解决 YUM 现有的问题技术上存在很多问题,并且 YUM 团队也不能很快适应更新带来的改变。
另外,更重要的原因是 YUM 的源代码有大概56000行,修改起来工作量巨大。
那我们关心的是:如何把DNF的软件镜像源,更改为国内的呢?
其实和YUM差不多,把以下几个文件的内容更改一下就OK了。
一,file: /etc/yum.repos.d/CentOS-AppStream.repo
[AppStream]
name=CentOS-$releasever - AppStream
baseurl=http://mirrors.aliyun.com/centos/$releasever/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
二,file: /etc/yum.repos.d/CentOS-Base.repo
[BaseOS]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
三,file: /etc/yum.repos.d/CentOS-Epel.repo
[epel]
name=CentOS-$releasever - Epel
baseurl=http://mirrors.aliyun.com/epel/8/Everything/$basearch
enabled=1
gpgcheck=0
其实,我只更改了上面三个文件,后面的media我又不用,不改也没有问题。但如何有用本地DVD之类的,可以试着改改。
四,file: /etc/yum.repos.d/CentOS-Media.repo
[c8-media-BaseOS]
name=CentOS-BaseOS-$releasever - Media
baseurl=file:///media/CentOS/BaseOS/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[c8-media-AppStream]
name=CentOS-AppStream-$releasever - Media
baseurl=file:///media/CentOS/AppStream/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
CentOS-Media 配置需要将光盘挂载至/media/CentOS路径,否则在使用时会报错。
五,清除所有的缓存,制作元数据缓存
dnf clean all # 清除所有的缓存文件
dnf makecache # 制作元数据缓存
六,安装飞快
yum install htop
Last metadata expiration check: 0:32:27 ago on Sun 20 Dec 2020 08:49:13 AM EST.
Dependencies resolved.
=============================================================================================================================================================
Package Architecture Version Repository Size
=============================================================================================================================================================
Installing:
htop x86_64 2.2.0-6.el8 epel 112 k
Transaction Summary
=============================================================================================================================================================
Install 1 Package
Total download size: 112 k
Installed size: 263 k
Is this ok [y/N]: y
Downloading Packages:
htop-2.2.0-6.el8.x86_64.rpm 484 kB/s | 112 kB 00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 480 kB/s | 112 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : htop-2.2.0-6.el8.x86_64 1/1
Running scriptlet: htop-2.2.0-6.el8.x86_64 1/1
Verifying : htop-2.2.0-6.el8.x86_64 1/1
Installed:
htop-2.2.0-6.el8.x86_64
Complete!