Jetez un œil à cet article de blog intitulé :Comment :2 méthodes pour modifier le fuseau horaire sous Linux.
Distributions Red Hat
Si vous utilisez une distribution telle que Red Hat, votre approche consistant à copier le fichier serait généralement acceptable.
REMARQUE : Si vous recherchez une solution indépendante de la distribution, cela fonctionne également sur Debian, bien qu'il existe des approches plus simples ci-dessous si vous ne devez vous préoccuper que des machines Debian.
$ ls /usr/share/zoneinfo/
Africa/ CET Etc/ Hongkong Kwajalein Pacific/ ROK zone.tab
America/ Chile/ Europe/ HST Libya Poland Singapore Zulu
Antarctica/ CST6CDT GB Iceland MET Portugal Turkey
Arctic/ Cuba GB-Eire Indian/ Mexico/ posix/ UCT
Asia/ EET GMT Iran MST posixrules Universal
Atlantic/ Egypt GMT0 iso3166.tab MST7MDT PRC US/
Australia/ Eire GMT-0 Israel Navajo PST8PDT UTC
Brazil/ EST GMT+0 Jamaica NZ right/ WET
Canada/ EST5EDT Greenwich Japan NZ-CHAT ROC W-SU
Cependant, je recommanderais de créer un lien vers celui-ci plutôt que de le copier.
$ sudo unlink /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/Etc/GMT+6 /etc/localtime
Maintenant, la date affiche le fuseau horaire différent :
$ date -u
Thu Jan 23 05:40:31 UTC 2014
$ date
Wed Jan 22 23:40:38 GMT+6 2014
Distros Ubuntu/Debian
Pour changer le fuseau horaire sur l'une de ces distributions, vous pouvez utiliser cette commande :
$ sudo dpkg-reconfigure tzdata
$ sudo dpkg-reconfigure tzdata
Current default time zone: 'Etc/GMT-6'
Local time is now: Thu Jan 23 11:52:16 GMT-6 2014.
Universal Time is now: Thu Jan 23 05:52:16 UTC 2014.
Maintenant, quand nous vérifions :
$ date -u
Thu Jan 23 05:53:32 UTC 2014
$ date
Thu Jan 23 11:53:33 GMT-6 2014
REMARQUE : Il y a aussi cette option dans Ubuntu 14.04 et supérieur avec une seule commande (source :Ask Ubuntu - setting timezone from terminal) :
$ sudo timedatectl set-timezone Etc/GMT-6
Sur l'utilisation de "Etc/GMT+6"
extrait de la réponse de @MattJohnson sur SO
Zones comme
Etc/GMT+6
sont intentionnellement inversés pour une compatibilité descendante avec les normes POSIX. Voir les commentaires dans ce fichier.Vous ne devriez presque jamais avoir besoin d'utiliser ces zones. Au lieu de cela, vous devriez utiliser un fuseau horaire entièrement nommé comme
America/New_York
ouEurope/London
ou tout ce qui est approprié pour votre emplacement. Consultez la liste ici.
C'est comme ça que je le fais dans Ubuntu. Remplacez simplement Asia/Tokyo
avec votre propre fuseau horaire.
echo 'Asia/Tokyo' | sudo tee /etc/timezone
sudo dpkg-reconfigure -f noninteractive tzdata
Il y a un bogue dans tzdata
:certaines valeurs sont normalisées par dpkg-reconfigure
:
echo 'US/Central' >/etc/timezone
dpkg-reconfigure -f noninteractive tzdata
# Current default time zone: 'America/Chicago'
echo 'US/Eastern' >/etc/timezone
apt-get install --reinstall tzdata
# Current default time zone: 'America/New_York'
La commande tzselect est faite pour faire ce que vous voulez.