从 Software Collections、EPEL 和 Remi 获得可靠的 CentOS 新版软件。

在 Red Hat 企业 Linux(RHEL) 上,提供那些早已老掉牙的软件已经是企业级软件厂商的传统了。这倒不是因为他们懒,而确实是用户需要。很多公司像看待家具一样看待软件:我买一张桌子,能用一辈子,软件不应该也这样吗?

CentOS 作为 RHEL 的复制品有着同样的遭遇。虽然 Red Hat 还在为这些被厂商抛弃的过时软件提供支持、修补安全漏洞等,但如果你的应用依赖新版软件,你就得想办法了。 我在这个问题上不止一次碰壁。 LAMP 组合里任一个组件都需要其它所有组件能与其兼容,这有时就显得很麻烦。 比如说去年我就被 RHEL/CentOS 折腾得够呛。REHL/CentOS 第 6 版最高支持 PHP 5.3 ,第 7 版支持到 PHP 5.4 。而 PHP 5.3 早在 2014 年 8 月就到达 EOL(End Of Life) ,不再被厂商支持了, PHP 5.4 的 EOL 在 2015 年 9 月, 5.5 则是 2016 年 7 月。 有太多古老的软件版本,包括 MySQL、Python 等,它们应该像木乃伊一样被展示在博物馆里,但它们却活在你的系统上。

那么,可怜的管理员们该怎么办呢?如果你跑着 RHEL/CentOS ,那应该先试试 Software Collections,因为这是 Red Hat 唯一支持的新软件包源。 Software Collections 为 CentOS 设立了专门的仓库,安装和管理都和其它第三方仓库一样。但如果你用的是 RHEL 的,情况就有点不同了,具体请参考 RHEL 的解决方法。Software Collections 同样支持 Fedora 和 Scientific Linux 。

安装 Software Collections

在 CentOS 6/7 上安装 Software Collections 的命令如下:

  1. $ sudo yum install centos-release-scl

centos-release-scl-rh 可能作为依赖包被同时安装。

然后就可以像平常一样搜索、安装软件包了:

  1. $ yum search php7
  2. [...]
  3. rh-php70.x86_64 : Package that installs PHP 7.0
  4. [...]
  5. $ sudo yum install rh-php70

最后一件事就是启用你的新软件包:

  1. $ scl enable rh-php70 bash
  2. $ php -v
  3. PHP 7.0.10

此命令会开启一个新的 bash 并配置好环境变量以便运行新软件包。 如果需要的话,你还得安装对应的扩展包,比如对于 Python 、PHP、MySQL 等软件包,有些配置文件也需要修改以指向新版软件(比如 Apache )。

这些 SCL 软件包在重启后不会激活。SCL 的设计初衷就是在不影响原有配置的前提下,让新旧软件能一起运行。不过你可以通过 ~/.bashrc 加载 SCL 提供的 enable 脚本来实现自动启用。 SCL 的所有软件包都安装在/opt 下, 以我们的 PHP 7 为例,在 ~/.bashrc 里加入一行:

  1. source /opt/rh/rh-php70/enable

以后相应的软件包就能在重启后自动启用了。有新软件保驾护航,你终于可以专注于自己的业务了。

列出可用软件包

那么,到底 Software Collections 里都是些什么呢? centos-release-scl 里有一些由社区维护的额外的软件包。除了在 CentOS Wiki 查看软件包列表外,你还可以使用 Yum 。我们先来看看安装了哪些仓库:

  1. $ yum repolist
  2. [...]
  3. repo id repo name
  4. base/7/x86_64 CentOS-7 - Base
  5. centos-sclo-rh/x86_64 CentOS-7 - SCLo rh
  6. centos-sclo-sclo/x86_64 CentOS-7 - SCLo sclo
  7. extras/7/x86_64 CentOS-7 - Extras
  8. updates/7/x86_64 CentOS-7 - Updates

Yum 没有专门用来打印某一个仓库中所有软件包的命令,所以你得这样来: (LCTT 译注:实际上有,yum repo-pkgs REPO list,需要 root 权限,dnf 同)

  1. $ yum --disablerepo "*" --enablerepo centos-sclo-rh \
  2. list available | less

--disablerepo 与 --enablerepo 选项的用法没有详细的文档,这里简单说下。 实际上在这个命令里你并没有禁用或启用什么东西,而只是将你的搜索范围限制在某一个仓库内。 此命令会打印出一个很长的列表,所以我们用管道传递给 less 输出。

EPEL

强大的 Fedora 社区为 Feora 及所有 RHEL 系的发行版维护着 EPEL:Extra Packages for Enterprise Linux 。 里面包含一些最新软件包以及一些未被发行版收纳的软件包。安装 EPEL 里的软件就不用麻烦 enable 脚本了,直接像平常一样用。你还可以用 --disablerepo 和 --enablerepo 选项指定从 EPEL 里安装软件包:

  1. $ sudo yum --disablerepo "*" --enablerepo epel install [package]

Remi Collet

Remi Collet 在 Remi 的 RPM 仓库 里维护着大量更新的和额外的软件包。需要先安装 EPEL ,因为 Remi 仓库依赖它。

原文发布时间为:2017-05-15

本文来自云栖社区合作伙伴“Linux中国”

CentOS 上最佳的第三方仓库相关推荐

  1. CentOS上最佳的第三方仓库

    从 Software Collections.EPEL 和 Remi 获得可靠的 CentOS 新版软件. 在 Red Hat 企业 Linux(RHEL) 上,提供那些早已老掉牙的软件已经是企业级软 ...

  2. RHEL/CentOS 一些不错的第三方软件包仓库

    被Debian/Ubuntu惯坏了之后,再来用 RHEL/CentOS 实在是有点不习惯,软件都老且不说,关键是你还别嫌老(5年一个大版本的节奏真受不了啊,RHEL 6上面还是python 2.6), ...

  3. 在CentOS或RHEL上安装Nux Dextop仓库

    介绍 Nux Dextop是类似CentOS.RHEL.ScientificLinux的第三方RPM仓库(比如:Ardour,Shutter等等).目前,Nux Dextop对CentOS/RHEL ...

  4. Linux有问必答:如何在CentOS或者RHEL上启用Nux Dextop仓库

    Linux有问必答:如何在CentOS或者RHEL上启用Nux Dextop仓库 问题: 我想要安装一个在Nux Dextop仓库的RPM包.我该如何在CentOS或者RHEL上设置Nux Dexto ...

  5. Linux教程:如何在CentOS或者RHEL上启用Nux Dextop仓库

    Linux教程:如何在CentOS或者RHEL上启用Nux Dextop仓库 Linux教程:如何在CentOS或者RHEL上启用Nux Dextop仓库 [日期:2014-09-24] 来源:Lin ...

  6. linux(centos)基于docker搭建的oracle服务器,并上传到私有仓库

    安装docker 首先通过上面的步骤安装linux系统: 更新yum -y update : 安装yum install docker -y: 配置镜像加速器vi /etc/docker/daemon ...

  7. Centos上安装EPEL

    RHEL以及他的衍生发行版如CentOS.Scientific Linux为了稳定,官方的rpm repository提供的rpm包往往是很滞后的,当然了,这样做这是无可厚非的,毕竟这是服务器版本,安 ...

  8. 在CentOS上进行虚拟化:QEMU、Xen、KVM、LibVirt、oVirt

    Table of Contents 在CentOS上进行虚拟化 1.概述 2.谁做什么? 3. CentOS支持 3.1 CentOS的4 3.2 CentOS的5 Xen4 CentOS快速入门 0 ...

  9. 如何在centos上安装epel源

    一.EPEL是什么? EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/Cent ...

最新文章

  1. Python编程基础:第二十九节 异常Exception
  2. 轻松搞定面试中的红黑树问题
  3. 2021年6月3日,SAP 全球蓝宝石大会将在线上盛大启幕
  4. Redis4.0.13 安装踩雷记录
  5. 时间复杂度O(n^2)和O(nlog n)差距有多大?
  6. python 输入华氏温度f_如何用 python编写华氏摄氏度的相互转换?
  7. 3个开源TTS(三)flite的简要分析与espeak的选择
  8. PHP html 转换成PDF wkhtmltopdf HTML 转换成 PDF (JAVA C#都适用)
  9. html5 drag api
  10. absolute和relative的区别
  11. 计算机专业英语材料,计算机专业英语复习资料
  12. 91手机助手电脑版官方版
  13. MVN打包报错:在类路径或引导类路径中找不到程序包 java.lang
  14. php 正则表达式 环视,正则表达式教程五 —— 环视(零宽断言)
  15. 电大计算机西方经济学考试题库,2011电大西方经济学网上作业1.2.3全部答案
  16. 一张纸还能上天能救命?理工男宁愿放弃NASA百万年薪,也要回家折纸?!
  17. Podman 入门指南
  18. 10大举措预防心脏病
  19. 计算机网络技术 校企合作,计算机网络技术校企合作模式探讨
  20. 给惊云下载系统添加ewebeditor编辑器

热门文章

  1. 全球及中国LFP电池市场供需调研与“十四五”前景预测报告2022年版
  2. 基于MATLAB实现LFP(低通滤波)和MF(匹配滤波)
  3. linux下修改Mysql、Oracle以及mongoDB数据库密码
  4. 【车间调度】鸟群算法求解车间调度问题【含Matlab源码 1395期】
  5. 父容器高度大于子图片高度的原因
  6. YOYOPlayer:linux下开源的千千静听 (转载)
  7. 华北平原1971–2015年地下水储量变化与地面沉降演化研究
  8. 快播 CEO 王欣与他消失的三年半
  9. 牛客网 - [2019黑龙江大学程序设计竞赛]Center Street(筛法)
  10. QQ活动助手,通过作者也就是我搜集各种QQ有关的活动,整理成软件的形式让大伙参加,实现一键参与和抽奖的一款小软件。。O(∩_∩)O~不过涉及的东西还是挺多的