抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

SCL介绍

SCL(Software Collections)是一个CentOS/RHEL Linux平台的软件多版本共存解决方案,为RHEL/CentOS Linux用户提供一种方便、安全地安装和使用应用程序和运行时环境的多个版本的方式,同时避免把系统搞乱。
CentOS/RHEL Linux发行版以稳定性著称,所有的软件都要尽可能stable,但也存在一个缺点:随着底层的 RHEL/CentOS 版本接近生命周期的结束,核心应用和运行时环境变得陈旧过时,例如CentOS7其所携带的Python2.7.5,以今天的标准来看已经非常古老了。SCL提供了工具集的较新的版本,可以在不改变原有旧版本程序包的情况下安装,使用时需要通过 scl 命令调用。

SCL使用

安装SCL源

运行如下命令可以在 CentOS 上安装 SCL 源

1
yum install centos-release-scl scl-utils-build

安装成功后,在/etc/yum.repos.d目录下会生成相应的CentOS-SCLo-scl-rh.repo源文件,用于centos-sclo-rh源。

搜索可用的SCL软件包

比如搜索可用的python3

1
yum list all --disablerepo="*" --enablerepo='centos-sclo-rh' | grep python3

--disablerepo: 禁用一个或多个软件源(支持通配符),这里禁用了全部软件源
--enablerepo:启用一个或多个软件源(支持通配符),这里仅启用centos-sclo-rh软件源

安装SCL软件包

1
yum install SCL_NAME

查看已安装SCL软件包

查询已安装SCL软件包

1
scl --list

查询指定SCL软件包已安装的RPM包

1
scl --list SCL_NAME

卸载SCL软件包

1
yum remove SCL_NAME

执行应用程序

激活SCL软件包,直接执行不带参数命令

1
scl enable SCL_NAME_1 SCL_NAME_2 command

激活SCL软件包,执行带参数命令

1
scl enable SCL_NAME_1 SCL_NAME_2 'command --argument'

创建SCL软件包Shell环境

1
scl enable SCL_NAME_1 SCL_NAME_2 bash

退出SCL软件包Shell环境

1
exit

安装python3

安装

运行如下命令从 scl 源安装python3

1
yum install rh-python38

查看已安装SCL软件包列表

1
scl --list

执行应用程序

查看python版本

1
scl enable rh-python38 'python -V'

创建python3的Shell环境

1
scl enable rh-python38 bash

同样的查看python版本

1
python -V

退出python3的Shell环境

1
exit

再次查看CentOS7内置的python版本

1
python -V

可以看出,python3和python2是共存的。

评论