正文
yum 简介
yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。 起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater), 后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。yum 的宗旨是自动化地升级,安装/移除rpm 包, 收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,顾名思义, 这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息, 包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。
yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系, 根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。 这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到RedHat 门下的rpm 了。
yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。
yum 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题, 保持与RPM 数据库的一致性。
yum 安装
CentOS 默认已经安装了yum,不需要另外安装。
yum 配置
yum 的配置文件分为两部分:main 和repository
main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。
repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。
yum.conf 文件一般位于/etc目录下,一般其中只包含main部分的配置选项。
cat /etc/yum.conf
查看main:
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
除了上述之外,还有一些可以添加的选项,如:
pkgpolicy=newest
tolerant=1
retries=6
exclude=selinux*
参数说明
- cachedir
yum 缓存的目录,yum 在此存储下载的rpm 包和数据库,默认设置为/var/cache/yum
如 cachedir=/var/cache/yum/$basearch/$releasever
- keepcache
安装完成后是否保留软件包,0为不保留(默认为0),1为保留
如 keepcache=0
- debuglevel
Debug 信息输出等级,范围为0-10,缺省为2
如 debuglevel=2
- logfile
yum 日志文件位置。用户可以到/var/log/yum.log 文件去查询过去所做的更新。
如 logfile=/var/log/yum.log
- exactarch
有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包,例如,yum 不会将i686的软件包安装在适合i386的系统中。默认为1。
如 exactarch=1
- obsoletes
这是一个update 的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。
如 obsoletes=1
- plugins
是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。
如 plugins=1
- installonly_limit
如 installonly_limit=5
- bugtracker_url
如 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
- distroverpkg
指定一个软件包,yum 会根据这个包判断你的发行版本,默认是centos-release,也可以是安装的任何针对自己发行版的rpm 包。
如 distroverpkg=centos-release
- pkgpolicy
包的策略。一共有两个选项,newest 和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository 中同时存在, yum 应该安装哪一个,如果是newest,则yum 会安装最新的那个版本。如果是last,则yum 会将服务器id 以字母表排序, 并选择最后的那个服务器上的软件安装。一般都是选newest。
如 pkgpolicy=newest
- tolerant
有1和0两个选项,表示yum 是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了, 如果你设为1,则yum 不会出现错误信息。默认是0。
如 tolerant=1
- retries
网络连接发生错误后的重试次数,如果设为0,则会无限重试。默认值为6.
如 retries=6
- exclude 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
如 exclude=selinux*
- gpgcheck
有1和0两个选择,分别代表是否是否进行gpg(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全的。
这个选项如果设置在[main]
部分,则对每个repository 都有效。默认值为0。
如 gpgcheck=1
上面说了main部分,下面说一下repository部分。
源具体配置
我们到 /etc/yum.repo.d 目录下,用ls
查看下具体有哪些源配置文件:
[root@localhost yum.repos.d]# ls
CentOS-Base.repo // yum 网络源
CentOS-Debuginfo.repo
CentOS-fasttrack.repo
CentOS-Media.repo // yum 本地源
CentOS-Vault.repo
epel.repo
epel-testing.repo
puppetlabs-pc1.repo
我们可以在这个目录下写入自己想要的镜像源。
网络源
用cat CentOS-Base.repo
查看一下网络源内容:
[root@localhost yum.repos.d]# cat CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
关于repo 文件的格式
所有repository 服务器设置都应该遵循如下格式:
[serverid]
name=Some name for this server
baseurl=url://path/to/repository/
serverid 是用于区别各个不同的repository,必须有一个独一无二的名称;
name 是对repository 的描述,支持像releasever、basearch这样的变量;
baseurl 是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。 baseurl 只能有一个,其中url 支持的协议有 http:// ftp:// file:// 三种。 url 指向的目录必须是这个repository header 目录的上一级,它也支持releasever、basearch 这样的变量。
baseurl 后可以加上多个选项,如gpgcheck、gpgkey、enabled、exclude、failovermethod 等。
关于变量
$releasever:代表发行版的版本,从[main]
部分的 distroverpkg 获取,如果没有,则根据redhat-release包进行判断。
$arch:cpu体系,如i686,athlon等
$basearch:cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。
EPEL
EPEL是Extra Packages for Enterprise Linux的缩写,是由 Fedora Special Interest Group 维护的 Enterprise Linux(RHEL、CentOS)中经常用到的包, 其为EL6或EL7提供重建的Fedora组件,并且不会替换base中的包。 为CentOS提供了额外的10000多个软件包,而且在不替换系统组件方面下了很多功夫。 EPEL算得上是最著名的第三方软件源,几乎各个云服务器厂商提供的CentOS 系统均会自带该源并默认启用。其收录了web中常用的Nginx软件包。
EPEL的官网是:http://fedoraproject.org/wiki/EPEL,可以通过yum install -y epel-release
安装。
执行完该命令后,在 /etc/yum.repos.d
目录下会多一个 epel.repo 文件。
我们也可以使用国内阿里云的EPEL源,如:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
看一下文件内容:
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0
IUS
IUS(Inline with Upstream Stable)是一个社区项目,它旨在为 Linux 企业发行版提供可选软件的最新版 RPM 软件包。
IUS的官网是 https://ius.io/ ,旨在为RHEL和CentOS提供高质量、最新版的软件,如PHP, Python, MySQL等。CentOS 7安装该源的命令为:
# 1. 安装 epel-release
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
2. 安装 ius-release
rpm -Uvh https://centos7.iuscommunity.org/ius-release.rpm
Remi
Remi repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供维护。
Remi维护大量组件,包括最新版的PHP, GLPI等。Remi的safe仓库不会替代系统的基本组件, 但remi-phpxx.repo中的软件包会替代系统默认的php。需要注意的是Remi可能会与IUS的软件包冲突,因为双方都提供最新版的PHP。
Remi的官方网站是 http://rpms.remirepo.net/ ,CentOS 7的安装方法是:
yum install -y remi-release
SCL
SCL是Software Collections的缩写,由CentOS 特别兴趣小组所维护。其收录了许多程序的新版本, 例如gcc, PHP, git, python等。安装的软件可与旧版共存,包名多以rh-为前缀。
SCL的官网是 https://www.softwarecollections.org ,CentOS 7的安装方法是:yum install centos-release-scl
。
安装完成后在/etc/yum.repos.d
目录下会出现CentOS-SCLo-scl.repo
和CentOS-SCLo-scl-rh.repo
两个文件。安装后源默认启用。
Webtatic
提供较新版的PHP、MySQL及其它组件。可用IUS或SCL代替。
软件官方维护的源
除上述收录多个软件包的综合源外,还有许多由软件官方维护的源,例如Nginx, Gitlab, Nodejs等。这些源的安装和使用方法请参考官方指南。
repo配置参数
- serverid
serverid 是用于区别各个不同的repository,必须有一个独一无二的名称;
如 [nginx-stable]
- name
name 是对repository 的描述,支持像releasever、basearch这样的变量;
如 name=CentOS-$releasever - Base
- baseurl
baseurl 是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。
如 http://nginx.org/packages/centos/$releasever/$basearch/
- gpgcheck
有1和0两个选择,分别代表是否是否进行gpg(GNU Private Guard) 校验,以确定rpm 包的来源是有效和安全的。
这个选项如果设置在[main]
部分,则对每个repository 都有效。默认值为0。
如 gpgcheck=1
- gpgkey
签名认证信息的路径
如 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
- enabled
这个源是否可用
如 enabled=1
配置国内yum源
系统默认的yum 源速度往往不尽人意,为了达到快速安装的目的,在这里修改yum源为国内源,如阿里云源。
先把默认源备份一下:
[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.backup
下载阿里云源:
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
查看一下内容:
[root@localhost yum.repos.d]# cat CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
生成缓存:
# yum clean all
# yum makecache
如果阿里云源报错,也可以换可以国内源,如中科大源、清华源等。
Centos旧版本官方不再维护,一些yum源也移除了旧版本的支持,使用新一点的Centos版本吧。
yum常用命令
1.列出所有可更新的软件清单命令:
yum check-update
2.更新所有软件命令:
yum update
3.仅安装指定的软件命令:
yum install package_name
4.仅更新指定的软件命令:
yum update package_name
5.列出所有可安裝的软件清单命令:
yum list
6.删除软件包命令:
yum remove package_name
7.查找软件包命令:
yum search keyword
8.清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers
列出所有启用的源, 等同于yum repolist enabled
:
yum repolist
列出所有禁用的源:
yum repolist disabled
列出启用(禁用)源的更详细信息:
yum repoinfo [enabled|disabled]
从指定源安装/搜索软件;“–disablerepo”和”–enablerepo”选项可独立或配合使用,动态启用和禁用源:
yum --disablerepo="*" --enablerepo="xxxx" install/search
显示所有仓库,查看可用源:
yum repolist all
输出,如:
[root@HIGDQEEMO63U9NR yum.repos.d]# yum repolist all
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
nginx-stable | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/3): epel/x86_64/group_gz | 96 kB 00:00:00
(2/3): epel/x86_64/updateinfo | 1.0 MB 00:00:00
(3/3): epel/x86_64/primary_db | 6.9 MB 00:00:02
repo id repo name status
C7.0.1406-base/x86_64 CentOS-7.0.1406 - Base disabled
C7.0.1406-centosplus/x86_64 CentOS-7.0.1406 - CentOSPlus disabled
C7.0.1406-extras/x86_64 CentOS-7.0.1406 - Extras disabled
C7.0.1406-fasttrack/x86_64 CentOS-7.0.1406 - Fasttrack disabled
C7.0.1406-updates/x86_64 CentOS-7.0.1406 - Updates disabled
C7.1.1503-base/x86_64 CentOS-7.1.1503 - Base disabled
C7.1.1503-centosplus/x86_64 CentOS-7.1.1503 - CentOSPlus disabled
C7.1.1503-extras/x86_64 CentOS-7.1.1503 - Extras disabled
C7.1.1503-fasttrack/x86_64 CentOS-7.1.1503 - Fasttrack disabled
C7.1.1503-updates/x86_64 CentOS-7.1.1503 - Updates disabled
C7.2.1511-base/x86_64 CentOS-7.2.1511 - Base disabled
C7.2.1511-centosplus/x86_64 CentOS-7.2.1511 - CentOSPlus disabled
C7.2.1511-extras/x86_64 CentOS-7.2.1511 - Extras disabled
C7.2.1511-fasttrack/x86_64 CentOS-7.2.1511 - Fasttrack disabled
C7.2.1511-updates/x86_64 CentOS-7.2.1511 - Updates disabled
C7.3.1611-base/x86_64 CentOS-7.3.1611 - Base disabled
C7.3.1611-centosplus/x86_64 CentOS-7.3.1611 - CentOSPlus disabled
C7.3.1611-extras/x86_64 CentOS-7.3.1611 - Extras disabled
C7.3.1611-fasttrack/x86_64 CentOS-7.3.1611 - Fasttrack disabled
C7.3.1611-updates/x86_64 CentOS-7.3.1611 - Updates disabled
C7.4.1708-base/x86_64 CentOS-7.4.1708 - Base disabled
C7.4.1708-centosplus/x86_64 CentOS-7.4.1708 - CentOSPlus disabled
C7.4.1708-extras/x86_64 CentOS-7.4.1708 - Extras disabled
C7.4.1708-fasttrack/x86_64 CentOS-7.4.1708 - Fasttrack disabled
C7.4.1708-updates/x86_64 CentOS-7.4.1708 - Updates disabled
C7.5.1804-base/x86_64 CentOS-7.5.1804 - Base disabled
C7.5.1804-centosplus/x86_64 CentOS-7.5.1804 - CentOSPlus disabled
C7.5.1804-extras/x86_64 CentOS-7.5.1804 - Extras disabled
C7.5.1804-fasttrack/x86_64 CentOS-7.5.1804 - Fasttrack disabled
C7.5.1804-updates/x86_64 CentOS-7.5.1804 - Updates disabled
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com enabled: 10,072base-debuginfo/x86_64 CentOS-7 - Debuginfo disabled
base-source/7 CentOS-7 - Base Sources disabled
c7-media CentOS-7 - Media disabled
centosplus/7/x86_64 CentOS-7 - Plus - mirrors.aliyun.com disabled
centosplus-source/7 CentOS-7 - Plus Sources disabled
contrib/7/x86_64 CentOS-7 - Contrib - mirrors.aliyun.com disabled
cr/7/x86_64 CentOS-7 - cr disabled
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 enabled: 13,641epel-debuginfo/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 - Debug disabled
epel-source Extra Packages for Enterprise Linux 7 - x86_64 - Source disabled
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com enabled: 498extras-source/7 CentOS-7 - Extras Sources disabled
fasttrack/7/x86_64 CentOS-7 - fasttrack disabled
nginx-mainline/7/x86_64 nginx mainline repo disabled
nginx-stable/7/x86_64 nginx stable repo enabled: 240updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com enabled: 2,579updates-source/7 CentOS-7 - Updates Sources disabled
repolist: 27,030
[root@HIGDQEEMO63U9NR yum.repos.d]#
参考资料
YUM源的简介,配置与使用 https://www.cnblogs.com/dingjiaoyang/p/5098856.html
Linux-yum源介绍 https://blog.csdn.net/u011479200/article/details/72851938
yum源介绍整理 https://blog.csdn.net/sanbingyutuoniao123/article/details/80481177
阿里云 镜像 https://developer.aliyun.com/mirror/
清华源 https://mirrors.tuna.tsinghua.edu.cn/
中科大源 https://mirrors.ustc.edu.cn/
Linux yum 命令 https://www.runoob.com/linux/linux-yum.html
Remi’s RPM repository https://blog.remirepo.net/
添加yum资源 epel 和 remi https://blog.csdn.net/weicy1510/article/details/83576587