使用epel和Remi作为第三方yum源

一、前言

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*

可见只有5.4这个版本,而没有比较新的7.4等版本。

二、添加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文件:

这时我们再搜索能安装的PHP:

可以看到PHP7.4到PHP8.0都有了。

三、使用

注意,如果直接运行yum install php的话,依然只会安装PHP5.4,而不是最新的稳定版PHP7.4。

如果你打算同时安装多个不同版本的PHP的话,可以运行类似yum install php74yum install php80

如果是只安装一个版本的话,则通过以下步骤:

编辑/etc/yum.repos.d/remi-php74.repo,将[remi-php74]区块下enabled=0改为enabled=1,保存退出。

运行yum install php

可以看到正在安装的PHP版本已经变为7.4了。

四、参考文章

留下评论