1. 程式人生 > 其它 >記一次GLIB2.14升級GLIB2.18的記錄以及其中的步驟原理

記一次GLIB2.14升級GLIB2.18的記錄以及其中的步驟原理

技術標籤:linuxcentosglib

注意:至於什麼是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 xfglibc-2.18.tar.gz

三、進入GLIB安裝包資料夾

cdglibc-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說明已經升級成功了。

如果本文對你有用的話,麻煩點贊收藏轉發一波啦~謝謝~~