Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Configurando corretamente para o Horário de Verão
Linux user
Hiram
07/11/2004
Não há uma data fixa pré-estabelecida para o início e término do Horário de Verão no Brasil. A cada ano essa data é calculada de acordo com o pôr do sol. O problema é que nosso sistema não vai adivinhar isso. Esse artigo mostra como gerar um arquivo de zonas personalizado para seu sistema.
Por: Hiram Castelo Branco | Blog: http://www.geeksgroup.com.br
[ Hits: 18409 ]
Conceito: 10.0   4 voto(s)4 voto(s)4 voto(s)4 voto(s)4 voto(s) + quero dar nota ao artigo

Introdução

Não há uma data fixa pré-estabelecida para o início e término do Horário de Verão no Brasil. A cada ano essa data é calculada de acordo com o pôr do sol. Em 2004 o horário de verão vai começou oficialmente no dia 02 de Novembro e terminará no dia 20 de Fevereiro de 2005.

O problema é que nosso sistema não vai adivinhar isso e provavelmente utilizar a data do ano passado (19 de Outubro a 15 de Fevereiro), portanto da data em que foi escrito esse artigo, muitos sistemas já deverão estar com a data errada.

Felizmente é fácil se definir isso no Linux. ;)

O comando a ser utilizado é o 'zic' - ZoneInfo Compiler. Ele vai gerar, a partir de um arquivo de dados, o arquivo binário que o Linux utiliza para saber as datas exatas. Esse arquivo se localiza normalmente em:

/usr/share/zoneinfo/America/Sao_Paulo

Agora nesse diretório, confira se existe um arquivo com mesmo nome, com extensão .zic (Sao_Paulo.zic). Caso exista, basta editá-lo conforme as informações abaixo. Se não existir, tudo bem, basta criar o arquivo em um lugar qualquer como /tmp com seu editor de texto favorito, e adicionar as seguintes linhas:

Rule    BrazilSP  2004    only    -       Nov     02      0:00    1:00    S
Rule    BrazilSP  2005    only    -       Feb     20      0:00    0       -

# Zone  NAME                    GMTOFF  RULES/SAVE      FORMAT  [UNTIL]
Zone    America/Sao_Paulo       -3:00   BrazilSP        BR%sT

Salve o arquivo como Sao_Paulo.zic e execute o seguinte comando como root:

# zic Sao_Paulo.zic

Feito isso, o arquivo: /usr/share/zoneinfo/America/Sao_Paulo vai ser atualizado com as novas definições de data.

Como último passo, o Linux utiliza o arquivo /etc/localtime para saber qual zona utilizar. Se seu arquivo /etc/localtime for um link simbólico(*1) para /usr/share/zoneinfo/America/Sao_Paulo já está tudo certo.

Caso não seja um link, basta copiar o que você acabou de alterar no lugar do atual. Como root:

# cp /etc/localtime /etc/localtime.backup
# cp /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime


E estará pronto! Basta conferir utilizando o comando date:

$ date
Sun Nov 7 23:06:52 BRT 2004

Note a zona "BRT" em vez de "BRST" (*2)

Artigo escrito por: Wagner Amaral em 21/10/2004 - 12:41

Considerações finais

  1. Se sua partição /usr não for a mesma do root "/", o arquivo /etc/localtime não deverá ser um link, visto que /usr será montada depois do kernel estar rodando, então o arquivo não será encontrado. Se seu /usr for montado, simplesmente copie o arquivo para /etc/localtime e estará resolvido.

  2. Para os curiosos:
    BRT == BRazilian Time (horário normal)
    BRST == BRazilian Saving Time (saving == econômico == horário de verão)




Páginas do artigo
   1. Introdução

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por fabio em 07/11/2004 - 19:44h:

Aqui em casa criei um arquivo personalizado, o Gondor.zic. Me disseram que Gondor fica por aqui numa dimensão paralela. Segue o seu conteúdo:

---------------
Rule BrazilGN 2004 only - Nov 02 0:00 1:00 S
Rule BrazilGN 2005 only - Feb 20 0:00 0 -

#Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone America/Gondor -3:00 BrazilGN BR%sT
---------------

Depois é rodar o:

# zic Gondor.zic

E boa! Para usuários de Debian mudar o timezone é simples, rode o comando:

# tzconfig

[]'s,
Fábio

[2] Comentário enviado por rbn_jesus em 08/11/2004 - 06:54h:

sua dica é muito boa!!!!
obrigado.

[3] Comentário enviado por fernandofat em 09/11/2004 - 04:29h:

A nível de cultura....
Para configurar o início e o fim do horário de verão no Windows utilize um programa chamado "tzedit.exe", ele é fornecido com o Resource Kit do Windows.

[4] Comentário enviado por srf em 09/11/2004 - 05:02h:

Muito bom, eu estava precisando desta solução.... Parabens!

[5] Comentário enviado por vodooo em 28/02/2005 - 08:43h:

Hehehe!!! Nada a ver mas eu odeio este horário de verão!!!

Abraços

[6] Comentário enviado por renato_pacheco em 14/10/2011 - 10:37h:

Boa! Tive q modificar isso em um sistema Slack antigo (q tava pegando o horário d verão errado). Bastou criar um arquivo com o zic q tudo voltou ao normal.

Obrigado por colaborar!

[7] Comentário enviado por n4t4n em 18/10/2011 - 21:31h:

Mandou bem! Valeu! 10


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.