[命令] CentOS Linux & RHEL 命令 yum (管理软件和软件源)

内容一: 帮助文档相关

1.1 显示 yum 帮助信息

# yum help

1.2 显示 yum 子选项的帮助信息

# yum help <option>

或者:

# yum <option> help

内容二:软件包相关

2.1 安装软件包

2.1.1 交互式安装软件包
# yum install <software>
2.1.2 非交互式安装软件包
# yum -y install <software>

或者:

# yum install <software> -y

2.2 删除软件软件包

2.2.1 交互式删除软件包
# yum remove <software>
2.2.2 非交互式删除软件包
# yum -y remove <software>

或者:

# yum remove <software> -y

2.3 升级软件包

2.3.1 升级软件包
2.3.1.1 交互式升级软件包
# yum update <software>
2.3.1.2 非交互式升级软件包
# yum -y update <software>

或者:

# yum update <software> -y
2.3.2 升级所有软件包
2.3.2.1 升级所有软件包
2.3.2.1.1 交互式升级所有软件包
# yum update
2.3.2.1.2 非交互式升级所有软件包
# yum -y update

或者:

# yum update -y
2.3.2.2 升级所有软件包时允许删除冲突软件
2.3.2.2.1 交互式升级所有软件包时允许删除冲突软件
# yum update --best --allowerasing
2.3.2.2.2 非交互式升级所有软件包时允许删除冲突软件
# yum -y update --best --allowerasing

或者:

# yum update --best --allowerasing -y
2.3.2.3 升级除某软件包外的所有软件包
2.3.2.3.1 交互式升级除某软件包外的所有软件包
# yum update --exclude=<software>
2.3.2.3.2 非交互式升级除某软件包外的所有软件包
# yum -y update --exclude=<software>

或者:

# yum update --exclude=<software> -y
2.3.2.4 使用某个配置文件升级所有软件包
2.3.2.4.1 交互式使用某个配置文件升级所有软件包
# yum ./yum.conf update

(补充:这里以使用 ./yum.conf 配置文件升级所有软件包为例)

2.3.2.4.2 非交互式使用某个配置文件升级所有软件包
# yum -y -c ./yum.conf update

(补充:这里以使用 ./yum.conf 配置文件升级所有软件包为例)

2.3.2.5 显示所有可以升级的软件包
# yum check-update
2.3.2.6 显示所有升级后需要重启才生效的软件包
# dnf needs-restarting --reboothint

2.4 显示软件包

2.4.1 显示软件包
2.4.1.1 显示软件包
# yum list <software>

或者:

# yum list all | grep <software>
2.4.1.2 显示软件包详细信息
# yum info <software>
2.4.1.3 显示软件包的所有可安装版本
# yum list <software> --showduplicate  | sort -r
2.4.1.4 显示软件包来自哪个模块
2.4.1.4.1 显示软件包来自哪个模块的格式
# yum module provides <software>
2.4.1.4.2 显示软件包来自哪个模块的案例
# yum module provides ipa-client
Updating Subscription Management repositories.
Last metadata expiration check: 1:38:12 ago on Fri 26 Jul 2024 08:00:39 AM CST.
ipa-client-4.7.1-11.module+el8+2842+7481110c.x86_64
Module   : idm:DL1:820190227212412:5986f621:x86_64
Profiles : client common
Repo     : rhel-8-for-x86_64-appstream-rpms
Summary  : The Red Hat Enterprise Linux Identity Management system module

......

(补充:从这里的输出结果可以看出 ipa-client 软件包来自 idm 模块,版本是 DL1)

2.4.2 显示所有软件包
# yum list all

内容三:软件组相关

3.1 安装软件组

3.1.1 交互式安装软件组
# yum groupinstall <group>
3.1.2 非交互式安装软件组
# yum -y groupinstall <group>

或者:

# yum groupinstall <group> -y

3.2 删除软件组

3.2.1 交互式删除软件组
# yum groupremove <group>
3.2.2 非交互式删除软件组
# yum -y groupremove <group>

或者:

# yum groupremove <group> -y

3.3 显示所有可用软件组

# yum group list

内容四:安全相关

4.1 Errata

4.1.1 Errata
4.1.1.1 安装 Errata
4.1.1.1.1 交互式安装 Errata
# yum update --advisory=<errata>
4.1.1.1.2 非交互式安装 Errata
# yum -y update --advisory=<errata>

或者:

# yum update --advisory=<errata> -y
4.1.1.2 显示 Errata 的详细信息
# yum updateinfo <errata>
4.1.2 所有 Errata
4.1.2.1 安装所有 Errata
4.1.2.1.1 交互式安装所有 Errata
# yum update-minimal --security
4.1.2.1.2 非交互式安装所有 Errata
# yum -y update-minimal --security

或者:

# yum update-minimal --security -y
4.1.2.2 显示所有 Errata 和相关软件版本
# yum updateinfo list
4.1.2.3 显示所有 Errata 和相关的 CVE
# yum updateinfo info security

4.2 CVE

4.2.1 CVE
4.2.1.1 安装 CVE
4.2.1.1.1 交互式安装 CVE
# yum update --cve <CVE>
4.2.1.1.2 非交互式安装 CVE
# yum -y update --cve <CVE>

或者:

# yum update --cve <CVE> -y
4.2.2 显示 CVE
4.2.2.1 显示所有 CVE 和相关软件版本
# yum updateinfo list cves
4.2.2.2 显示所有 CVE 和相关的 Errata
# yum updateinfo info security

4.2 安全补丁

4.2.1 安全补丁
4.2.1.1 安装安全补丁
4.2.1.1.1 交互式安装安全补丁
# yum update <security patch>
4.2.1.1.2 非交互式安装安全补丁
# yum -y update <security patch>

或者:

# yum update <security patch> -y
4.2.2 所有安全补丁
4.2.2.1 安装所有安全补丁
4.2.2.1.1 交互式安装所有安全补丁
# yum update --security
4.2.2.1.2 非交互式安装所有安全补丁
# yum -y update --security

或者:

# yum update --security -y
4.2.2.2 显示所有安全补丁
# yum check-update --security

内容五:软件源相关

5.1 显示所有软件源

# yum repolist 

5.2 缓存软件源列表

5.2.1 缓存所有已启用软件源列表
# yum repolist 
5.2.2 清除所有软件源列表缓存
# yum clean all
5.2.3 保存所有软件源列表缓存
# yum makecache

内容六:软件模块相关 (切换软件可用的版本)

6.1 软件模块相关的格式

6.1.1 显示软件模块
6.1.1.1 显示某个软件包来自某个软件模块
# yum module provides <software>
6.1.1.2 显示所有软件模块
# yum module list
6.1.1.3 显示某个软件模块
# yum module list | grep <software>
6.1.1.4 显示某个软件模块的详细信息
6.1.1.4.1 显示某个软件模块的详细信息
# yum module info <module>
6.1.1.4.2 显示某个软件模块使用的某个子软件模块是什么版本
# yum module info <module> | grep <submodule>
6.1.1.5 显示某个软件模块的某个模块流的详细信息
# dnf module info <module>:<stream>
6.1.2 重置软件模块
# yum module reset <module>
6.1.3 设置软件模块
# yum module enable <module>:<version>

6.2 切换软件模块的案例

6.2.1 检测当前软件兼容情况
# yum distro-sync

(注意:需要确保这条命令执行有以后没有报错)

6.2.2 显示要切换软件模块的软件包属于哪个软件模块
# yum module provides podman

(补充:这里以显示 podman 软件包属于哪个软件模块为例)

6.2.3 显示所有软件模块
# yum module list | grep podman
container-tools      rhel8 [d]       common [d]                               Most recent (rolling) versions of podman, buildah, skopeo, runc, conmon, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and updated as frequently as every 12 weeks.
container-tools      1.0             common [d]                               Stable versions of podman 1.0, buildah 1.5, skopeo 0.1, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and supported for 24 months.                                 
container-tools      2.0             common [d]                               Stable versions of podman 1.6, buildah 1.11, skopeo 0.1, runc, conmon, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page.    
container-tools      3.0             common [d]                               Stable versions of podman 3.0, buildah 1.19, skopeo 1.2, runc, conmon, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page.    
container-tools      4.0             common [d]                               Stable versions of podman 4.0, buildah 1.24, skopeo 1.6, runc, conmon, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page.  

(补充:这里以显示所有和 podman 软件相关的软件模块为例)

6.2.4 设置软件模块
6.2.4.1 重置软件模块
# yum module reset container-tools

(补充:这里以重置 container-tools 软件模块为例)

6.2.4.2 设置软件模块
# yum module enable container-tools:3.0

(补充:这里以设置 container-tools 软件模块版本号为 3.0 为例)

或者:

# yum module enable container-tools:rhel8


补充:
1) 这里以设置最新的 container-tools 软件模块版本号为例
2) 当站主在测试这条命令时,最新的 container-tools 软件模块版本号刚好是 3.0

(注意:有些时候只能设置成最新的软件模块版本号后才能升级到最新的软件)

6.2.4.3 显示设置 container-tools 软件模块版本号为 3.0 时 podman 软件的可用版本
# yum list all | egrep ^podman\.x         
podman.x86_64                                           3.0.1-9.module+el8.6.0+14874+64436299                       rhel-8-for-x86_64-appstream-rpms    

(补充:可以看到此时 podman 软件的可用版本是 3.0.1-9)

6.2.5 重置软件模块
6.2.5.1 重置软件模块
# yum module reset container-tools

(补充:这里以重置 container-tools 软件模块为例)

6.2.5.2 显示 container-tools 软件模块没有设置时 podman 软件的可用版本
# yum list all | egrep ^podman\.x
podman.x86_64                                           2:4.0.2-6.module+el8.6.0+14877+f643d2d6                     rhel-8-for-x86_64-appstream-rpms

(补充:可以看到此时 podman 软件的可用版本是 2:4.0.2-6)

内容七:管理相关

7.1 显示 YUM 历史命令

# yum history

7.2 显示 YUM 安装记录

# yum history info

7.3 操作回滚

# yum history
# yum history undo <ID>

(补充:上面第 1 条命令会实现操作的 ID 号,在第 2 条命令中写入那个 ID 号就可以取消那次操作)

[步骤] 系统升级 (从 openSUSE Leap 15.2 升级到 openSUSE Leap 15.3)

步骤一:显示现在的系统版本

# cat /etc/*release*
NAME="openSUSE Leap"
VERSION="15.2"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.2"
PRETTY_NAME="openSUSE Leap 15.2"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.2"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

(注意:确保显示的系统版本是 openSUSE Leap 15.2)

步骤二:准备升级

2.1 确认已使用的软件库

# zypper ls -d
#  | Alias                     | Name                               | Enabled | GPG Check | Refresh | Priority | Type   | URI
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------------------------------------
1  | repo-non-oss              | Non-OSS Repository                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/non-oss/
2  | repo-oss                  | Main Repository                    | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/oss/
3  | repo-update               | Main Update Repository             | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.2/oss/
4  | repo-update-non-oss       | Update Repository (Non-Oss)        | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.2/non-oss/

(补充:确保以上软件库已处于 Enabled 状态)

2.2 刷新已使用的软件库

# zypper ref

(注意:确保刷新成功,否则请检查网络)

2.3 将所有 openSUSE Leap 15.2 软件包更新到最新版本

# zypper -n update

2.4 用 releasever 变量替换所有版本号

# sed -i 's/15.2/${releasever}/g' /etc/zypp/repos.d/*.repo

步骤三:升级系统

3.1 将版本号设置为 15.3 并刷新

# zypper --releasever=15.3 refresh

3.2 提前下载并安装 openSUSE Leap 15.3 所需的软件包

# zypper --releasever=15.3 dup --download-in-advance

3.3 升级系统

# zypper --releasever=15.3 dup

3.4 重启系统

# reboot

步骤四:后续检查

4.1 显示升级后的系统版本

# cat /etc/*release*
NAME="openSUSE Leap"
VERSION="15.3"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.3"
PRETTY_NAME="openSUSE Leap 15.3"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.3"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

4.2 显示升级后已使用的软件库

# zypper ls -d
#  | Alias                     | Name                                                         | Enabled | GPG Check | Refresh | Priority | Type   | URI
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------------------------------------
1  | repo-non-oss              | Non-OSS Repository                                           | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/non-oss/
2  | repo-oss                  | Main Repository                                              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/oss/
3 | repo-update                | Main Update Repository                                       | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/oss/
4 | repo-update-non-oss        | Update Repository (Non-Oss)                                  | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/non-oss/
4  | repo-backports-update     | Update repository of openSUSE Backports                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/backports/
5  | repo-sle-update           | Update repository with updates from SUSE Linux Enterprise 15 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/sle/

(注意:升级到 openSUSE Leap 15.3 系统后,自动新增加了 repo-backports-update 软件库和 repo-sle-update 软件库)

[步骤] Linux 全局加密 SSL 的设置 (CentOS Linux 8 & RHEL 8 版)

步骤一:显示当前 SSL 全局加密 SSL 的状况

# update-crypto-policies --show
DEFAULT

(补充:这里的 DEFAULT 表示可以使用 2048 位及以上位数的 SSL)

步骤二:切换当前 SSL 全局加密 SSL

# update-crypto-policies --set FUTURE


补充:
1) 这里以将全局加密 SSL 切换到 FUTURE 状态为例
2) 此时只能使用 4096 位及以上位数的 SSL

[内容] Linux 官方软件源链接列表 (CentOS Linux 版)

内容一:CentOS 7 基础软件源列表

1.1 CentOS 7 基础软件源官方推荐链接列表

1.1.1 CentOS-7 – Base

http://mirror.centos.org/centos/7/os/x86_64/

1.1.2 CentOS-7 – Updates

http://mirror.centos.org/centos/7/updates/x86_64/

1.1.3 CentOS-7 – Extras

http://mirror.centos.org/centos/7/extras/x86_64/

1.1.4 CentOS-7 – Plus

http://mirror.centos.org/centos/7/centosplus/x86_64/

1.2 CentOS 7 基础软件源官方推荐链接列表

1.2.1 CentOS-7 – Base

http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=$infra

1.2.2 CentOS-7 – Updates

http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=updates&infra=$infra

1.2.3 CentOS-7 – Extras

http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=extras&infra=$infra

1.2.4 CentOS-7 – Plus

http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=centosplus&infra=$infra

内容二:CentOS 8 基础软件源列表

2.1 CentOS 8 基础软件源官方链接列表

2.1.1 CentOS Linux 8 – BaseOS

http://mirror.centos.org/centos/8/BaseOS/x86_64/os/

2.1.2 CentOS-8 – Updates

http://mirror.centos.org/centos/8/AppStream/x86_64/os/

2.2 CentOS 8 基础软件源官方推荐链接列表

2.2.1 CentOS Linux 8 – BaseOS

http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=BaseOS&infra=$infra

2.2.2 CentOS Linux 8 – AppStream

http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=$infra