Embora o horário de verão já tenha começado a algum tempo, ainda há
muita gente com dúvidas sobre como ajustar seu computador para o
horário de verão.
Quando este ajuste não é feito, geralmente há inconsistência de datas
nos cabeçalhos de emails e distorções mais sérias em bancos de dados.
Em distribuições Debian versão etch em diante e derivadas, se o micro
estiver configurado para ser atualizado automaticamente, esta
configuração do horário de verão também é feita automaticamente. No
entanto, notei que no "Linux educacional" isto não ocorre de forma
automática.
Para contribuir passo a seguir o procedimento que usei nos servidores
da
Unerj e no meu desktop.
Em princípio este procedimento independe da distribuição Linux (aqui
na
Unerj foi usado em sistemas RedHat 7.1(antigão mesmo, de 2001), RedHat
Enterprise Server 4, Conectiva 7, Ubuntu 7.04 e Fedora 6. E no meu
desktop foi aplicado no Ubuntu 7.10 e "Linux educacional 1.0".
O Linux segue o que o Unix já faz desde tempos imemoriais nessa
questão de fusos horários, possibilitando, por exemplo, distinguir
qual é o mais novo entre dois arquivos, mesmo que a diferença de
criação entre eles seja de menos de um segundo e um deles tenha sido
produzido por exemplo no Japão e o outro no Brasil.
Não se altera a hora do relógio de hardware, mas sim apenas o fuso
horário.
Os comandos abaixo devem ser executados com direitos de root ou com
sudo.
1) Criar um arquivo com as datas e as configurações de fuso para o
horário
de verão
--> Comando: vi /etc/horario_verao_2007_2008.zic
2) Colocar o seguinte conteúdo no arquivo "/etc/
horario_verao_2007_2008.zic"
########### inicio conteúdo do arquivo ###########
Rule Brazil 2007 only - Oct 14 00:00 1 D
Rule Brazil 2008 only - Feb 17 00:00 0 -
Zone Brazil/East -3:00 Brazil BR%sT
###########fim conteúdo do arquivo ###########
As duas primeiras linhas dizem quando se inicia o horário de verão,
quando termina, e qual a ação a ser tomada.
A última linha diz qual o arquivo que será gerado pelo comando zic, no
exemplo será o arquivo 'East' (dentro do diretório Brazil). Esta linha
também informa o timezone da região, no caso de São Paulo é -3.
Os fusos horários brasileiros podem ser obtidos no site do
observatório nacional:
http://www.on.br/conteudo/modelo.php?endereco=dsho/servicos/fusos/fus...
OU:
http://www.timeanddate.com/news/time/brazil-dst-2007-2008.html
http://www.timeanddate.com/library/abbreviations/timezones/
http://worldtimezone.com/
http://worldtimezone.com/time-brazil24.php
http://en.wikipedia.org/wiki/List_of_zoneinfo_timezones
Referencia importante: http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/TimePre...
3 - Compilar o arquivo com comando - zic <nome do arquivo> que
atualiza
/usr/share/zoneinfo/Brazil/East
--> Comando: zic /etc/horario_verao_2007_2008.zic
4 - Copiar o /usr/share/zoneinfo/Brazil/East para o /etc/localtime
--> comando: cp /usr/share/zoneinfo/Brazil/East /etc/localtime
5 - Conferindo...
Pode-se conferir com o comando date. Deve aparecer algo como:
Ter Out 16 20:50:10 BRDT 2007
(BRDT indica horário de verão)- BRazil Daylightsaving Time"
(BRST indica horário Standart - BRazil Standart Time)"
Nota: aqui há certa polêmica. Diz-se também que:
BRT = horário padrão
BRST = horário de verão
Parece que isso tem a ver com a versão da biblioteca C utilizada
no sistema. Mas no Debian a primeira regra é a válida.
Mais detalhes, ver: http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/TimePre...
Outra forma de conferir é digitando a linha de comando abaixo em um
terminal (como root):
-> comando: zdump -v Brazil/East | grep 200[78]
Você deverá ver algo como abaixo (confira as datas de início e fim do
horário de verão):
Brazil/East Sun Oct 14 02:59:59 2007 UTC = Sat Oct 13 23:59:59 2007
BRT isdst=0 gmtoff=-10800
Brazil/East Sun Oct 14 03:00:00 2007 UTC = Sun Oct 14 01:00:00 2007
BRDT isdst=1 gmtoff=-7200
Brazil/East Sun Feb 17 01:59:59 2008 UTC = Sat Feb 16 23:59:59 2008
BRDT isdst=1 gmtoff=-7200
Brazil/East Sun Feb 17 02:00:00 2008 UTC = Sat Feb 16 23:00:00 2008
BRT isdst=0 gmtoff=-10800
Caso você não queira digitar estes comandos, baixe o script de
http://groups.google.com.br/group/linux-educacional/files
(arquivo: ajuste-horario-verao.sh), torne-o executável e execute-o
como root.