昨天有個日本服務器的客戶需要安裝glibc-2.14,但是系統(tǒng)只支持到glibc-2.12,所以下面是幫忙編譯的過程
1、查看系統(tǒng)版本, 升級系統(tǒng)基本lib庫
[root@test ~]# cat /etc/redhat-release CentOS release 6.5 (Final)
2、查看系統(tǒng)glibc支持的版本
[root@test 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 ##可以看到最高的版本是GLIBC_2.12,沒有GLIBC_2.14。我們在此解決一下
3、下載glibc
[root@test src]# cd /usr/local/lib [root@test lib]# wget -c http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz [root@test lib]# tar -zxf glibc-2.14.tar.gz [root@test lib]# cd glibc-2.14
4、 在glibc源碼目錄建立構建目錄,并make 安裝
[root@test glibc-2.14]#mkdir build && cd build [root@test build]# ../configure --prefix=/opt/glibc-2.14 [root@test build]#make j4
[root@test build]#make j4 localedata/install-locales //如果不執(zhí)行這一步,直接就導致了后面locale的設置問題
[root@test build]#make j4 install
5、配置
在替換配置前,查看一下現(xiàn)在libc.so.6文件鏈接情況
[root@test glibc-2.14]ls -l /lib64/libc.so.6
lrwxrwxrwx. 1 root root 12 Jul 6 2016 /lib64/libc.so.6 -> libc-2.12.so
[root@test glibc-2.14]cp /etc/ld.so.c* /opt/glibc-2.14/etc/ [root@test glibc-2.14]ln -sf /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
注意
千萬不要直接刪除libc.so.6,刪除
之后可能導致系統(tǒng)命令不可用的情況, 可使用如下方法解決:
如果上述更新失敗可使用如下命令還原:
6、查看版本庫支持
[root@test build]# 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_PRIVATE ##已經(jīng)支持 GLIBC_2.14