赞
踩
(慎重、慎重、慎重,一定记清每一步做了什么以便回退,否则会欲哭无泪)
CentOS 6自带glibc-2.12,升级到glibc-2.14过程
查看系统现有支持的glibc的版本:
# 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_PRIVATE
# ls -l /lib64|grep libc.so lrwxrwxrwx 1 root root 12 Jan 24 17:26 libc.so.6 -> libc-2.12.so
# 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
# ../configure --prefix=/opt/glibc-2.14 # make -j8
(注:-j 指定编译的并行数,指在由多CPU并行编译,如果编译出现问题可以去掉这个编译参数)
# make localedata/install-locales
上边这一条必须也要执行,否则时区等设置可能会有问题
# make install
此时会提示:
/u01/glibc-2.14/build/elf/ldconfig: Can't open configuration file /opt/glibc-2.14/etc/ld.so.conf: No such file or directory
执行以后命令后重新make install
#cp -r /etc/ld.so.conf /opt/glibc-2.14/etc/
# make install
# export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
# mv /lib64/libc.so.6 /lib64/libc.so.6_2.12_bak //谨慎操作后不要乱动
# cp /opt/glibc-2.14/lib/libc-2.14.so /lib64/ # cd /lib64 # ln -snf libc-2.14.so libc.so.6
# strings /lib64/libc.so.6 |grep GLIBC_
# export LD_LIBRARY_PATH=
(注:一定要执行上面一句,否则后面执行yum或执行wget会出现“段错误 (core dumped)”,就这么一句弄得我差点重装系统)
glibc升级后因为2.14的时间配置与之前版本不一致,导致路径异常,时区改变,只需要按照以下操作即可恢复。
- cd /opt/glibc-2.14/etc/
-
- rm localtime
-
- ln -s /opt/glibc-2.14/share/zoneinfo/Asia/Shanghai localtime
yum -y install ntp
ntpdate 1.cn.pool.ntp.org # 根据网络时间校正
tzselect # 选择时区:5Asia->9 China->1->Beijing Time ->1 yes
echo 'TZ='Asia/Shanghai'; export TZ' > ~/.profile # 时区信息写入配置文件
hwclock -w # 软件时间同步至硬件时间
date # 查看当前时间
# /path/to/glibc-2.14/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
否则一旦make install报错,后果可能很严重,详见:https://www.cnblogs.com/barneywill/p/10315603.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。