Os arquivos que ditam o horário que será obedecido pelo S.O., no
caso do Brasil, estão em /usr/share/zoneinfo/Brazil.
Dependendo da região em que se está (Sudeste, Centro-Oeste, Norte,
Nordeste), o fuso-horário varia em relação ao relógio da BIOS!
Para confirmar isso, digite o seguinte comando:
$ date
Esse comando mostra a hora armazenada pelo sistema operacional com
base nos arquivos zic lá do /usr/share/zoneinfo/Brazil.
Agora, digite o comando abaixo:
$ date -u
Esse comando mostra a hora da BIOS. Note que há diferença entre a
hora da BIOS e a hora do sistema operacional!
Para fazermos com que o horário de verão seja automaticamente
atualizado em seu início e encerramento, vamos criar um novo
arquivo dentro de /usr/share/zoneinfo/Brazil:
# vi /usr/share/zoneinfo/Brazil/horario-verao.zic
Dentro desse arquivo, coloque as seguintes linhas, separando os
blocos com a tecla TAB (->):
Rule -> Brazil -> 2004 -> only -> Oct -> 31 -> 00:00 -> 1 -> D
Rule -> Brazil -> 2005 -> only -> Feb -> 15 -> 00:00 -> 0 -> S
zone -> Brazil/East -> -3:00 -> Brazil -> E%sT
Os dias de começo e término do horário de verão podem variar, assim como o arquivo zic, dependendo da região em que você se encontra. No meu caso, como estou no estado de SP, estou usando no exemplo o "East" (-3:00).
Para testar, adiante a data do seu relógio do sistema:
# date -s "10/31/2004 01:00"
Feito isso, repita do comandos já mencionados acima:
$ date
$ date -u
Repare que durante o horário de verão, a diferença entre o relógio do sistema operacional e da BIOS não é mais de 3 horas como antes!
1. Introdução
[1] Comentário enviado por
pradox em 04/10/2004 - 14:37h:
Este comando é válido para todas as distros?
[2] Comentário enviado por
lefigo em 04/10/2004 - 14:50h:
Eu testei no Conectiva e no Red Hat e ocorreu tudo certo! Creio que se houver alguma diferença nas outras distros, vai ser apenas na localização dos arquivos!
[3] Comentário enviado por
removido em 05/10/2004 - 00:43h:
Seu tutorial está excelente...uma dica importante para esta chatice do horário de verão que perturba todo mundo e não resolve nada...
[4] Comentário enviado por
lordello em 05/10/2004 - 19:16h:
Muito bom, mas o horário de verão de 2004/2005 foi anunciado diferente:
início: 02 Nov 2004
final: 19 Fev 2005
Então essas regras não iriam funciona. Pelo que pude entender, você tá incluindo apenas a região Sudeste, seria legal colocar outras regiões também.
Falou ae!
[5] Comentário enviado por
lefigo em 05/10/2004 - 20:25h:
Olá amigo! Obrigado pela dica, mas me parece bem claro no artigo o trecho em que digo que os dias podem variar, assim como a região:
"Os dias de começo e término do horário de verão podem variar, assim como o arquivo zic, dependendo da região em que você se encontra. No meu caso, como estou no estado de SP, estou usando no exemplo o "East" (-3:00)."
[ ]'s
Leandro
[6] Comentário enviado por
dln_jr em 06/10/2004 - 15:23h:
Aeeeeeeee legal deu certinhu aki tb!! Boa!
Abraços!
[7] Comentário enviado por
dangelo em 06/10/2004 - 17:28h:
Gostaria de explicar algumas coisas,
1 - o comando date -u não retorna a data da bios, e sim retorma a data GMT, pelo menos no Debian é isso, basta verificar no man.
[8] Comentário enviado por
dangelo em 06/10/2004 - 17:41h:
2 - Testei a solução e inicialmente, ajustando o relógio para o dia 31,
achei que havia funcionado, quando coloquei o relógio para o dia 29 percebi
que o horario de verão já estava funcionando, verificando pq descobri que o
Debian já tem uma definição de horário de verão e portanto minha alteração
não fez diferença nenhuma. Portanto fui verificar como fazer este ajuste no Debian e descobri que existe um pacote chamado tz-brasil,
basta apt-get install tz-brasil
O pacote já esta atualizado para a data do dia 2/11
[9] Comentário enviado por
DondaJr em 10/10/2005 - 12:29h:
Muito bem explicado.. eu estava com plrblemas aqui e me ajudou muito valw
[10] Comentário enviado por
Credmann em 17/10/2006 - 14:07h:
/etc/default/rcS: UTC=no