CentOS 6.X使用RPM包升級GLIBC的例子

來源:互聯網
上載者:User


之前一段時間經常被 “libc.so.6: version `GLIBC_2.14′ not found” 這個報錯資訊折騰,出現這個報錯的原因就是當前系統安裝的 GLIBC 版本低於軟體編譯時間使用的 GLIBC 版本。


這也是 CentOS 非常不適合折騰的原因之一,一些軟體經常用到的底層 API 或編譯器版本都非常低。

CentOS 7.X 倒還好,GLIBC Version 2.17,GCC Version 4.8.5,基本滿足需要,但是 CentOS 6.X 的 GLIBC Version 2.12,GCC Version 4.4.7,基本不滿足需求…

看看別人家的阪本,比你不知道要高到哪裡去了


由於一直使用 CentOS 6.X 系統,以前一出問題就直接編譯源碼,想想其實挺麻煩的。現在就打算直接使用 RPM 包升級,方便快捷,只是比源碼編譯自由度低些,這裡把具體方法及連結記下來,以作備忘。


 

先對比下源碼編譯、RPM 包和 YUM 三種安裝方法的優劣:

 

源碼編譯:可以自行指定編譯參數,自由度高,略顯麻煩。但是如果不安裝最新版本,BUGs 和 CVEs 是不會被修複的,和鹹魚沒什麼差別;

RPM 包安裝:官方沒有高版本的 RPM 包,只好使用可信第三方製作的,有時製作時間是幾年前,和不使用最新版本的源碼編譯差不多,不會去打補丁;

YUM 安裝:雖然 YUM 源中的版本都很低,而且萬年不動,但是時常更新,一般會打補丁(patch),安全性較高,奈何版本太低。

 
升級 GLIBC

首先確定當前系統裝了 GLIBC 的哪些包,以及最高支援版本。

[root@localhost src]# rpm -qa | grep glibc
glibc-2.12-1.192.el6.x86_64
glibc-devel-2.12-1.192.el6.x86_64
glibc-headers-2.12-1.192.el6.x86_64
glibc-common-2.12-1.192.el6.x86_64
 
[root@localhost src]# strings /lib64/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE

得知系統中安裝了 x86_64 的 glibc、glibc-common、glibc-devel、glibc-headers,並且版本是 2.12-1.192.el6,所以升級時我們要下載新版本的以上 4 種 RPM 包。

Note:與 glibc 相關的包有 x86_64 和 i686 的 glibc、glibc-common、glibc-devel、glibc-headers、glibc-static、glibc-utils,請根據實際情況自行選擇。

 
接下來,可以在 ftp.redsleeve.org、rpmfind.net(x86_64) 或百毒雲下載相應版本的 RPM 包,注意只能用在 el6 發行版中。

OK,下完了檔案,假設我們把需要升級的 RPM 包放在了 /usr/src 目錄下。

cd /usr/src
# 這裡我們只需要安裝4個RPM包,根據實際情況安裝
rpm -Uvh glibc-2.15-60.el6.x86_64.rpm \
glibc-common-2.15-60.el6.x86_64.rpm \
glibc-devel-2.15-60.el6.x86_64.rpm \
glibc-headers-2.15-60.el6.x86_64.rpm

雖然安裝過程中貌似會有個小報錯,但是 maybe 無關緊要?

 
安裝完成後,再次查看安裝情況

[root@localhost src]# rpm -qa | grep glibc
glibc-2.15-60.el6.x86_64
glibc-devel-2.15-60.el6.x86_64
glibc-headers-2.15-60.el6.x86_64
glibc-common-2.15-60.el6.x86_64
 
[root@localhost src]# strings /lib64/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_PRIVATE

好了,現在就不會再出現版本不夠的報錯了,當然這隻是 2.15 版。


注意,安裝後用 YUM 就不能進行升級了,其各種漏洞也不會得到修補。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.