用了tzselect重新选择,无效。
重置/etc/localtime,无效
rm -f /etc/localtime
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
/etc/sysconfig/clock设置也无效
ZONE=“Asia/Shanghai”
TZ=“Asia/Shanghai”
UTC=false
ARC=false
原因就是升级libc.so.6导致的!
GNU中对TZ环境变量的说明中指出,如果TZ没有值,会默认选择时区,具体地址由libc.so.6这个库决定。在升级前,centos的默认时区文件为/etc/localtime。而我新编译的库时,设置了–prefix=/opt/glibc-2.17,导致默认路径为变成了/opt/glibc-2.17/etc/localtime,自然就找不到默认时区了。
解决方案:
find / -name “libc.so.6” # 查找glibc编译安装的路径,我的环境路径是:/opt/glibc-2.17/lib/libc.so.6
ln -sf /usr/share/zoneinfo/Asia/Shanghai /opt/glibc-2.17/etc/localtime