Maison  >  Questions et réponses  >  le corps du texte

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,百度都翻了个底,还是找不到解决办法,只能来这里求助了。

滿天的星座滿天的星座2733 Il y a quelques jours1057

répondre à tous(1)je répondrai

  • PHPz

    PHPz2017-04-26 09:03:59

    D'accord, je l'ai résolu moi-même.

    La raison est due à la mise à niveaulibc.so.6 !

    La description de la variable d'environnement TZ dans GNU souligne que si TZ n'a aucune valeur, le fuseau horaire sera sélectionné par défaut et l'adresse spécifique est déterminée par la bibliothèque libc.so.6. Avant la mise à niveau, le fichier de fuseau horaire par défaut pour centos était /etc/localtime. Lorsque j'ai compilé la bibliothèque nouvellement compilée, j'ai défini --prefix=/usr/local/glibc-2.14, ce qui a fait que le chemin par défaut est devenu /usr/local/glibc-2.14/etc/localtime. Naturellement, le fuseau horaire par défaut n'a pas pu être trouvé.

    Solution :

    ln -sf /etc/localtime /usr/local/glibc-2.14/etc/localtime

    fait !

    répondre
    0
  • Annulerrépondre