Todo ano nesta época surgem estas dicas, mas para quem ainda não conhece, não deixa de ser interessante.
O
Linux usa o arquivo
/etc/localtime para definir o fuso horário do micro. Em geral, o diretório
/usr/share/zoneinfo tem um conjunto de arquivos que define o fuso horário de cada região do globo. Na maioria das distribuições, em algum momento o instalador da distro pergunta qual a região do usuário e conforme a resposta, um dos arquivos que estão em /usr/share/zoneinfo é copiado para /etc/localtime.
A estratégia aqui é criarmos um destes arquivos que seja esperto para saber quando começa e quando termina o horário de verão. Abra o seu editor preferido e crie um arquivo que vamos chamar de East-Verao.zic, neste arquivo coloque o seguinte conteúdo:
Rule BrazilVerao 2008 only - Oct 19 0:00 1 S
Rule BrazilVerao 2009 only - Feb 15 0:00 0 D
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone Brazil/East_Verao -3:00 BrazilVerao BRT
Salve o arquivo.
Agora como root execute o seguinte comando:
# zic East-Verao.zic
Se não houver erros de compilação, foi criado o arquivo /usr/share/zoneinfo/Brazil/East_Verao. Este será o nosso arquivo localtime preparado para o horário de verão de 2008/2009. Em boa parte das distros, basta copiar este arquivo sobrescrevendo /etc/localtime que o micro está pronto para o horário de verão.
Aconselho a copiarem o arquivo e dar um comando "date" para ver se está tudo certo, uma falha neste arquivo gera um kernel panic no boot. Se o comando date voltar erro no lugar da data, revisem o arquivo, alguma coisa está errada.
No
ArchLinux o arquivo localtime é copiado a cada boot, a partir da variável TIMEZONE do arquivo
rc.conf, então precisamos ajustar esta variável para:
LOCALTIME=Brazil/East_Verao
Uma breve explicação sobre o arquivo East-Verao.zic, ele começa definindo as regras BrazilVerao, sendo que a regra da primeira linha inicia-se em 2008, em 19 de outubro às 0 horas e será adiantada em uma hora, na segunda linha, dizemos que não haverá deslocamento de horário depois de 15 de fevereiro de 2009. Na última linha definimos a zona (Zone), o arquivo será gerado em /usr/share/zoneinfo/Brazil/East_Verao, o fuso é de 3 horas (fuso do Brasil na costa leste) e usará as regras BrasilVerao.
Mais explicações sobre este arquivo:
Linux Certif - Man zic(8)