一、SCL简介

1、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.org

2、CentOS源支持

下载源仓库文件Centos-7.repo至/etc/yum.repos.d:

http://mirrors.aliyun.com/repo/Centos-7.repo

将CentOS-7.repo文件中的$releasever全部替换为版本号7

更新仓库:

    1. yum clean all
        1. yum makecache
            1. sudo yum update
          1.  

          3、SCL源安装

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

          CentOS6/7安装SCL源

          1. yum-config-manager --enable rhel-server-rhscl-6-rpms

          RHEL6安装SCL源

          1. yum-config-manager --enable rhel-server-rhscl-7-rpms

          RHEL7安装SCL源

          4、SCL软件集查看

          1. yum list all --enablerepo='centos-sclo-rh'

          查询SCL支持的软件集合

          SCL软件集包含软件包数量众多,可以选择安装指定RPM包,也可以全部安装。

          二、SCL使用

          1、查看已安装SCL软件集

          1. scl --list

          查询已安装SCL软件集

          1. scl --list SCL_NAME

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

          2、SCL软件集安装

          1. yum install SCL_NAME

          安装指定SCL软件集

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

          安装SCL软件集的指定RPM包。

          1. yum list SCL_NAME\*

          查询指定软件集中的RPM包

          3、卸载指定SCL软件集

          1. yum remove SCL_NAME\*

          卸载指定SCL软件集

          4、执行应用程序

          1. scl enable SCL_NAME_1 SCL_NAME_2 command

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

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

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

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

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

                      5、创建SCL软件集Shell环境

                      1. scl enable SCL_NAME_1 SCL_NAME_2 bash

                      在当前shell环境下新建一个shell并激活一个或多个SCL

                      1. echo $X_SCLS

                      在SCL shell环境查看已激活的SCL

                      1. exit

                      退出SCL软件集Shell环境

                      1. scl enable devtoolset-7 bash

                      创建devtoolset-7软件集的bash环境

                      6、批量执行文件中命令

                      1. cat cmd_file | scl enable SCL_NAME_1 SCL_NAME_2 -

                      执行文件中命令

                      7、激活SCL软件集

                      1. source /opt/rh/SCL_NAME/enable

                      在当前Shell激活指定SCL软件集

                      三、SCL常用软件集

                      1、Developer Toolset

                      Developer Toolset是为CentOS和REHL Linux平台开发者设计的开发工具集,提供GCC工具集、GNU Debugger以及其它开发、调试、性能测试工具的不同版本。

                      Developer Toolset 3、Developer Toolset 4、Developer Toolset 6已经废弃。

                      Developer Toolset 7对应GCC 7版本

                      1. yum install devtoolset-7

                      Developer Toolset 8对应GCC 8版本

                      1. yum install devtoolset-8

                      CentOS7/RHEL7系统中Developer Toolset 7的Docker容器支持如下:

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

                                          2、Clang and LLVM Toolset

                                          Clang and LLVM Toolset是为CentOS和REHL Linux平台开发者设计的开发工具集,提供LLVM编译器基础设施、C/C++语言Clang编译器、LLDB调试器、代码分析相关工具。

                                          1. yum install llvm-toolset-7.0

                                          安装Clang and LLVM Toolset

                                          1. scl enable llvm-toolset-7.0 bash

                                          激活Clang and LLVM Toolset并创建Shell

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

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

                                              3、Go Toolset

                                              Go Toolset是为CentOS和REHL Linux平台开发者设计的开发工具集,提供Golang编程语言库和工具。

                                              1. yum install go-toolset-7

                                              安装Go Toolset

                                              1. scl enable go-toolset-7 bash

                                              激活Go Toolset并创建Shell环境

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

                                                  RHEL7中Go Toolset的Docker镜像下载

                                                  4、Python软件集

                                                  SCL中,Python软件集包括Python27、Python33、Python34、Python35、Python36五个版本,相应的SCL软件集名称为python27、python33、rh-python34、rh-python35、rh-python36。

                                                  rh-python36包含Python3.6解释器、Web编程扩展库、mod_wsgi、PostgreSQL数据库接口库、numpy、scipy。

                                                  1. yum install rh-python36

                                                  安装rh-python36

                                                  1. scl enable rh-python36 bash

                                                  激活rh-python36并创建Shell环境

                                                  5、Redis软件集

                                                  Redis软件集有Redis3.2和Redis5.0两个版本,SCL名称分别为rh-redis32和rh-redis5。

                                                  1. yum install rh-redis5

                                                  安装rh-redis5

                                                  1. scl enable rh-redis5 bash

                                                  激活rh-redis5并创建Shell环境

                                                  1. service rh-redis5-redis start

                                                  启动rh-redis5服务

                                                  6、MySQL

                                                  MySQL软件集有MySQL5.5、MySQL5.6、MySQL5.7、MySQL8.0四个版本,SCL名称分别为rh-mysql55、rh-mysql56、rh-mysql57、rh-mysql80。

                                                  1. yum install rh-mysql80

                                                  安装rh-mysql80

                                                  1. scl enable rh-mysql80 bash

                                                  激活rh-mysql80并创建Shell环境

                                                  1. systemctl start rh-mysql80-mysqld

                                                  启动MySQL数据库服务

                                                  四、多版本GCC部署

                                                  1、GCC 7.3部署

                                                  1. yum install devtoolset-7

                                                  安装Developer ToolSet 7软件集

                                                  1. scl enable devtoolset-7 bash

                                                  激活Developer Toolset 7软件集,并创建Shell

                                                  2、GCC 8.3部署

                                                  1. yum install devtoolset-8

                                                  安装Developer Toolset 8软件集

                                                  1. scl enable devtoolset-8 bash

                                                  激活Developer Toolset 8软件集,并创建Shell环境

                                                  五、多版本Python部署

                                                  1、Python2.7部署

                                                  1. sudo yum install python27

                                                  安装SCL Python3软件包

                                                  1. scl enable python27 bash

                                                  开启Python2.7 Shell会话环境

                                                  1. python --version

                                                  Python版本查看

                                                  2、Python3.6部署

                                                  1. sudo yum install rh-python36

                                                  安装SCL Python3软件包

                                                  1. scl enable rh-python36 bash

                                                  开启Python3 Shell会话环境

                                                  1. python --version

                                                  Python版本查看

                                                  文章知识点与官方知识档案匹配,可进一步学习相关知识
                                                  云原生入门技能树首页概览11682 人正在系统学习中
                                                  量化IT技术交流群


                                                  QQ群名片

                                                  [转帖]Linux开发环境——SCL软件集的更多相关文章

                                                  1. Linux开发环境的搭建和使用——Linux本必备软件SSH

                                                    SSH 至 Secure Shell 缩写.由 IETF 网络工作组(Network Working Group)开发:SSH 以建立应用层和传输层安全协议中的基础上. SSH 是眼下较可靠,专为远程 ...

                                                  2. 用Windows+VirtualBox搭建嵌入式Linux开发环境

                                                    Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...

                                                  3. 熟悉linux开发环境(实验)

                                                    北京电子科技学院(BESTI) 实验报告 课程: 深入理解计算机系统 班级: 1353班 姓名:张若嘉 杨舒雯 学号:20135330 20135324 成绩: 指导教师:娄嘉鹏 实验日期:2015. ...

                                                  4. 一步步学习Linux开发环境搭建与使用

                                                    00.Linux开发环境搭建与使用1--Linux简史 01.Linux开发环境搭建与使用2--Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3--通过虚拟机安装系统(ub ...

                                                  5. 利用 WSL 在 Windows下打造高效的 Linux 开发环境

                                                    WSL-Windows Subsystem for Linux 介绍 The Windows Subsystem for Linux lets developers run Linux environ ...

                                                  6. Centos7升级gcc版本方法之一使用scl软件集

                                                    Centos7 gcc版本默认4.8.3,Red Hat 为了软件的稳定和版本支持,yum 上版本也是4.8.3,所以无法使用yum进行软件更新,所以使用scl. scl软件集(Software Co ...

                                                  7. 如何在微软Windows平台上打造出你的Linux开发环境(转载)

                                                    如何在微软Windows平台上打造出你的Linux开发环境 投递人 itwriter 发布于 2013-12-10 11:18 评论(1) 有348人阅读  原文链接  [收藏]  « » 英文原文: ...

                                                  8. Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]

                                                    Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2] 2015-07   北京海淀区  ...

                                                  9. Linux开发环境搭建与使用系列教程

                                                    00.Linux开发环境搭建与使用1——Linux简史 01.Linux开发环境搭建与使用2——Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3——通过虚拟机安装系统(ub ...

                                                  10. 基于AM3352/AM3354/AM3358/AM3359的Linux 开发环境搭建(上)

                                                    遇到不少人新手小白问,前辈如何搭建一个优良的Linux 开发环境?之前一直都是在用win开发,现在想要尝试用Linux做开发等等一系列的问题.开源一直是给电子行业工作者提供了一种向技术更深处进发的机遇 ...

                                                  随机推荐

                                                  1. 在线编辑Word——插入内容控件

                                                    内容控件是可添加和自定义的以在模板.窗体和文档中使用的单个控件.Word中支持添加多种类型的控件用于不同文档的设计需求.本文,将通过在线编辑的方式展示如何在Word中插入内容控件,这里使用的在线编辑器 ...

                                                  2. 【华为云技术分享】DLI跨源|当DLI遇见MongoDB

                                                    导语: MongoDB作为灵活高效易扩展的no-schema数据库,越来越受到互联网公司.游戏行业等开发者的青睐,但是MongoDB有着独特的语言接口,并不能很好满足数据分析师构建数据治理应用的需求, ...

                                                  3. Taro架构构析(1):多端框架分析,Taro WePY uni-app对比

                                                    多端框架分类 全包型 这类框架最大的特点就是从底层的渲染引擎.布局引擎,到中层的 DSL,再到上层的框架全部由自己开发,代表框架是 Qt 和 Flutter.这类框架优点非常明显:性能(的上限)高:各 ...

                                                  4. Hive查看表/分区更新时间

                                                    1.查看分区 hive> show partitions table_name; 2.查看分区更新时间 获取hdfs路径 hive> desc formatted table_name; ...

                                                  5. 创元集团的数智化实践 这次选择了和火山引擎 VeDI 搭档

                                                    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,上海创元化妆品有限公司(以下简称"创元集团")与火山引擎数智平台 VeDI 达成合作,旨 ...

                                                  6. 负载均衡 SLB 健康检查异常

                                                    负载均衡 SLB 健康检查异常,接口地址不能访问 接口地址的访问首先需要健康检查状态为正常. 如果接口没有"首页",需要提供一个可访问的controller

                                                  7. Mac OS 安装mysqlcliet 失败问题解决

                                                    简单记录 Mac OS pip 安装mysqlclient报错处理过程 系统: python: Python 3.8.2 虚拟环境 直接安装 mysqlclient 会报错 Using cached ...

                                                  8. 神秘又强大的@SpringBootApplication注解

                                                    一.前言 大部分的配置都可以用Java类+注解来代替,而在SpringBoot项目中见的最多的莫过于@SpringBootApplication注解了,它在每个SpringBoot的启动类上都有标注. ...

                                                  9. PVE API创建虚拟机

                                                    度娘,谷歌都搜了一圈没有找到通过PVE API创建虚拟机的方式, 于是查官网自己试了试,部分代码抄的Sam Liu大佬的作业,感谢大佬. python代码如下: import requests # s ...

                                                  10. Spring EL 表达式

                                                    本篇讲述了Spring Expression Language -- 即Spring3中功能丰富强大的表达式语言,简称SpEL. SpEL是类似于OGNL和JSF EL的表达式语言,能够在运行时构建复 ...