Linux开发环境——SCL软件集

Linux开发环境——SCL软件集

1、SCL简介

一、SCL简介

SCL(Software Collections)是一个CentOS/RHEL Linux平台的软件多版本共存解决方案,为RHEL/CentOS  Linux用户提供一种方便、安全地安装和使用应用程序和运行时环境的多个版本的方式,同时避免把系统搞乱。
CentOS/RHEL Linux发行版以稳定性著称,全部的软件都要尽量stable,致使基础软件的版本很是低,如CentOS 6.7(2015年发布)中gcc版本是4.4.7(2012年版本)。但工程开发中,一般须要高版本的GCC支持,所以须要在CentOS/RHEL Linux开发服务器部署高版本GCC。
SCL项目主页:https://www.softwarecollections.orgpython

二、CentOS源支持

下载源仓库文件Centos-7.repo至/etc/yum.repos.d:
http://mirrors.aliyun.com/repo/Centos-7.repo
将CentOS-7.repo文件中的$releasever所有替换为版本号7
更新仓库:mysql

yum clean all
yum makecache
sudo yum update

三、SCL源安装

yum install centos-release-scl scl-utils-build
CentOS6/7安装SCL源
yum-config-manager --enable rhel-server-rhscl-6-rpms
RHEL6安装SCL源
yum-config-manager --enable rhel-server-rhscl-7-rpms
RHEL7安装SCL源c++

四、SCL软件集查看

yum list all --enablerepo='centos-sclo-rh'
查询SCL支持的软件集合
SCL软件集包含软件包数量众多,能够选择安装指定RPM包,也能够所有安装。redis

2、SCL使用

一、查看已安装SCL软件集

scl --list
查询已安装SCL软件集
scl --list SCL_NAME
查询指定SCL软件集已安装的RPM包sql

二、SCL软件集安装

yum install SCL_NAME
安装指定SCL软件集docker

yum install devtoolset-7-gcc.x86_64  
devtoolset-7-gcc-c++.x86_64 devtoolset-7-gcc-gdb-plugin.x86_64

安装SCL软件集的指定RPM包。
yum list SCL_NAME\*
查询指定软件集中的RPM包shell

三、卸载指定SCL软件集

yum remove SCL_NAME\*
卸载指定SCL软件集数据库

四、执行应用程序

scl enable SCL_NAME_1 SCL_NAME_2 command
激活SCL软件集,直接执行不带参数命令编程

scl enable SCL_NAME_1 SCL_NAME_2 'command --argument'
scl enable SCL_NAME_1 SCL_NAME_2 "command --argument"
scl enable SCL_NAME_1 SCL_NAME_2 -- command --argument

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

scl enable devtoolset-7 "gcc --version"
scl enable devtoolset-7 -- gcc --version

激活devtoolset-7软件集,查看gcc版本

五、建立SCL软件集Shell环境

scl enable SCL_NAME_1 SCL_NAME_2 bash
在当前shell环境下新建一个shell并激活一个或多个SCL
echo $X_SCLS
在SCL shell环境查看已激活的SCL
exit
退出SCL软件集Shell环境
scl enable devtoolset-7 bash
建立devtoolset-7软件集的bash环境

六、批量执行文件中命令

cat cmd_file | scl enable SCL_NAME_1 SCL_NAME_2 -
执行文件中命令

七、激活SCL软件集

source /opt/rh/SCL_NAME/enable
在当前Shell激活指定SCL软件集

3、SCL经常使用软件集

一、Developer Toolset

Developer Toolset是为CentOS和REHL Linux平台开发者设计的开发工具集,提供GCC工具集、GNU Debugger以及其它开发、调试、性能测试工具的不一样版本。
Developer Toolset 三、Developer Toolset 四、Developer Toolset 6已经废弃。
Developer Toolset 7对应GCC 7版本
yum install devtoolset-7
Developer Toolset 8对应GCC 8版本
yum install devtoolset-8
CentOS7/RHEL7系统中Developer Toolset 7的Docker容器支持以下:

docker pull 
registry.access.redhat.com/rhscl/devtoolset-7-perftools-rhel7
docker pull 
registry.access.redhat.com/rhscl/devtoolset-7-toolchain-rhel7
docker pull centos/devtoolset-7-perftools-centos7
docker pull centos/devtoolset-7-toolchain-centos7

二、Clang and LLVM Toolset

Clang and LLVM Toolset是为CentOS和REHL Linux平台开发者设计的开发工具集,提供LLVM编译器基础设施、C/C++语言Clang编译器、LLDB调试器、代码分析相关工具。
yum install llvm-toolset-7.0
安装Clang and LLVM Toolset
scl enable llvm-toolset-7.0 bash
激活Clang and LLVM Toolset并建立Shell

docker pull 
registry.access.redhat.com/devtools/llvm-toolset-7.0-rhel7

RHEL7中Clang and LLVM Toolset的Docker镜像下载

三、Go Toolset

Go Toolset是为CentOS和REHL Linux平台开发者设计的开发工具集,提供Golang编程语言库和工具。
yum install go-toolset-7
安装Go Toolset
scl enable go-toolset-7 bash
激活Go Toolset并建立Shell环境

docker pull 
registry.access.redhat.com/devtools/go-toolset-7-rhel7

RHEL7中Go Toolset的Docker镜像下载

四、Python软件集

SCL中,Python软件集包括Python2七、Python3三、Python3四、Python3五、Python36五个版本,相应的SCL软件集名称为python2七、python3三、rh-python3四、rh-python3五、rh-python36。
rh-python36包含Python3.6解释器、Web编程扩展库、mod_wsgi、PostgreSQL数据库接口库、numpy、scipy。
yum install rh-python36
安装rh-python36
scl enable rh-python36 bash
激活rh-python36并建立Shell环境

五、Redis软件集

Redis软件集有Redis3.2和Redis5.0两个版本,SCL名称分别为rh-redis32和rh-redis5。
yum install rh-redis5
安装rh-redis5
scl enable rh-redis5 bash
激活rh-redis5并建立Shell环境
service rh-redis5-redis start
启动rh-redis5服务

六、MySQL

MySQL软件集有MySQL5.五、MySQL5.六、MySQL5.七、MySQL8.0四个版本,SCL名称分别为rh-mysql5五、rh-mysql5六、rh-mysql5七、rh-mysql80。
yum install rh-mysql80
安装rh-mysql80
scl enable rh-mysql80 bash
激活rh-mysql80并建立Shell环境
systemctl start rh-mysql80-mysqld
启动MySQL数据库服务

4、多版本GCC部署

一、GCC 7.3部署

yum install devtoolset-7
安装Developer ToolSet 7软件集
scl enable devtoolset-7 bash
激活Developer Toolset 7软件集,并建立Shell

二、GCC 8.3部署

yum install devtoolset-8
安装Developer Toolset 8软件集
scl enable devtoolset-8 bash
激活Developer Toolset 8软件集,并建立Shell环境

5、多版本Python部署

一、Python2.7部署

sudo yum install python27
安装SCL Python3软件包
scl enable python27 bash
开启Python2.7 Shell会话环境
python --version
Python版本查看

二、Python3.6部署

sudo yum install rh-python36
安装SCL Python3软件包
scl enable rh-python36 bash
开启Python3 Shell会话环境
python --versionPython版本查看

相关文章
相关标签/搜索