注意:至于什么是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說明已經升級成功了,
如果本文對你有用的話,麻煩點贊收藏轉發一波啦~謝謝~~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/231522.html
標籤:其他
下一篇:shell腳本入門
