Mudar o fuso horário no Debian mantém a Hora Local no UTC

27

Estou tentando obter programas para entrar no horário local para minha própria sanidade.

Atualizei meu fuso horário com:

 dpkg-reconfigure tzdata

Mas o resultado desse comando é:

Current default time zone: 'Australia/Adelaide'
Local time is now:      Mon May 20 03:09:52 UTC 2013.
Universal Time is now:  Mon May 20 03:09:52 UTC 2013.

Observe o UTC emLocal time

Alguma razão para que isso possa ser?

Eu pesquisei bastante no Google, mas meu problema parece diferente de todos eles :(

Aqui estão mais alguns detalhes:

# cat /etc/timezone
Australia/Adelaide

# date
Mon May 20 03:41:06 UTC 2013

# export TZ='Australia/Adelaide'; date
Mon May 20 13:16:11 CST 2013

A configuração export TZ='Australia/Adelaide';no meu /etc/profilefaz o datetrabalho por padrão em uma sessão do bash, mas não altera a data do log do sistema (após reiniciar o serviço)

Editar:

# ls -l /etc/localtime
lrwxrwxrwx 1 root root 20 May 10 14:48 /etc/localtime -> /usr/share/zoneinfo/

# ls /etc/localtime/
Adelaide    Chile    GMT        Japan      PST8PDT    Universal
Africa      Cuba     GMT+0      Kwajalein  Pacific    W-SU
America     EET      GMT-0      Libya      Poland     WET
Antarctica  EST      GMT0       MET        Portugal   Zulu
Arctic      EST5EDT  Greenwich  MST        ROC        iso3166.tab
Asia        Egypt    HST        MST7MDT    ROK        localtime
Atlantic    Eire     Hongkong   Mexico     Singapore  localtime.dpkg-new
Australia   Etc      Iceland    Mideast    SystemV    posix
Brazil      Europe   Indian     NZ         Turkey     posixrules
CET         Factory  Iran       NZ-CHAT    UCT        right
CST6CDT     GB       Israel     Navajo     US         zone.tab
Canada      GB-Eire  Jamaica    PRC        UTC

Responda:

Trabalhou-se graças a jamded. por alguma razão, eu tinha o / etc / localtime como um link simbólico ... o cara de TI aqui configurou o servidor usando o Turnkey 12, então talvez esse fosse o problema.

# mv /etc/localtime /etc/localtime.old
# cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime
# date
Thu May 23 09:36:17 CST 2013
complistic
fonte

Respostas:

22

Tente desta maneira:

$ sudo cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtime
preso
fonte
cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtimedit não muda nada para mim :( hora local ainda é UTC, eu adicionei o que ls -l /etc/localtimediz também.
2
Por que você criou o link simbólico lá? Você precisa copiar um arquivo ... Corrija-o removendo o link simbólico "rm / etc / localtime" e faça o cp como escrevi "cp / usr / share / zoneinfo / Austrália / Adelaide / etc / localtime" ;-)
o link simbólico estava lá por padrão .. talvez uma coisa chave na mão ou algo assim. mv /etc/localtime /etc/localtime.old cp /usr/share/zoneinfo/Australia/Adelaide /etc/localtimecorrigido o problema :) Obrigado!
complistic
2
Eu acho que copiar está errado. E se o arquivo zoneinfo for alterado? Se / etc / localtime for um link simbólico (está no Debian), você substituirá algum outro arquivo zoneinfo.
XTF
32

Eu acho que a melhor maneira de conseguir isso é executando:

sudo dpkg-reconfigure tzdata
Dimitrios
fonte
+1, este é definitivamente o caminho certo para fazê-lo nos sistemas debian.
precisa saber é o seguinte
2
Sim, dpkg-reconfigure tzdatafoi a primeira coisa que tentei. Não funcionou para mim porque /etc/localtimeera um link simbólico por algum motivo. Depois de corrigir isso, os dois modos alterariam o fuso horário corretamente.
complistic
sim! pessoas parecem pensar assim, mas estou usando o debian em um contêiner de encaixe .. e daí?
Super
-1

Defina a hora automaticamente usando "Network Time Protocol". Use o seguinte comando para instalar o ntp no debian.

$ sudo apt-get install ntp

Para informações detalhadas, leia a documentação https://wiki.debian.org/DateTime

ashish2py
fonte
É melhor fornecer as etapas aqui e usar o link como referência para obter mais detalhes. Dessa forma, sua resposta não perde todo o valor quando o link se torna inválido.
Anthon