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

相關文章
相關標籤/搜索