Eche un vistazo a esta publicación de blog titulada:Cómo:2 métodos para cambiar la zona horaria en Linux.
Distribuciones de Red Hat
Si está utilizando una distribución como Red Hat, entonces su enfoque de copiar el archivo sería mayormente aceptable.
$ 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
Sin embargo, recomendaría vincularlo en lugar de copiarlo.
$ sudo unlink /etc/localtime
$ sudo ln -s /usr/share/zoneinfo/Etc/GMT+6 /etc/localtime
Ahora la fecha muestra la zona horaria diferente:
$ date -u
Thu Jan 23 05:40:31 UTC 2014
$ date
Wed Jan 22 23:40:38 GMT+6 2014
Distribuciones de Ubuntu/Debian
Para cambiar la zona horaria en cualquiera de estas distribuciones, puede usar este comando:
$ 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.
Ahora, cuando lo comprobemos:
$ date -u
Thu Jan 23 05:53:32 UTC 2014
$ date
Thu Jan 23 11:53:33 GMT-6 2014
$ sudo timedatectl set-timezone Etc/GMT-6
Sobre el uso de "Etc/GMT+6"
extracto de la respuesta de @MattJohnson sobre SO
Zonas como Etc/GMT+6
se invierten intencionalmente para compatibilidad con versiones anteriores de los estándares POSIX. Ver los comentarios en este archivo.
Casi nunca debería necesitar usar estas zonas. En su lugar, debería usar una zona horaria con nombre completo como America/New_York
o Europe/London
o lo que sea apropiado para su ubicación. Consulte la lista aquí.
Así es como lo hago en Ubuntu. Simplemente reemplace Asia/Tokyo
con tu propia zona horaria.
echo 'Asia/Tokyo' | sudo tee /etc/timezone
sudo dpkg-reconfigure -f noninteractive tzdata
Hay un error en tzdata
:ciertos valores se normalizan por 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'
El comando tzselect está hecho para hacer lo que quieras.