本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme
背景
测试环境有一台CentOS 6系统,需要搭建安卓编译环境,但是发现安卓SDK要求glibc最低版本为2.14
,CentOS 6默认是2.12
的版本,记录下glibc升级过程。升级前请将服务器备份,生产环境不建议操作。
编译glibc 2.14
查看glibc系统版本库,可以使用命令:
strings /lib64/libc.so.6 |grep GLIBC_
接下来下载glibc 2.14并升级:
#下载源码包
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
#解压
tar -xvf glibc-2.14.tar.gz
#进入源码目录
cd glibc-2.14
#创建编译目录并进入
mkdir build && cd build
#编译glibc
../configure --prefix=/usr/local/glibc-2.14
make && make install
修改软连接
#先删除原来的软连接
rm -rf /lib64/libc.so.6
#建立新的软连接
ln -s /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
#如果系统命令不可用,执行:
LD_PRELOAD=/usr/local/glibc-2.14/lib/libc-2.14.so ln -s /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6
#如果更新失败,执行还原:
LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6
#解决升级后中文显示乱码的问题
cp /usr/lib/locale/locale-archive /usr/local/glibc-2.14/lib/locale/locale-archive
#解决时区不正确的问题
ln -sf /etc/localtime /usr/local/glibc-2.14/etc/localtime
最后
glibc是系统底层的依赖库,升级前请做好相关备份操作,升级有风险,升级出错请自行承担责任。此文部分内容参考了: