検索

ホームページ  >  に質問  >  本文

centos6 时区设置无效

一台测试服务器,之前设置为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,百度都翻了个底,还是找不到解决办法,只能来这里求助了。

滿天的星座滿天的星座2769日前1090

全員に返信(1)返信します

  • PHPz

    PHPz2017-04-26 09:03:59

    わかりました、自分で解決しました。

    その理由は、libc.so.6 のアップグレードが原因です!libc.so.6导致的!

    GNU中对TZ环境变量的说明中指出,如果TZ没有值,会默认选择时区,具体地址由libc.so.6这个库决定。在升级前,centos的默认时区文件为/etc/localtime。而我新编译的库时,设置了--prefix=/usr/local/glibc-2.14,导致默认路径为变成了/usr/local/glibc-2.14/etc/localtime

    GNU の TZ 環境変数の説明では、TZ に値がない場合、デフォルトでタイムゾーンが選択され、特定のアドレスは libc.so によって決定されることが指摘されています。 6 図書館。アップグレード前、centos のデフォルトのタイムゾーン ファイルは /etc/localtime でした。新しくコンパイルしたライブラリをコンパイルするときに、--prefix=/usr/local/glibc-2.14 を設定したため、デフォルトのパスは /usr/local/glibc-2.14/etc になりました。 /localtime を実行すると、当然デフォルトのタイムゾーンが見つかりません。

    解決策:

    リーリー

    完了!#🎜🎜#

    返事
    0
  • キャンセル返事