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软件包
查看已安装SCL软件包
查询已安装SCL软件包
查询指定SCL软件包已安装的RPM包
卸载SCL软件包
执行应用程序
激活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环境
安装python3
安装
运行如下命令从 scl 源安装python3
查看已安装SCL软件包列表
运行结果
执行应用程序
查看python版本
1
| scl enable rh-python38 'python -V'
|
查看运行结果
创建python3的Shell环境
1
| scl enable rh-python38 bash
|
同样的查看python版本
退出python3的Shell环境
再次查看CentOS7内置的python版本
运行结果
可以看出,python3和python2是共存的。
条评论