一台测试服务器,之前设置为Asia/Shanghai
,但是前两天突然时区失效了。
失效之前曾经升级过libc-2.12.so -> libc-2.14.so
,不知道有没有关系。
# date
Fri Feb 10 07:01:22 Local time zone must be set--see zic manual page 2017
# date -R
Fri, 10 Feb 2017 07:14:10 +0000
用了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
最后在.bash_profile
里面设置TZ='America/Nassau'; export TZ
,却只对当前用户有效,对其他用户还是无效的。
# sudo -u www-data date
Fri Feb 10 06:52:02 Local time zone must be set--see zic manual page 2017
系统版本如下:
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.4 (Final)
Release: 6.4
Codename: Final
google,百度都翻了个底,还是找不到解决办法,只能来这里求助了。
Baiklah, saya menyelesaikannya sendiri.
Puncanya disebabkan oleh peningkatan
libc.so.6
!Penerangan pembolehubah persekitaran TZ dalam GNU menunjukkan bahawa jika
TZ
tiada nilai, zon waktu akan dipilih secara lalai dan alamat khusus ditentukan oleh perpustakaan libc.so.6. Sebelum naik taraf, fail zon waktu lalai untuk centos ialah/etc/localtime
. Apabila saya menyusun pustaka yang baru disusun, saya menetapkan--prefix=/usr/local/glibc-2.14
, yang menyebabkan laluan lalai menjadi/usr/local/glibc-2.14/etc/localtime
Sememangnya, zon waktu lalai tidak dapat ditemui.Penyelesaian:
selesai!