一、前言
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
repo文件定义了一个或者多个软件仓库的细节内容,例如将从哪里下载需要安装或者升级的软件包,保存在/etc/yum.repos.d/
目录下。
系统自带源往往不能即时提供我们所需要软件的最新版本,这时我们需要使用第三方源。本文以在CentOS 7上安装PHP为例,介绍将epel和remi作为第三方yum源的方式。
先来查看使用默认源时,我们能安装哪些版本的PHP,运行yum list php*
二、添加yum源
如果要添加yum源,则要么修改yum的配置文件(/etc/yum.conf
),要么添加在/etc/yum.repos.d/
目录下添加新的repo文件。一般通过后者的方式,而且好在一般不用手动创建/编辑。
首先看下系统默认状况下的所有的repo文件:
repo文件的详细介绍就不写了,只要注意一条:
enabled=1
当配置成enabled=0
时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用某个软件仓库。
另外,可以通过yum repolist
查看当前启用的软件仓库。
EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。
安装EPEL配置包:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
(或者国内镜像:yum install http://mirrors.sohu.com/fedora-epel/epel-release-latest-7.noarch.rpm
)
安装完后,如图,/etc/yum.repo.d/
目录下多了EPEL的repo文件。
但可惜EPEL也没有提供新版的PHP,我们还需要进一步安装Remi源(由于Remi依赖epel,需要先安装epel)。
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
之后再查看repo文件:
三、使用
注意,如果直接运行yum install php
的话,依然只会安装PHP5.4,而不是最新的稳定版PHP7.4。
如果你打算同时安装多个不同版本的PHP的话,可以运行类似yum install php74
、yum install php80
。
如果是只安装一个版本的话,则通过以下步骤:
编辑/etc/yum.repos.d/remi-php74.repo
,将[remi-php74]区块下enabled=0
改为enabled=1
,保存退出。