这里是通过rpm包来安装gcc(g++), 由于其依赖的rpm包众多,需要先行下载。

下载

yum -y install yum-utils
yumdownloader --resolve --destdir=/root/soft/gcc gcc //如果是安装gcc,将其依赖包下载到/root/soft/gcc中。
yumdownloader --resolve --destdir=/root/soft/gcc++ gcc-c++ // 安装gcc-c++,将其依赖包下载到/root/soft/g++中。

这里以下载安装gcc为例,运行命令yumdownloader --resolve --destdir=/root/soft/gcc gcc

[root@instance-1apocjsh ~]# yumdownloader --resolve --destdir=/root/soft/gcc gcc
Last metadata expiration check: 0:00:17 ago on Sat 19 Mar 2022 10:49:50 PM CST.
(1/14): isl-0.16.1-6.el8.x86_64.rpm                                                                                                          14 MB/s | 841 kB     00:00    
(2/14): glibc-langpack-en-2.28-164.el8.x86_64.rpm                                                                                            13 MB/s | 828 kB     00:00    
(3/14): libgomp-8.5.0-4.el8_5.x86_64.rpm                                                                                                     14 MB/s | 206 kB     00:00    
(4/14): kernel-headers-4.18.0-348.7.1.el8_5.x86_64.rpm                                                                                       40 MB/s | 8.3 MB     00:00    
(5/14): libxcrypt-4.1.1-6.el8.x86_64.rpm                                                                                                    7.8 MB/s |  73 kB     00:00    
(6/14): libxcrypt-devel-4.1.1-6.el8.x86_64.rpm                                                                                              3.6 MB/s |  25 kB     00:00    
(7/14): gcc-8.5.0-4.el8_5.x86_64.rpm                                                                                                         41 MB/s |  23 MB     00:00    
(8/14): glibc-2.28-164.el8.x86_64.rpm                                                                                                       8.5 MB/s | 3.6 MB     00:00    
(9/14): libmpc-1.1.0-9.1.el8.x86_64.rpm                                                                                                     3.2 MB/s |  61 kB     00:00    
(10/14): glibc-headers-2.28-164.el8.x86_64.rpm                                                                                               21 MB/s | 480 kB     00:00    
(11/14): glibc-devel-2.28-164.el8.x86_64.rpm                                                                                                 26 MB/s | 1.0 MB     00:00    
(12/14): libgcc-8.5.0-4.el8_5.x86_64.rpm                                                                                                     11 MB/s |  79 kB     00:00    
(13/14): glibc-common-2.28-164.el8.x86_64.rpm                                                                                                34 MB/s | 1.3 MB     00:00    
(14/14): cpp-8.5.0-4.el8_5.x86_64.rpm                                                                                                        15 MB/s |  10 MB     00:00 

下载完成后,/root/soft/gcc中如下:

[root@instance-1apocjsh gcc++]# ls
cpp-8.5.0-4.el8_5.x86_64.rpm          glibc-devel-2.28-164.el8.x86_64.rpm             libgcc-8.5.0-4.el8_5.x86_64.rpm           libxcrypt-4.1.1-6.el8.x86_64.rpm
gcc-8.5.0-4.el8_5.x86_64.rpm          glibc-headers-2.28-164.el8.x86_64.rpm           libgomp-8.5.0-4.el8_5.x86_64.rpm          libxcrypt-devel-4.1.1-6.el8.x86_64.rpm
gcc-c++-8.5.0-4.el8_5.x86_64.rpm      glibc-langpack-en-2.28-164.el8.x86_64.rpm       libmpc-1.1.0-9.1.el8.x86_64.rpm
glibc-2.28-164.el8.x86_64.rpm         isl-0.16.1-6.el8.x86_64.rpm                     libstdc++-8.5.0-4.el8_5.x86_64.rpm
glibc-common-2.28-164.el8.x86_64.rpm  kernel-headers-4.18.0-348.7.1.el8_5.x86_64.rpm  libstdc++-devel-8.5.0-4.el8_5.x86_64.rpm

这里有个问题,就是无法指定gcc(gcc-c++)的版本,默认下载的是GCC 8.5.0。有待进一步研究。(不同的CentOS版本默认下载的GCC版本会不一样,上面是在CentOS8.4上操作的,如果是在CentOS7.6上,会下载GCC4.8.5)

另外注意,我也将这些文件打包放在了百度云上gcc-8.5.0.rpm_bundle.tar.gz直接下载即可

安装

直接进行强制安装。因为逐个安装,很容易因为递进依赖,而报一堆错,需要下载一堆特别多的包。

rpm  -ivh  *.rpm --nodeps --force

安装过程如下:

[root@instance-1apocjsh gcc++]# rpm  -ivh  *.rpm --nodeps --force
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:glibc-common-2.28-164.el8        ################################# [  6%]
   2:glibc-langpack-en-2.28-164.el8   ################################# [ 12%]
   3:glibc-2.28-164.el8               ################################# [ 18%]
   4:libmpc-1.1.0-9.1.el8             ################################# [ 24%]
   5:libgcc-8.5.0-4.el8_5             ################################# [ 29%]
   6:libstdc++-8.5.0-4.el8_5          ################################# [ 35%]
   7:libstdc++-devel-8.5.0-4.el8_5    ################################# [ 41%]
   8:cpp-8.5.0-4.el8_5                ################################# [ 47%]
   9:isl-0.16.1-6.el8                 ################################# [ 53%]
  10:libgomp-8.5.0-4.el8_5            ################################# [ 59%]
  11:libxcrypt-4.1.1-6.el8            ################################# [ 65%]
  12:kernel-headers-4.18.0-348.7.1.el8################################# [ 71%]
  13:glibc-headers-2.28-164.el8       ################################# [ 76%]
  14:glibc-devel-2.28-164.el8         ################################# [ 82%]
  15:libxcrypt-devel-4.1.1-6.el8      ################################# [ 88%]
  16:gcc-8.5.0-4.el8_5                ################################# [ 94%]
  17:gcc-c++-8.5.0-4.el8_5            ################################# [100%]

检查

使用命令gcc --version(或者gcc -v),显示如下表示安装成功。

[root@instance-1apocjsh gcc++]# gcc --version
gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

参考资料

CentOS下离线安装gcc环境,图文详细,方法全面

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐