Modificando o timezone no Debian 9 Stretch

Nunca fui grande fã do Debian. Mas ele acaba sendo um sistema operacional que vira e mexe encontramos no mercado instalado.

E com isto temos que configurar o timezone que é um problema muito grande principalmente porque muitos sistemas precisam de logs muito exatos, principalmente quando é necessário uma auditoria.

E muito sistemas sofreram mudanças ao longo dos anos. Os sistemas baseados em Red Hat por exemplo com a entrada do systemctl mudaram muitos dos seus processos que já eram fartamente conhecidos por todos nós, e, desde a entrada o Debian 9 ( Codinome “Stretch” ) no mercado a configuração do timezone mudou.

Lógico que processos mais antigos funcionam numa boa mas é interessante que sempre sigamos os processos corretos para que não tenhamos problemas no futuro.

O Método que é usado em antigos tutoriais

echo "America/Sao_Paulo" > /etc/timezone dpkg-reconfigure -f noninteractive tzdata

E ele realmente funcionava. O que ocorria é que em versões antigas do Debian pois elas usavam o /et/timezone como guia para o processo do dpkg-reconfigure.

No Streetch, infelizmente a coisa não funciona assim. Ao rodar o dpkg-reconfigure ele não usará o /etc/timezone e sim, o symlink /etc/localtime .

Portanto, ao rodar o comando no Stretch ele irá reescrever o valor antigo no /etc/timezone .

Como modificar corretamente o timezone no Debian Stretch

ln -fs /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime dpkg-reconfigure -f noninteractive tzdata

Ou seja, o primeiro comando cria um symlink para o arquivo correto de zona ( que fica por padrão em /usr/share/zoneinfo ) para o /etc/localtime .

Ao rodar o comando dpkg-reconfigure para reconfigurar o pacote tzdata corretamente para que ele fique compatível com o link criado no caminho do sistema /etc/localtime .

E, este mesmo comando, durante seu processo irá setar o /etc/timezone que é o arquivo usado pela maioria dos pacotes do sistema ao ser instalados para configurar o seu timezone .

Via illucit

comments powered by Disqus