一、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

更新仓库:

yum clean allyum makecachesudo yum update

3、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源

4、SCL软件集查看

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

查询SCL支持的软件集合

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

二、SCL使用

1、查看已安装SCL软件集

scl --list

查询已安装SCL软件集

scl --list SCL_NAME

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

2、SCL软件集安装

yum install SCL_NAME

安装指定SCL软件集

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包

3、卸载指定SCL软件集

yum remove SCL_NAME\*

卸载指定SCL软件集

4、执行应用程序

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软件集,执行带参数命令

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

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

5、创建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环境

6、批量执行文件中命令

cat cmd_file | scl enable SCL_NAME_1 SCL_NAME_2 -

执行文件中命令

7、激活SCL软件集

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版本

yum install devtoolset-7

Developer Toolset 8对应GCC 8版本

yum install devtoolset-8

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

docker pullregistry.access.redhat.com/rhscl/devtoolset-7-perftools-rhel7docker pullregistry.access.redhat.com/rhscl/devtoolset-7-toolchain-rhel7docker pull centos/devtoolset-7-perftools-centos7docker pull centos/devtoolset-7-toolchain-centos7

2、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 pullregistry.access.redhat.com/devtools/llvm-toolset-7.0-rhel7

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

3、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 pullregistry.access.redhat.com/devtools/go-toolset-7-rhel7

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。

yum install rh-python36

安装rh-python36

scl enable rh-python36 bash

激活rh-python36并创建Shell环境

5、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服务

6、MySQL

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

yum install rh-mysql80

安装rh-mysql80

scl enable rh-mysql80 bash

激活rh-mysql80并创建Shell环境

systemctl start rh-mysql80-mysqld

启动MySQL数据库服务

四、多版本GCC部署

1、GCC 7.3部署

yum install devtoolset-7

安装Developer ToolSet 7软件集

scl enable devtoolset-7 bash

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

2、GCC 8.3部署

yum install devtoolset-8

安装Developer Toolset 8软件集

scl enable devtoolset-8 bash

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

五、多版本Python部署

1、Python2.7部署

sudo yum install python27

安装SCL Python3软件包

scl enable python27 bash

开启Python2.7 Shell会话环境

python --version

Python版本查看

2、Python3.6部署

sudo yum install rh-python36

安装SCL Python3软件包

scl enable rh-python36 bash

开启Python3 Shell会话环境

python --version

Python版本查看

Linux开发环境——SCL软件集相关推荐

  1. 通过安装scl软件集,使用高版本gcc的方法

    SCL软件集(Software Collections)是为了给 RHEL/CentOS 用户提供一种以方便.安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞 ...

  2. oracle vm安装增强功能,Linux 开发环境中为VirtualBox安装增强功能

    VirtualBox安装CentOS后,再安装增强功能就可以共享文件夹.粘贴板以及鼠标无缝移动,主要步骤如下: 1.yum -y update 2.yum -y install g++gcc gcc- ...

  3. _用WSL,MobaXterm,Cmder配置linux开发环境

    离不开Windows的理由很多,作为后端开发需要使用linux的情况也很多,双系统总归是不方便,而且linux下的GUI体验也没用Win 10好. 如果使用虚拟机,那么文件交换和网络等各种问题也需要解 ...

  4. virtual box linux 安装增强功能,Linux 开发环境中为VirtualBox安装增强功能

    VirtualBox安装CentOS后,再安装增强功能就可以共享文件夹.粘贴板以及鼠标无缝移动,主要步骤如下: 1.yum -y update 2.yum -y install g++gcc gcc- ...

  5. Linux 开发环境工具 下载网址大全

    Linux 开发环境工具 下载网址大全  package:        download from: 软件集成开发环境(代码编辑.浏览.编译.调试) Emacs            http:// ...

  6. 准备嵌入式Linux开发环境

    无论做什么事情之前,都需要准备好工具,俗话说得好磨刀不误砍柴功.接着下来要进行嵌入式Linux的开发,那么什么才是最基本的工具呢?前面已经说了开发板,具备了开发的第一步,接着下来就是需要编写程序.编译 ...

  7. 嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)

    目录 一.安装VMware 1.VMware介绍 2.安装VMware16.0.0 二.安装ubuntu16.04.3 LTS 1.Ubuntu介绍 2.下载安装包iso 3.安装 四.新安装Ubun ...

  8. 《从零开始搭建游戏服务器》Linux开发环境配置

    前言: 之前的开发工作一直是在Windows开发环境下进行的,但是正真发布和外网运营势必要发布到Linux环境下,而且有很多服务端的工具对于Windows系统的兼容性并不是非常完善,就像常用的Dock ...

  9. Linux 开发环境工具 下载网址大全 --转

    Linux 开发环境工具 下载网址大全 --转 ARM综合2010-08-04 22:46:17阅读329评论0字号:大中小订阅 软件集成开发环境(代码编辑.浏览.编译.调试) Emacs http: ...

  10. linux开发环境工具

    linux开发环境工具 package:        download from: 软件集成开发环境(代码编辑.浏览.编译.调试) Emacs            http://www.gnu.o ...

最新文章

  1. 自定义ListView背景(解决了拖动变黑的效果)
  2. java读写properties配置文件方法
  3. Django框架创建
  4. amd 深度学习模型部署_Web服务部署深度学习模型-续集
  5. oracle追加index,oracle add index
  6. 前端学习(2814):小程序学习之建立第一个项目
  7. centos一键安装redmine
  8. php magic quotes 选项为 on,PHP:当Magic Quotes为ON时,如何(正确)删除数组中的转义引号...
  9. ASP如何获取客户端真实IP地址
  10. Centos 6.5下NIS服务安装配置
  11. mac下的mysql报错:ERROR 1045(28000)和ERROR 2002 (HY000)的解决办法
  12. 【论文】AAAI 2020论文解读:关注实体以更好地理解文本
  13. three.js特效
  14. PPT开场,吸引人的几点技巧
  15. java:xml数据转json
  16. linux启动盘无法格式化u盘启动盘,U盘做了启动盘后无法格式化怎么办实测解决...
  17. sparkGraphX 图操作:pregel(加强的aggregateMessages)
  18. 完全用GNU/Linux工作,摈弃Windows---你我共勉 (转)
  19. java计算机毕业设计南通大学福利发放管理系统源代码+数据库+系统+lw文档
  20. GStreamer基础教程10——GStreamer工具

热门文章

  1. Unity3D中使用Projector生成阴影
  2. 电脑开机显示自动修复失败无法进入系统,解决方法(亲试有效!!!)
  3. hdu4699-Editor
  4. mysql中status状态说明
  5. Android离线输入法,QQ输入法Android版4.9离线语音输入让沟通无障碍
  6. 74HC138(三八译码器)74HC573(锁存器)74HC02(或非门)
  7. 或是独体字吗_知识:贝是独体字吗什么结构
  8. 同程内网流传的分布式凤凰缓存系统手册,竟遭GitHub强行开源下载
  9. java指数运算_java算法-指数运算(大数运算)
  10. java求指数_Java Math类的常用方法,指数运算