RedHat6系列Devtool-Set

2021年09月16日 阅读数:4
这篇文章主要向大家介绍RedHat6系列Devtool-Set,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

原因

红帽企业版 linux(RHEL)和它的社区版分支——CentOS,都是众所周知的知名企业级发行版,特别是提供了10年的生命周期,这意味着有足足10年内你不须要为安全补丁担心,可是RedHat系列的发行版是根据Release概念发行的,也就是说它是在内核版本上划分出一个稳定版本,而后开分支不断改进,好处是稳定,缺点就是运行时和编译环境的陈旧,例如 CentOS 6.5,它的生命周期结束时间是2020年11月30日,其所携带的gcc4.4.7已经十分陈旧,甚至不支持最新的C++11标准,这就致使了做为开发环境是不好的。另外一方面,在 RHEL/CentOS 上试图手动升级开发工具链和运行时环境存在使系统崩溃的潜在可能,除非全部依赖都被正确解决。一般状况下,手动升级都是不推荐的,除非你知道你在干什么。
再好比说目前流行的Docker,官方的最低要求就是内核3.10以上,而CentOS6仍是处于2.8时代。
许多开发人员对CentOS老旧的开发环境吐槽很多,在很多的回答里,都是推荐CentOS7做为开发环境,这确实是一种解决方法,可是其实红帽公司怎么可能没有考虑到工具链的陈旧问题呢,因此红帽早就推出了Devtoolset,目前有三个版本
RedHat发布过相应的升级包,叫作Devtoolset,有三个版本node

  • devtoolset-1是gcc 4.7linux

  • devtoolset-2是gcc 4.8segmentfault

  • devtoolset-3是gcc 4.9centos

若是是红帽公司订阅用户,能够直接从订阅管理器里直接下载,CentOS用户也不须要担心,由于这套工具也是在开放源代码许可证下发布的,因此早就有社区将其编译成了二进制包。安全

DevtoolSet包含的组件

Package Name Description Installed Components
devtoolset-2-ide Integrated Development Environment Eclipse
devtoolset-2-perftools Performance monitoring tools SystemTap, Valgrind, OProfile, Dyninst
devtoolset-2-toolchain Development and debugging tools GCC, GDB, binutils, elfutils, dwz, memstomp, strace
devtoolset-2-vc Revision control systems Git

开源社区打包

目前Devtoolset最新的打包仓库是SoftwareCollection,因此咱们直接根据它的官方指南作就行,RedHat订阅用户能够直接经过订阅管理器下载,这里就再也不细说。bash

Step1:Install the Software Collections tools

yum install scl-utils

Step2:Download a package with repository for your system.

# (See the Yum Repositories section below. You can use `wget URL`.)

请注意,这里下载的 rpm 是从 softwarecollection 里下载的repo仓库,能够经过wget下载ide

Step3:Install the repo package

yum install rhscl-devtoolset-3-*.noarch.rpm

Step4:Install the collection

yum install devtoolset-3

这里建议只下载工具链,而不是全部devtoolset都所有下载,由于里面还带有许多不须要的组建,具体下载内容参考上一节的表格。工具

Step4:Start using software collections

scl enable devtoolset-3 bash

卸载Devtoolset

可能你们用完开发工具集后就会想要删除它,其实很简单,输入如下命令:开发工具

yum remove devtoolset-3\*

而后也能够删除SCL管理工具网站

yum remove scl-utils\*

最后若是精神洁癖,还能够删除掉SoftwareCollection这个repo仓库RPM

rpm -qa | grep rhscl
rpm -e XXXXXXX

最近softwarecollection网站还将本身的仓库rpm提交到了官方源中,这样只须要键入

yum install centos-release-scl-rh

很是轻松的就能搞定仓库的安装,可是众所周知,GFW城墙远大,可是万幸的是阿里云镜像已经提供了方便快捷的仓库源,只不过咱们须要手动改一改配置文件,下面就是应当修改的配置文件

# CentOS-SCLo-rh.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/SCLo for more
# information

[centos-sclo-rh]
name=CentOS-$releasever - SCLo rh
# baseurl=http://mirror.centos.org/centos/$releasever/sclo/$basearch/rh/
baseurl=http://mirrors.aliyun.com/centos/$releasever/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

[centos-sclo-rh-testing]
name=CentOS-$releasever - SCLo rh Testing
baseurl=http://buildlogs.centos.org/centos/$releasever/sclo/$basearch/rh/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

恩,大概就是长这样的,其实这个东西对于Node.JS来讲最重要,因为4.x系列使用了更新的v8引擎,因此不管是编译node仍是安装C++模块,都须要C++11标准的编译器,这就须要这套开发组件了