[步骤] CentOS Linux DNF 的使用 (通过阿里源实现)

内容一:DNF 简介

1.1 DNF 软件简介

1) 从 CentOS8&RHEL8 开始默认使用 dnf 管理软件和补丁安装
2) dnf 也是 yum v4
3) dnf 的命令参数和 yum 一样
4) dnf 软件源的配置方法和 yum 一样

1.2 DNF 软件源简介

1) BaseOS 系统和基础的软件包
2) AppStream 其余所有官方的软件包

内容二:DNF 软件源的配置案例

2.1 删除原有的软件源配置文件

# rm /etc/yum.repos.d/*.repo

2.2 配置 AppStream 库

# vim /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

2.3 配置 Base 库

# vim /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

2.4 配置 Epel 库

# vim /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

2.5 配置 Media 库

# vim /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

2.6 清除 DNF 缓存

# dnf clean all

2.7 刷新并列出 DNF 软件源列表

# dnf repolist

[内容] CentOS Linux & RHEL YUM 的使用 (让某 1 个软件不被更新)

内容一:通过命令实现更新某 1 个软件(补丁)包以外其他所有软件(补丁)包的方法

# yum -x httpd* updaten

(补充:这里以更新除了名字以 httpd 开头外的所有软件包为例)

(注意:这种方法只在本次输入时有效)

或者:

# yum --exclude=kernel* update

(补充:这里以更新除了名字以 kernel 开头外的所有软件包为例)

(注意:这种方法只在本次输入时有效)

内容二:通过配置文件实现更新某 1 个软件(补丁)包以外其他所有软件(补丁)包的方法

2.1 修改 YUM 的配置文件

# vim /etc/yum.conf

添加以下内容:

......
exlude=mysql* kernel*

(补充:多个不需要升级的软件可以用空格隔开)

(注意:这里修改的配置文件可能是 /etc/yum.conf 也可能是 /etc/yum/yum.conf)

2.2 使用 YUM 升级除某 1 个软件包外的所有软件包

# yum update

内容三:通过 yum-versionlock 实现更新某 1 个软件(补丁)包以外其他所有软件(补丁)包的方法

3.1 安装 yum-versionlock

# yum install yum-versionlock

3.2 使用 yum-versionlock 锁定某 1 个软件包

3.2.1 使用 yum-versionlock 锁定某 1 个软件包
# yum versionlock httpd*

(补充:这里以锁定名字以 httpd 开头的所有软件包为例)

3.2.1 使用 YUM 升级除某 1 个软件包外的所有软件包
# yum update

3.4 显示通过 yum-versionlock 锁定的软件包

# yum versionlock list

3.5 取消通过 yum-versionlock 锁定的软件包

3.5.1 取消通过 yum-versionlock 锁定的某 1 个软件包
# yum versionlock delete httpd*

(补充:这里以解除锁定名字以 httpd 开头的所有软件包为例)

3.5.2 取消通过 yum-versionlock 锁定的所有软件包
# yum versionlock clear