看了很多介绍,基本就三种:
1、安装centos-release-scl,然后yum install devtoolset-9-gcc即可;
2、离线下载安装,但没提供哪里下载,给了个CSDN下载包链接需要积分;
3、downloadonly 模式。。。不是我说,我要是能download我还找啥离线下载方式
我在局域网环境,内部镜像源安装了centos-release-scl,依旧搜不到devtoolset-9-gcc。更多人应该是完全局域网,连镜像源都没有吧。
综上,看来看去,一个能直接抄的作业都没有。
下面是实践方法:
以devtoolset-9-gcc为例,一般需要安装 devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils这三个,怎么处理?
1、打开pkgs网站,https://centos.pkgs.org/7/centos-sclo-rh-x86_64/devtoolset-9-gcc-9.3.1-2.2.el7.x86_64.rpm.html,这个为例,可以看到详细介绍了devtoolset-9-gcc-9.3.1-2.2.el7.x86_64这个软件的情况。类似的,去搜索你需要的软件名,注意选好Package architecture,x86_64还是aarch64。
2、读取关键信息,
查看版本,确认你要选择的细节版本;
查看依赖项,比如这里提到依赖 devtoolset-9-binutils 和 devtoolset-9-runtime,就需要把这俩也下载了。然后继续往下拉,在一个容易被忽略的地方:
拷贝这里的 Binary Package的链接,可以网页下载或wget等。
3、交叉依赖,按照Requires提示的,都找全。以devtoolset-9-gcc套装为例,一共需要下载5个软件至少:devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils devtoolset-9-runtime devtoolset-9-libstdc++-devel。注意,这些软件下载的版本应当一致,比如都是 9.3.1-2.2。个别软件没有这个版本的就没事,最新就行。然后,拷贝到linux环境下。
4、执行 yum install devtoolset-9-* 切记, 这几个包要一起yum,不然会交叉报缺依赖。如果安装中报告下载依赖失败,看下报错的是哪个软件,仿照前面的下载好安装。
5、默认安装后,装在 /opt 下面的,rh 文件夹。里面有个 enable 文件,source 这个文件,即可激活此版本的编译器套件,覆盖系统原有的低版本。