一、注意事项
备份好数据,防止系统崩溃,强烈建议不要轻易升级glibc,升级之前做好环境一致性的充分测试!!
二、Glibc官网下载
安装GLIBC所需的依赖可以在 glibc 目录下的INSTALL文件中找到
http://ftp.gnu.org/gnu/glibc/
三、查看glibc版本
[root@Mini-Linux glibc-2.22]# ldd --version
ldd (GNU libc) 2.17
四、系统语言配置,最好是英文设置
echo 'export LC_ALL=C' >> /etc/profile
echo 'export LANG=C' >> /etc/profile
source /etc/profile
[root@Mini-Linux src]# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
五、下载源码并安装
tar xvf glibc-2.22.tar.gz
cd glibc-2.22
mkdir build
cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j8
make install
六、此处会报一些错误:
gawk: error while loading shared libraries: /lib64/libm.so.6: invalid ELF header
错误解决办法:
cd /lib64
unlink libm.so.6
ln -sv libm-2.22.so libm.so.6
unlink libc.so.6
export LD_PRELOAD="/lib64/libc-2.17.so"
ln -s libc-2.22.so libc.so.6
unlink ld-linux-x86-64.so.2
sln ld-2.22.so ld-linux-x86-64.so.2
export LD_PRELOAD="/lib64/libc-2.22.so"
七、重新编译安装
make -j8
make install
##安装过程中如果报“安装脚本检测未正确安装glibc”,删除glibc-2.22目录并重新预编译、编译、安装步骤,最后查看glibc版本
[root@Mini-Linux build]# ldd --version
ldd (GNU libc) 2.22