1.查看系统版本:

本次安装,根据自己的系统版本安装GCC,于是查看系统版本:

cat /etc/redhat-release 

image.png


uname -a

image.png


cat /proc/version

image.png


cat /etc/issue

image.png


cat /etc/centos-release

image.png



2.下载gcc rpm

CentOS6 RPM下载地址:

http://vault.centos.org/


CentOS7 RPM下载地址:

http://rpmfind.net/linux/centos/7.6.1810/os/x86_64/Packages/


由于我不知道安装GCC需要哪些依赖的rpm,所以就直接下个gcc的rpm,看提示需要哪些依赖关系包,然后再下载。

当然有点人肯定也想到参考别人版本的安装rpm,改下版本信息全部,照样下载就好了。

但我想自己解决需要的依赖关系,这样以后遇到同类问题可以有个思路。



3.安装gcc rpm

rpm -ivh gcc-4.8.5-36.el7_6.2.x86_64.rpm

image.png

提示要cpp-4.8.5-36.el7_6.2,libgcc-4.8.5-36.el7_6.2,libgomp-4.8.5-36.el7_6.2这3个依赖包,于是在以上链接里下载了相关的包。

在安装的时候,这些包也需要其他依赖包,也把相关包下载下来安装即可。

但我安装完这些依赖关系包后,再安装GCC的包,居然还是提示同样的问题。我以为是我漏了安装哪个依赖包了,于是重新检查了一遍。

rpm -ivh  cpp-4.8.5-36.el7.x86_64.rpm 

image.png


rpm -ivh libgcc-4.8.5-36.el7.x86_64.rpm 

image.png


rpm -ivh libgomp-4.8.5-36.el7.x86_64.rpm 

image.png




好吧,全部都安装好了,到底是哪里出了问题,不清楚,那么,只好忽略这些提示继续安装。于是用了force参数

rpm -ivh gcc-4.8.5-36.el7_6.2.x86_64.rpm --force

image.png


发现还是不行,再加个参数nodeps,成功了。

rpm -ivh gcc-4.8.5-36.el7_6.2.x86_64.rpm --force --nodeps

image.png


gcc -v

image.png



RPM命令参数:

--force         short hand for --replacepkgs --replacefiles

--replacefiles                   ignore file conflicts between packages

--replacepkgs                    reinstall if the package is already present

--nodeps                         don't verify package dependencies