记一次GLIB2.14升级GLIB2.18的记录以及其中的步骤原理

注意:至于什么是GLIB本篇文章不作赘述。大家在升级GLIB前记得先打个快照,以免升级以后某些程序不能正常运行。本文适用多版本,这里只记录2.18。

背景: 由于某种生产需求,虚拟机的环境为centos6.9,gllib2.12,而程序依赖glib2.18,故本篇文章应运而生了。

环境: centos6.9,GLIB2.12

目标:将centos6.9,GLIB2.12升级到GLIB2.18

ldd --version查看本地GLIB版本

步骤如下:

        一、下载GLIB包

curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz

               如果有不能联网的同学,可以在一台可以联网的机器(无系统要求)预下载安装包,然后再SCP到需要升级GLIB的虚拟机即可。

               如果有需要升级到其它版本的同学也可以到http://ftp.gnu.org/gnu/glibc/下载其他版本,然后再SCP到需要升级GLIB的虚拟机即可。

        二、解压安装包

tar xf glibc-2.18.tar.gz

        三、进入GLIB安装包文件夹

cd glibc-2.18

        四、开始升级               

mkdir build && cd build

../configure --prefix=/usr #注意了,别修改路径

make -j2 

make install

            解释:创建build文件夹并进入。执行configure文件,并且指定make install的安装目录为/usr。

        configure:检查文件编译的相互依赖关系,并且生成makefile。

           --prefix: 指定安装目录。

  • 首先检查机器的一些配置和环境,系统的相关依赖。如果缺少相关依赖,脚本会停止执行,软件安装失败
  • 根据之前检查环境和依赖的结果,生产Makefile文件(main job)

            configure执行成功可以看到当前目录下生成如下文件:

             当看到Makefile说明环境没问题,可以开始安装了。下面是一些命令的解释。

         make:编译源代码并生成可执行文件。

            -j2 ( -jn):用make -j带一个参数,可以把项目进行并行编译,比如在一台双核的机器上,可以用make -j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源。

解释:

  • make是Unix系统下的一个包。执行make命令需Makefile文件。make会根据Makefile文件中指令来安装软件
  • Makefile文件中有许多标签,来表示不同的section。一般的,make会编译源代码并生成可执行文件,其实Makefile主要就是描述文件编译的相互依赖关系

      make install:将make阶段生产的可执行文件拷贝到相应的地方

        相应的地方:configure生成makefile时指定的地方(--prefix所指的地址)。

解释:

  • 当执行make命令不加任何参数,程序就会按照Makefile的指令在相应的section间跳转并且执行相应的命令
  • 加上install参数即执行make install时,程序只会执行install section处的命令。install section的指令会将make阶段生产的可执行文件拷贝到相应的地方。

       五、检验一下是否升级成功

ldd --version

看到ldd (GNU libc) 2.18说明已经升级成功了。

如果本文对你有用的话,麻烦点赞收藏转发一波啦~谢谢~~

猜你喜欢

转载自blog.csdn.net/weixin_40647516/article/details/110803479