Ajustando o Time Zone de um sistema operacional


   O ajuste do Time Zone de um sistema operacional deveria ser uma operação bastante tranqüila e rotineira, especialmente antes da entrada do horário de verão. Porém o que se nota é justamente o contrário.
   Máquinas com Time Zone desatualizado e com 1 hora de atraso no início do horário de verão ou adiantadas de 1 hora após o final do horário de verão (com relógio adiantado/atrasado de 1 hora na BIOS no início e no final do horário de verão) e mostrando offsets em relação à hora UTC simplesmente ridículos, isto sem falar nos stratum 2 que muitos consultam e que simplesmente abortam e param de funcionar por causa do fato acima, entre outros fatos que poderíamos citar aqui, são uma constante dentro e fora do ambiente de redes acadêmico.
   Num primeiro momento pensamos que talvez possa ser um esquecimento ocasional do administrador de uma rede. Porém, se relevarmos o fato que nas estações de trabalho rodando Windows® 98/Me/2000/XP geralmente este problema de ajuste cabe aos usuários, veremos que a maior parte das máquinas dedicadas na Internet são servidores (muitos Unix) e que entra ano e sai ano os problemas se repetem, somos levados finalmente a chegar a seguinte conclusão:

   "Poucos administradores de redes sabem para que serve o Time Zone, poucos sabem ou se interessam em fazer o update dele pela sua distribuição preferida, menos ainda sabem compilar o pacote do Time Zone para o Unix e muitíssimo menos ainda sabem mexer no arquivo de tabelas de entradas dos Time Zones para ajustá-lo manualmente antes da entrada do horário de verão."

   Esta conclusão acima me incentivou a escrever um tópico dedicado somente ao ajuste do Time Zone, uma vez que não adianta nada ter-se um NTP server stratum 2 ou 3 e o mesmo não funcionar porque abortou devido ao fato que a hora da BIOS da máquina foi adiantada/atrasada de 1 hora.
   Para poder ser o mais prático e didático neste momento, não discorrerei sobre como se deve editar o arquivo de tabelas de entradas dos Time Zones, prefiro colocar disponível neste site o arquivo já corrigido, todo ano antes da entrada do horário de verão. Infelizmente neste ano de 2003 isto não me foi possível por falta de tempo, pois dei prioridade máxima à instalação, à configuração e aos ajustes do NTP server stratum 1 do PADS. Porém, fica aqui minha promessa de começar a fazer isto a partir de 2004, antes da entrada do horário de verão.
   Os passos que mostrarei aqui são válidos para os sistemas operacionais "Unix-Like" como o Linux, os *BSD e o Solaris e para os Windows® 2000/XP, porém acredito que, com poucas modificações, eles podem ser adaptados para outros sistemas operacionais.

   ATENÇÃO: A partir de 2008, com o fim da necessidade de adiamento do início do horário de verão nos anos de eleições, o horário de verão passou a ter regras claras e o mesmo se inicia todo terceiro domingo de outubro e termina todo o terceiro domingo de fevereiro, exceto quando este coincide com o carnaval, sendo neste caso prorrogado por uma semana. Assim as versões mais recentes do timezone do UNIX já possuem todas as configurações necessárias até o ano de 2037. As versões mais recentes podem ser baixadas no link abaixo!

   Atualização do pacote timezone para servidores Unix pode ser baixada no site oficial ou no mirror deste servidor. Adaptar o arquivo Makefile para as configurações locais antes de compilar e instalar no teu sistema Unix-Like!

   ATENÇÃO: O governo federal desistiu de adiar o horário de verão deste ano (2018/2019) para o dia 18 de Novembro!

   ATENÇÃO: O horário de verão deste ano (2018/2019) começará em 04 de novembro, mas no ano passado começou em 15 de outubro. Portanto quem não tomar o cuidado de atualizar o Time Zone deste ano antes do dia 15 de outubro de 2018 (segunda), ficará com o relógio adiantado de 1 hora pelo período de 19 dias! Já o encerramento do horário de verão (2018/2019) será em 17 de fevereiro de 2019 (terceiro domingo de fevereiro) , mas no ano anterior terminou em 18 de fevereiro, logo quem não corrigir o horário de verão ficará com o relógio adiantado por uma hora, ao término do mesmo, por 1 dia!


A receita de bolo para o ajuste do Time Zone nos "Unix-Like" (Versões do TimeZone ate 2012c

   Observação: Esta receita só deve ser aplicada em sistemas antigos, pois as distribuições Unix mais recentes ou sistemas atualizados com versões do timezone posteriores a 2008 não necessitam de atualização até 2037.
  1. Crie um diretório temporário e entre nele, i.e., mkdir timezone ; cd timezone
  2. Baixe o pacote do Time Zone para o teu Unix. Você pode pegá-lo no mirror do site original, na PADS, na URL ftp://ftp.athena.pads.ufrj.br/pub/timezone. Baixe dois arquivos que existem lá: O tzcode*.tgz e o tzdata*.tgz, no lugar do asterisco estarão o ano e a versão do Time Zone. Geralmente são apenas esses dois arquivos no site e outros dois que não são importantes para o que vamos fazer. Ignore-os!
  3. Descompacte os dois arquivos no diretório temporário, i.e., tar xzvf tzcode*.tgz ; tar xzvf tzdata*.tgz
  4. Digite o comando chmod u+w * (Atenção: É asterisco mesmo assim como está! "IPSIS-LITERIS")
  5. Edite o arquivo Makefile com o teu editor de texto favorito no Unix, no meu caso o poderoso vi, i.e., vi Makefile.
    Atenção para os campos que deverão ser editados:
  6. Salvar o arquivo Makefile com as modificações e digitar o comando make para compilar os binários do Time Zone.
  7. Digitar o comando make install para instalar os binários e os novos Time Zone no sistema.
  8. Após isto, nos sistemas Linux e FreeBSD deverão ser feitos os seguintes passos:
  9. Se você usa Solaris e também roda programas com o chroot(), proceda da mesma forma descrita acima, procure todos os arquivos localtime e sobrescreva-os.
  10. Finalmente, é recomendável que você reinicie o teu sistema após fazer as modificações no Time Zone, pois esta é a maneira mais segura de ter certeza que todos os programas que carregam as informações contidas no arquivo localtime (do Time Zone) irão carregar o novo Time Zone.

A receita de bolo para o ajuste do Time Zone nos Windows®

   Para os sistemas Windows® 9x/NT/2000/XP, existem 3 utilitários (TZEdit.exe e Timezone.exe da Microsoft e o Configurar Horário de Verão de autoria de Ilanio Castro) que podem ser utilizados para se fazer o ajuste do Time Zone. Porém os dois primeiros não são de livre distribuição e deve-se tomar cuidado com aqueles que são distribuídos na Internet, pois na verdade podem ser "Trojan" disfarçados. O Windows® deverá também estar habilitado para ajustar o relógio para o horário de verão. Recomendamos que de agora em diante seja utilizado o Configurar Horário de Verão para o correto ajuste do Time Zone!
   Se você for utilizar o Timezone.exe (método NÃO recomendável), que vem junto com Windows® XP, no CD do mesmo (na pasta SUPPORT\TOOLS), você deve digitar o seguinte comando para ajustar o Time Zone para o horário de verão 2005/2006 (reinicie a máquina após isto):

         timezone /s 00:0:3:10 00:0:3:02

   O utilitário Timezone.exe do Windows® XP também servirá para ajustar o Time Zone do Windows® 2000. Para maiores detalhes sobre o Timezone.exe, consulte o suporte da Microsoft®.

   NOTA: Devido a problemas identificados no Time Zone dos Windows® 2000/XP, NÃO recomendamos modificar os valores default que estão lá usando o utilitário Timezone.exe. Os resultados poderão ser imprevisíveis com alguns programas.
                 Caso você tenha dado o azar de ter modificado o Time Zone antes de ler esta mensagem, apenas modifique o teu Time Zone (na barra de tarefas) para um outro Time Zone, clique no botão aplicar e em seguida volte para o teu Time Zone correto e clique em aplicar novamente. Em seguida reinicie o teu Windows® e tudo estará consertado. As mudanças feitas usando o Timezone.exe não são permanentes, elas desaparecem se você alterar o Time Zone, ao contrário do utilitário TZedit.exe, que modifica as informações do Time Zone.

   Se você for ajustar o Time Zone usando o TZedit.exe (método não mais recomendável, usar o Configurar Horário de Verão de agora em diante), os passos são os seguintes (tomando como exemplo o ajuste do Time Zone para o horário de verão de 2005/2006):

  1. Rode o programa TZedit.exe no Windows® 9x/NT/2000/XP, ele apresentará a janela abaixo, clique no Time Zone (GMT -03:00) Brasilia e em seguida no botão Edit:



  2. Aparecerá uma janela parecida com esta mostrada aqui abaixo:



  3. Altere os campos para ficarem como na janela abaixo:



  4. Você deve clicar então no botão OK e em seguida no botão Close da primeira janela.

  5. ATENÇÃO: Embora pareça ridículo que a mudança do Time Zone no Windows® seja as 02:00hs, alertamos para que não sejam alterados os valores nesses campos. A Microsoft® adota, por default, para os fusos do Brasil o mesmo critério adotado nos E.U.A. para a entrada e saída do horário de verão, ou seja, as 02:00hs. Teoricamente este é o horário que se julga trazer menos transtornos para se fazer a mudança por lá. Se você alterar os campos com as horas de entrada e saída do horário de verão, esteja preparado para as mais loucas mudanças de funcionamentos de alguns aplicativos do teu Windows®!!!
    Desta forma esteja avisado que com o procedimento acima demostrado o horário da máquina ficará errado por duas horas, tanto no início como no fim do horário de verão.
    Agradeço ao Danilo F. Marchesan Jr. por ter me alertado para a falta deste aviso.

  6. Mas, atenção, o novo Time Zone não foi carregado ainda pelo sistema, e não adianta rebootar a máquina.
    DICA:Você deverá clicar duas vezes no relógio, no canto direito da barra de tarefas, e selecionar Time Zone. Em seguida, mude o Time Zone para outro qualquer como (GMT -01:00) Azores, por exemplo, clique em Apply e imediatamente volte para o Time Zome (GMT -03:00) Brasilia e clique Apply novamente. Estará então carregado o novo Time Zone no teu Windows® e o relógio do mesmo deverá estar com a hora correta agora.


  7. Como dica final, você poderá baixar o TZedit no endereço ftp://139.82.34.67/pub/windows/tzedit/tzedit.zip. Consegui está dica procurando no Google e achei em uma página na PUC-RIO de onde peguei as dicas deste tutorial sobre o TZedit.


Configurar Horário de Verão


   O programa Configurar Horário de Verão foi desenvolvido e publicado por Ilanio Castro desde 25 de outubro de 2003 e é freeware, ou seja, não se incorre em pirataria por baixa-lo ou usa-lo. Segundo Ilanio Castro, o ajuste do Horário de Verão no Windows® usando esse programa é muito melhor do que usando o TZedit da Microsoft (e pude comprovar isso) e tem a vantagem de corrigir a hora de entrada e saída do Horário de Verão para acontecer a meia-noite e não as 02:00hs da manhã. Já testei o programa Configurar Horário de Verão e recomendo o seu uso no lugal do Timezone ou do TZedit, o link para baixa-lo é: http://200.198.34.5/confhv.

   A seguir mostro como ajustar o Time Zone para o horário de verão usando o Configurar Horário de Verão. O exemplo abaixo é para o horário de verão 2014/2015, basta adapta-lo para o horário de verão do ano corrente:
  1. Clique no executável ConfHV.exe, você irá ver um dialog-box assim:



  2. Clique no botão "Verificar" e verifique as configurações atuais de horário de verão do teu Windows®:



  3. Agora preencha os campos com os valores de dia, mês e ano para início e término do horário de verão 2014/2015. Compare com a configuração do TZedit acima e diga qual é a mais fácil de ser compreendida!



  4. Clique no botão "Definir" para salvar as novas configurações de horário de verão do Time Zone do teu Windows®. A mensage de sucesso na operação deve surgir como abaixo mostrado:



  5. Agora clique mais uma vez no botão "Verificar" e comprove que a nova configuração de Time Zone já está valendo!



  6. Simples, rápido e fácil! E muito melhor do que Timezone ou TZedit!

   ATENÇÃO! 20/09/2007 - O Ilanio Castro disponibiliza a versão em linha de comando (não-GUI) do Configurar Horário de Verão que está no link http://200.198.34.5/cmdhv. As instruções detalhadas de uso do mesmo podem ser lidas no arquivo Readme.txt que está dentro do arquivo cmdhv.zip!

   ATENÇÃO! 20/09/2007 - Desde 2006 disponibilizo 2 aplicativos para ajudar na configuração do horário de verão em redes corporativas (universidades, repartições publicas, redes de empresas, etc). Estes 2 aplicativos chamam-se CmdHVmonitor & CmdHVd - Configurar Horário de Verão Monitor e Service e, como o próprio nome dos mesmos diz, eles trabalham como um front-end para executar o Configurar Horário de Verão - Linha de Comando do Ilanio Castro sem a necessidade de um aplicativo de execução remota (útil principalmente para aquelas redes em que tais aplicativos de execução remota não podem ser usados por uma razão ou outra). Juntei estes meus dois aplicativos, e mais os dois do Ilanio Castro (Configurar Horário de Verão em Linha de Comando e Versão GUI, as mais recentes até este momento), num pacote chamado Ferramentas para configuração do Horário de Verão e o estou disponibilizando agora. O pacote já vem com um programa instalador, o que permitirá uma fácil e rápida instalação em poucos passos!
   OBS: Leiam as instruções de instalação antes de rodarem o executável de instalação! O pacote pode ser baixado nos dois links mais abaixo.


   NOVIDADE ADMINISTRADORES DE REDES #1: 14/10/2008 - Disponibilizei uma nova versão do CmdHVmonitor & CmdHVd - Configurar Horário de Verão Monitor e Service também conhecido como "Ferramentas de Horário de Verão". A versão 1.3 traz como novidade as versões 3.01 do CmdHV e do ConfHV, que agora são 100% compatíveis com as novas funcionalidades de segurança dos Windows Vista e 2008, sendo que ainda possuem suporte à Time Zones Dinâmicas nos Windows 2000, XP, Vista e 2008.
   OBS #i: Leiam as instruções de instalação antes de rodarem o executável de instalação! O pacote pode ser baixado nos dois links mais abaixo.
   OBS #ii: Atualizado em 06/10/2010 - Funcionando também em Windows 7 e versões de sistemas Windows 32 bits em geral. Aparentemente funcionando bem também em sistemas Windows 64 bits, mas isso requer mais testes.

   NOVIDADE ADMINISTRADORES DE REDES #2: 16/09/2008 - O nosso colega da Embratel, Leandro Barbosa, disponibilizou um script de netlogon utilizando o aplicativo KIX32, que pode ser baixado em www.kixtart.org. O roteiro de instalação está descrito no link ao lado: Horário de verão - netlogon - KIX32.

   NOVIDADE ADMINISTRADORES DE REDES #3: 15/02/2012 - Disponibilizei o VBScript VerificaHV.vbs. Este VBScript foi escrito pelo Ilano Castro devido as solicitações que algumas pessoas lhe fizeram pedindo por um programa de Windows que detecte quando um micro está ou não no horário de verão, principalmente nos anos em que o Carnaval cair justamente no terceiro domingo de fevereiro e o término do horário de verão cair no domingo da semana seguinte. Este VBScript possui duas linhas a mais acrescentadas por mim (comentadas no final do arquivo) para o caso de se querer abrir uma msgbox para mostrar na tela o resultado da função (ou seja, fazer um teste de funcionamento da função antes de se incorpora-la em um outro VBScript).

   NOVIDADE ADMINISTRADORES DE REDES #4: 22/10/2018 - Disponibilizei uma atualização do arquivo CmdHV_cfg.ini destinado ao CmdHVmonitor & CmdHVd - Configurar Horário de Verão Monitor e Service para o horário de verão 2018/2019. O mesmo encontra-se nos dois links de download abaixo!

   Ferramentas para configuração do Horário de Verão - Site 1 - FTP

   Ferramentas para configuração do Horário de Verão - Site 2 - HTTP

   NOVIDADE ADMINISTRADORES DE REDES #5: 22/10/2018 - Disponibilizei uma atualização do arquivo southamerica destinado a atualizar o mesmo arquivo no pacote TZcode + TZdata (cuja compilação foi vista acima) para o horário de verão 2018/2019. O mesmo encontra-se no link de download abaixo!

   Arquivo southamerica atualizado para compilação do pacote tzcode+tzdata, qualquer versão do mesmo.


   Espero que os passos que coloquei acima lhes sejam útil para a atualização do Time Zone de tua rede. Qualquer observação a respeito dos passos acima, por favor me mande um e-mail.


Copyright © 2003-2018 Rafael Jorge Csura Szendrodi