RedHat Linux 下离线手动安装gcc

在安装LINUX系统的时候很可能会没有安装gcc和g++编译器。而在实际使用中,有一些软件如fortran则需要gcc、g++编译器才能够正常使用其中的命令。正常情况下,在Centos系统中,我们可以使用yum命令非常方便地从网络自动下载和安装这两个编译器,但是在实际使用中我们的LINUX系统可能不具备联网条件,这就需要我们自己下载编译器需要的各个安装文件并手动安装,这里结合实际操作的经验对Centos离线手动安装gcc、g++编译器的过程加以分析。

​        1.联网条件下正常安装gcc、g++。

        直接在​命令窗口中以root身份输入:

        [root@localhost awp-01]#yum install gcc​

        [root@localhost awp-01]#​ yum install g++

        2.​离线条件下手动安装gcc、g++:

        基本的安装思路与这篇链接中的方法类似http://blog.csdn.net/vah101/article/details/17677451,但是具体实施中,有一点问题需要修正:​

        首先,我们到链接中下载需要的安装包文件​http://vault.centos.org/6.3/os/x86_64/Packages/ 。具体需要下载的文件可以按照以上那篇博客的内容来做,这里我直接复制粘贴过来以供参考:

​        ppl-0.10.2-11.el6.x86_64.rpm 、

        cloog-ppl-0.15.7-1.2.el6.x86_64.rpm 、

        mpfr-2.4.1-6.el6.x86_64.rpm 、

        cpp-4.4.6-4.el6.x86_64.rpm 、

        kernel-headers-2.6.32-279.el6.x86_64.rpm 、

        glibc-headers-2.12-1.80.el6.x86_64.rpm 、

        glibc-devel-2.12-1.80.el6.x86_64.rpm 、

        libstdc++-devel-4.4.6-4.el6.x86_64.rpm 、

        gcc-4.4.6-4.el6.x86_64.rpm 、

        gcc-c++-4.4.6-4.el6.x86_64.rpm​​​(红色就是安装中出问题的地方)
​        之后,我们用U盘将这些文件拷到所需要安装的LINUX系统中,建议新建一个目录把所有的支持包都放到一个文件夹中,便于管理。

        接下来,我们使用root身份进入到这些文件所在的目录gcc当中依次输入以下命令安装。

      ​  [root@localhost gcc]#rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm

        [root@localhost gcc]# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

    ​    [root@localhost gcc]# rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm

        ​[root@localhost gcc]# rpm -ivh cpp-4.4.6-4.el6.x86_64.rpm

        [root@localhost gcc]# rpm -ivh kernel-headers-2.6.32-279.el6.x86_64.rpm

​        [root@localhost gcc]# rpm -ivh glibc-headers-2.12-1.80.el6.x86_64.rpm

       [root@localhost gcc]# rpm -ivh glibc-devel-2.12-1.80.el6.x86_64.rpm

       [root@localhost gcc]# rpm -ivh libstdc++-devel-4.4.6-4.el6.x86_64.rpm

​       [root@localhost gcc]# rpm -ivh gcc-4.4.6-4.el6.x86_64.rpm 

       [root@localhost gcc]# rpm -ivh gcc-c++-4.4.6-4.el6.x86_64.rpm

       如果可以按照以上步骤顺利安装,那么就安装完成了,但是从网上看,很多人像我一样,并不能很顺利按照以上步骤进行安装,会提示关联性问题和缺少文件,比如:

        ​error: Failed dependencies:

        glibc = 2.12-1.80.el6 is needed by glibc-headers-2.12-1.80.el6.x86_64

        于是我按照提示找到一系列相关联的文件依次安装,仍然提示关联性错误。由于我已经将所有相关安装包都下载过了,仍然不能解决问题。反复尝试无果后,我们可以这样解决问题:

         首先是强制安装以上问题文件,忽略关联性问题:

         ​[root@localhost gcc]# rpm -ivh gcc-4.4.6-4.el6.x86_64.rpm --nodeps --force (忽略关联性、强制安装)

         ​也可以这样一次性强制安装所有安装文件:

         [root@localhost gcc]# rpm -Uvh  *.rpm  --nodeps  --force (忽略关联性、强制安装)

         之后,我们可以到/usr​/bin目录下输入ls查看是否有gcc、g++目录,如果有,就安装成功了,如果没有,请继续往下看:

         ​很不幸,我在安装的时候,在做完以上步骤之后,仍然没有安装成功。所以当时几乎崩溃,最后,由于我的师兄有留下一个其他版本的gcc-c++ -4.4.7-4的g++安装文件,于是尝试强制安装,忽略相关性,安装成功后,成功匹配!

        ​ 结论!结论!结论!

         ​1.首先,原博客给出的安装方法基本是正确的,起码步骤上是没有什么大问题的!

         2.所谓的相关性错误,并没有那么重要,我们将满足安装要求的文件强制安装后,仍然可以使用!不会出现错误!

         3.跨版本组合的都能成功,我也是醉了!!!

       4.大总结就是,按照以上步骤进行安装,当出现报错的时候进行强制安装,忽略相关性,仍不能解决的,换一个版本的相同文件继续强制安装,就能成功!!!

         5.据搜集资料,下载相关文件的时候最好在另一台LINUX系统的计算机上下载,否则windows下载可能出现转换问题!​

猜你喜欢

转载自blog.csdn.net/ezgame/article/details/81670285