Linux升級glibc


參考http://www.linuxidc.com/Linux/2015-04/116472.htm via 紅孩兒你好


 

一、簡介

glibc是gnu發布的libc庫,即c運行庫。glibc是linux系統中最底層的api,幾乎其它任何運行庫都會依賴於glibc。glibc除了封裝linux操作系統所提供的系統服務外,它本身也提供了許多其它一些必要功能服務的實現。
同時,錯誤地升級glibc將會毀掉一個系統(以至於無法登錄)。初學Linux時,通過網上其他教程裝毀的Linux不下十台,這里找到一個靠譜的,通過升級glibc到2.15版得出的升級方法。

 

二、過程

1、下載glibc,解壓

原文中的glibc-ports是用來支持arm架構芯片的包,可以將包內文件移動到glibc-2.15/ports內編譯安裝,這里不再贅述

wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
tar -zxvf  glibc-2.15.tar.gz


2、准備一個編譯文件夾

mkdir glibc-2.15-build cd glibc-2.15-build


3、配置configure

../glibc-2.15/configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin


4、編譯安裝

make
make install

順便說一下,make的-j參數是個坑,雖然可以並行編譯,但如果Makefile或依賴關系有問題,編譯會出錯。


5、檢查軟連接

編譯成功后,glibc-2.15-build文件下會生成一個新的libc.so.6,這是一個軟連接,而真實的lib文件是此目錄下的libc.so。ll是ls -l的別名

ll libc.so.6


查看庫文件

ll /lib64/libc*

可以看到2.12的舊庫文件還在,多了2.15版本的庫文件,而且軟鏈接文件全部指向了2.15版本


查看glibc支持的版本

strings libc.so | grep GLIBC


6、漏洞影響

Google的安全研究團隊近日披露了一個關於glibc中getaddrinfo函數的溢出漏洞。漏洞成因在於DNS Server Response返回過量的(2048)字節,會導致接下來的response觸發棧溢出。(CVE-2015-7547)。
攻擊者可借助特制的域名、DNS服務器或中間人攻擊利用該漏洞,控制軟件,並試圖控制整個系統。
對於Debian系列、Red Hat系列的Linux發行版,只要glibc版本大於2.9就會受到影響。

地址:https://sourceware.org/bugzilla/show_bug.cgi?id=18665

官方的補救策略也很惡心:https://sourceware.org/ml/libc-alpha/2016-02/msg00416.html

個人的解決辦法:使用安全靠譜的“大廠”的DNS服務器


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM