Uma ferramenta que achei mais fácil de usar é a dpkg-reconfigure
. Use:
sudo dpkg-reconfigure tzdata
Você receberá várias opções, incluindo algumas que não estão incluídas em tzselect
.
Dreamhost parece pensar que gostamos do PDT, apesar de estar no meio-oeste. Como faço para mudar o fuso horário?
Isso é presumivelmente um pouco atrasado para o OP e mais destinado a outros pesquisadores que chegam aqui.
Se você precisar de uma solução não interativa, tente esta solução em mudando o fuso horário com o dbkg-reconfigure tzdata e o debconf-set-selections
echo "Europe/Zurich" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
Você pode descobrir seu fuso horário pesquisando em / usr / share / zoneinfo. Na verdade, o comando dpkg-reconfigure acima copia o arquivo apropriado de lá para / etc / localtime. Eu costumava fazer isso manualmente, e parece funcionar bem.
Não fique surpreso se processos de longa duração não atenderem à mudança. Por exemplo, os timestamps de log do Apache vêm à mente. Considere se isso é importante e, portanto, se você precisa reiniciar os processos em execução ou mesmo reinicializar.
Atualização:
A resposta canônica (para a qual o Ynhockey merece crédito) parece ser:
dpkg-reconfigure tzdata
Minha resposta original está abaixo. Eu simplesmente teria deletado essa resposta completamente, mas o superuser.com não permite que as respostas aceitas sejam apagadas.
link diz
the simple way to edit your timezone is to use the
/usr/bin/tzselect
command.
...
Once you've set your timezone you might wish to change the UTC setting, upon Debian machines you can find that in the file/etc/default/rcS
. Although changing this will require a reboot.
Para editá-lo de forma não interativa em versões recentes do Debian e do Ubuntu (Stretch / Xenial etc.), você também precisa remover /etc/localtime
, caso contrário, /etc/timezone
será sobrescrito.
echo 'Europe/Zurich' > /etc/timezone
rm /etc/localtime
dpkg-reconfigure -f noninteractive tzdata
Esta resposta é baseada na resposta do mc0e '. Eu não posso adicionar um comentário com a minha reputação.
TL; DR
echo "TZ=Etc/UTC" >> /etc/environment
tzconfig
onde Etc/UTC
é o seu fuso horário preferido que você encontrou usando tzselect
.
Versão mais longa
Quando você está usando
dpkg-reconfigure tzdata
as informações de fuso horário não são mantidas após a reinicialização. Você pode verificar suas configurações com
diff -s /etc/localtime /usr/share/zoneinfo/'cat /etc/timezone'
Se você está apenas atualizando /etc/timezone
, a atualização não será consistente com /etc/localtime
, portanto é melhor executar a>
tzconfig
Use tzselect
para descobrir quais fusos horários realmente existem (ou simplesmente navegue pelo diretório /usr/share/zoneinfo
).
Nos sistemas POSIX, o TZ
deve ter precedência antes de /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
Usar diretamente TZ
pode você economiza muitas chamadas de sistema , já que as funções relacionadas a data / hora freqüentemente usadas precisam acessar o sistema de arquivos toda vez que algum programa solicita a data atual. É uma micro otimização, mas bastante simples.
Tags linux debian-squeeze time-zone