CentOS配置SCL使用最新软件

译者:anxin
日期:2017-09-12

软件选集(Software Collections),又名 SCL。是由 CentOS SIG 维护的非严格意义上的CentOS软件库。

它的宗旨是:在企业级 Linux 发行版使用期间,为比较老旧的软件,提供稳定的新的软件版本。比如:CentOS 7 的 PHP 版本为 5.4,你需要使用 PHP7,那么SCL 就能解决此问题,SCL 中包含新版本的软件。

软件选集中的软件包安装后不会覆盖系统中的软件包,它和系统中的软件包并存。因为SCL软件选集中软件包默认的安装目录为:/opt, /etc/opt, and /var/opt,CentOS 7自带的软件安装目录为:/usr/bin, /usr/lib, /etc, /var等。

配置 SCL repo源

如要在CentOS 7中使用SCL软件选集中的软件包,需要先安装SCL软件源,使用如下命令配置 CentOS 7 SCL软件源:

yum --enablerepo=extras install centos-release-scl

    安装SCL软件选集中的软件

    CentOS SCL软件选集中的软件大致可分为两部分:

    1. RHEL软件选集中的软件,软件包一般以rh开头或者以软件名+版本号开头,其软件源名称为centos-sclo-rh
    2. CentOS自己扩展的软件,软件包一般以sclo开头centos-sclo-sclo

    比如我们要安装一个软件包,但不知道它们在SCL软件选集中的软件包名,那么可以先使用yum list命令查询软件包的名字。

    如查找httpd在SCL软件源中的软件包名(本例使用list查询软件,因为它会显示软件源信息):

    $ yum list \*httpd\*
    
    httpd24.x86_64                           1.1-14.el7             centos-sclo-rh  
    httpd24-build.x86_64                     1.1-14.el7             centos-sclo-rh  
    httpd24-curl.x86_64                      7.47.1-1.1.el7         centos-sclo-rh  
    httpd24-httpd.x86_64                     2.4.25-9.el7           centos-sclo-rh  
    .................

    以上结果可以看出httpd服务器的名称为httpd24-httpd

    注:\* 表示匹配任意多个字符

    如何使用SCL中的软件

    执行SCL软件中的命令

    scl enable software_collection... 'command...'

    如使用SCL中MariaDB登陆数据库

    scl enable rh-mariadb101 'mysql -u root  -p'

    使Shell的运行环境为SCL软件集环境

    如想在一个Shell中运行命令,就像以前运行命令一样,哪需要使用scl命令启用一个新的Shell对话,这个scl命令会对新Shell的环境变量进行设置。

    scl enable software_collection... bash

    如开启MariaDb的Shell

    scl enable rh-mariadb101 bash

    然后就可以使用如下命令登陆MariaDb数据库,就如同使用普通命令一样

    mysql -u root  -p

    启用SCL软件作为服务

    如果所安装的软件包包含服务,那么安装后的服务系统的服务文件夹中,只不过名称与默认的名称不同。使用如下命令启动服务

    systemctl start software_collection-service_name

    如启用SCL MariaDB数据库服务器:

    systemctl start rh-mariadb101-mariadb

    注:如不知道具体的服务的名称,可以去服务文件夹:/usr/lib/systemd/system中查找服务名称。

    使用SCL中软件运行应用

    如要使用SCL中的软件运行应用,比较通用的有两种方法:

    1. 使用SCL软件源安装所依赖的其他软件包
    2. 自定义一个软件包,指定所依赖的SCL软件包和其他的软件包

    另外,也可以自己配置,那么就比较繁琐啦。

    本文链接:/tutorial/centos/centos-peizhi-scl

    本文版权归知站所有,未经站长同意不得转载,谢谢尊重作者劳动成果!