Dreamhost semble penser que nous aimons le PDT, même si nous sommes dans le Midwest. Comment changer le fuseau horaire?
Un outil que j'ai trouvé plus facile à utiliser est dpkg-reconfigure
. Utilisation:
Sudo dpkg-reconfigure tzdata
Vous aurez une multitude de choix, y compris des choix qui ne sont pas inclus dans tzselect
.
C'est probablement un peu tard pour le PO et davantage destiné aux autres chercheurs qui arrivent ici.
Si vous avez besoin d’une solution non interactive, essayez cette solution en modifiant le fuseau horaire avec dpkg-reconfigure tzdata et debconf-set-selections .
echo "Europe/Zurich" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
Vous pouvez déterminer votre fuseau horaire en fouillant dans/usr/share/zoneinfo. En fait, la commande dpkg-reconfigure ci-dessus copie le fichier approprié dans/etc/localtime. J'avais l'habitude de le faire manuellement, et cela semble bien fonctionner.
Ne soyez pas trop surpris si des processus longs ne captent pas le changement. par exemple, les horodatages des journaux Apache me viennent à l’esprit. Déterminez si cela compte et, par conséquent, si vous devez redémarrer les processus en cours ou même redémarrer.
Pour le modifier de manière non interactive sur les versions récentes de Debian et Ubuntu (Stretch/Xenial, etc.), vous devez également supprimer /etc/localtime
, sinon /etc/timezone
sera écrasé.
echo 'Europe/Zurich' > /etc/timezone
rm /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
Cette réponse est basée sur la réponse de mc0e. Je ne peux pas ajouter de commentaire à ma réputation.
Mettre à jour:
La réponse canonique (pour laquelle Ynhockey mérite un crédit) semble être:
dpkg-reconfigure tzdata
Ma réponse originale est ci-dessous. J'aurais simplement supprimé cette réponse entièrement mais superuser.com ne permet pas de supprimer les réponses acceptées.
http://www.debian-administration.org/articles/213 dit
le moyen le plus simple de modifier votre fuseau horaire consiste à utiliser la commande
/usr/bin/tzselect
.
...
Une fois que vous avez défini votre fuseau horaire, vous pouvez modifier le paramètre UTC. Sur les machines Debian, vous pouvez le trouver dans le fichier/etc/default/rcS
. Bien que changer cela nécessitera un redémarrage.
TL; DR
echo "TZ=Etc/UTC" >> /etc/environment
tzconfig
où Etc/UTC
est votre fuseau horaire préféré que vous avez trouvé avec tzselect
.
Version plus longue
Quand vous utilisez
dpkg-reconfigure tzdata
les informations de fuseau horaire ne sont pas conservées après le redémarrage. Vous pouvez vérifier vos paramètres avec
diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Si vous ne mettez que /etc/timezone
à jour, la mise à jour ne sera pas cohérente avec /etc/localtime
, donc il est préférable d'exécuter
tzconfig
Utilisez tzselect
pour savoir quels fuseaux horaires existent réellement (ou parcourez simplement le répertoire /usr/share/zoneinfo
).
Dans les systèmes POSIX, la TZ
doit prévaloir avant le /etc/localtime
:
export TZ='Europe/Berlin'
$ date
Tue Apr 10 08:51:03 CEST 2018
export TZ='Pacific/Efate'
$ date
Tue Apr 10 18:28:33 +11 2018
Utiliser directement TZ
peut vous faire économiser de nombreux appels système car les fonctions liées à la date/heure fréquemment utilisées doivent accéder au système de fichiers chaque fois qu'un programme vous demande la date du jour. C'est une micro-optimisation, mais assez simple.