glibc是gnu發佈的libc庫,即c運行庫,glibc是linux系統中最底層的api,幾乎其它任何運行庫都會依賴於glibc。glibc除了封裝linux操作系統所提供的系統服務外,它本身也提供了許多其它一些必要功能服務的實現。很多linux的基本命令,比如ls,mv,cp, rm, ll,l ...
glibc是gnu發佈的libc庫,即c運行庫,glibc是linux系統中最底層的api,幾乎其它任何運行庫都會依賴於glibc。glibc除了封裝linux操作系統所提供的系統服務外,它本身也提供了許多其它一些必要功能服務的實現。很多linux的基本命令,比如ls,mv,cp, rm, ll,ln等,都得依賴於它,如果操作錯誤或者升級失敗會導致系統命令不能使用,嚴重的造成系統退出後無法重新進入,所以操作時候需要慎重,升級之前保存好重要資料。
寫這篇筆記的目的其實是我在centos 下想要安裝chrome 瀏覽器時,有報錯說glibc (2.14-2.16) 是安裝chrome的依賴,所以才打算把自己的測試機升級下glibc動態庫。下麵開始正文:
1、首先,查看系統版本和Glibc版本
執行命令查看glibc版本
1 strings /lib64/libc.so.6 | grep GLIBC_
結果如下:
由上面的信息可以看出系統是CentOS 6.9,而centos、redhat 系統為了穩定性,glibc的版本還用的是2.12,而現在都已經2.30版本了,為了保險起見,我決定把它升級到2.17版本。
2、下載軟體並升級
1 wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 2 tar -xvf glibc-2.17.tar.gz 3 mkdir glibc-2.17/build 4 cd glibc-2.17/build 5 ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin 6 make –j4 7 make install
說明:
1、make 後面的-j4 是針對多核cpu提高編譯速度的,數字4是cpu 核心的兩倍(最大可設置為cpu核心的兩倍)
2、--prefix 後面的路徑一定要是/usr, 如果換成其他的都可能會導致失敗。
安裝完成後,最後輸出
紅框內這句話基本可以確定是升級成功了!!!O(∩_∩)O哈哈~
3、測試
執行
ldd --version
或者執行
strings /lib64/libc.so.6 | grep GLIBC_
至此,glibc 的版本升級就算是大功告成,期待這篇我經過數次(大概重新編譯安裝了5次,還包括一次系統大部分命令都無法使用,重啟系統後都無法進入,不過還要我用的是虛擬機測試)實驗測試才驗證過的筆記能夠幫到大家,後面我還會分享一個glibc升級時libc.so.6 文件誤刪或者丟失導致大部分命令失效的解決辦法,敬請期待!