Visite também: BR-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]

Tutoriais/Adm/acertando-horario-verao

De UnderLinux Wiki

Alterações de configuração necessárias para horário de verão 2008/2009

Tabela de conteúdo

Introdução

Prezados,
Como foi devidamente anunciado pelo CAIS, o horário de verão 2008/2009 terá inicio em 19 de outubro de 2008 e termino em 15 de fevereiro de 2009. Com isto, algumas configurações nos sistemas são necessárias.
O horário de verão tem relação com o timezone (fuso horário) configurado no sistema. Ao alterar o timezone altera-se o parâmetro do sistema que determina a diferença em horas entre o horário absoluto (UTC / GMT 0) e o horário local.

É bom lembrar que os fusos horários brasileiros foram modificados pela Lei no. 11.662 de 24 de abril de 2008.

Se o relógio do sistema (horário absoluto) marca 16:00:00 UTC, ajustado por NTP, temos:

  • Para o timezone do Brasília (GMT-3), o horário mostrado ao usuário será 13:00h ou GMT-3 (hora local)
  • Para o timezone de Paris (Franca - GMT+1) o horário mostrado ao usuário será' 17:00h ou GMT+1 (hora local)

Nenhuma modificação na configuração do serviço de NTP é necessária. Entretanto, deve-se tomar um cuidado especial com os *servidores* NTP (Stratum 1, Stratum 2 e outros) quando ocorrerem modificações de configuração para o horário de verão. Caso o servidor NTP detecte uma diferença maior do que 20 minutos entre o horário do sistema (horário absoluto) e o horário registrado pelo servidor NTP (ntpd, OpenNTPD), o serviço NTPD poderá parar. Assim, deve-se redobrar a atenção durante o processo de configuração do horário de verão em hosts que provêem este serviço.

Lembramos também que para algumas versões de Linux/Unix poderá ser necessário reiniciar o daemon "cron" apos o inicio do horário de verão, de forma que as tarefas agendadas através do Cron possam continuar a ser executadas no horário correto. Para mais informações, verifique o manual do "cron" e "crontab" do seu sistema.

A seguir são descritos os procedimentos de atualização do localtime em sistemas FreeBSD, GNU/Linux, Solaris, AIX e Windows, bem como em alguns equipamentos Cisco que usam o IOS. Antes de prosseguir com estes procedimentos é preciso que se saiba de antemão o timezone da sua região.

Para mais informações sobre os fusos horários do Brasil por favor consulte o site da Agencia Nacional de Energia Elétrica - ANEEL:

CISCO IOS

Nos arquivos de configuração dos roteadores Cisco será' preciso incluir (ou atualizar) as seguintes linhas:

clock timezone GMT-3 -3 clock summer-time GMT-2 date Oct 19 2008 0:00 Feb 15 2009 0:00

Os logs gerados pelo Cisco passarão a informar a hora como GMT-2, que e' a nova configuração do timezone.

GNU/LINUX

Usuários de sistemas baseados em GNU/Linux devem seguir o procedimento abaixo:

Verificar a existência do arquivo '/etc/localtime'. Se este arquivo existir verifique se ele e' um link simbólico. Uma das formas de fazer esta verificação é executar o seguinte comando:

$ file /etc/localtime localtime: timezone data

A saída acima indica que se trata do próprio arquivo com dados de timezone. A saída abaixo indica um link para o arquivo.

$ file /etc/localtime
localtime: symbolic link to `/etc/localtime'

Não é recomendado possuir o arquivo /etc/localtime como link simbólico. Sistemas cujo diretório /usr é acessível (não tiver sido montado, por exemplo) no momento de inicialização da máquina, os dados do arquivo localtime não serão lidos.

Verificar se existe no diretório /usr/share/zoneinfo/Brazil algum arquivo que contenha informações relativas a outros horários de verão. Normalmente este arquivo tem extensão ZIC (.zic).

Se não existir um arquivo com tais dados então crie um novo, de nome 'verão.2008.zic' por exemplo, no diretório /usr/share/zoneinfo/Brazil/. Este arquivo deverá conter as seguintes linhas:

Rule Brazil 2008 only - Oct 19 00:00 1 S
Rule Brazil 2009 only - Feb 15 00:00 0 -
Zone Brazil/East -3:00 Brazil BR%sT

Se existir um arquivo com dados de horário de verão de outros anos, basta inserir as linhas acima ao final do arquivo existente.

As duas primeiras linhas de configuração acima informam quando se inicia o horário de verão, quando termina, e qual é a ação tomada. Lembre-se de que no inicio do horário de verão a hora local é acrescida em uma (1) hora.

A ultima linha diz qual arquivo será' modificado pelo comando 'zic'. No exemplo acima, será' o arquivo 'East' (dentro do diretório Brazil). Esta linha também informa qual o timezone original da região - no caso de São Paulo (East) temos UTC-3. Caso você esteja utilizando um timezone diferente do adotado em São Paulo (East), modifique estes parâmetros para o timezone de sua região:

  • Fuso horário do Arquipélago de Fernando de Noronha:

Zone Brazil/DeNoronha -2:00 Brazil FN%sT

  • Fuso horário dos estados a Leste

Zone Brazil/East -3:00 Brazil BR%sT

  • Fuso horário dos estados a Oeste (AC, AM, RO, RR, MS, MT)

Zone Brazil/West -4:00 Brazil AM%sT

  • Parâmetros definidos pela glibc presente em sistemas Linux,

disponível para download em http://www.gnu.org/

Uma vez feitos os devidos ajustes no arquivo 'verão.2008.zic' execute o comando 'zic':

# zic verão.2008.zic

Neste caso em particular o comando atualizara' o arquivo East.

Para verificar se as configurações corretas foram feitas, execute o comando 'zdump', conforme segue abaixo (troque East pelo timezone de sua região):

# zdump -v Brazil/East | grep 200[89]

Você deverá obter uma resposta como a que segue abaixo:

Brazil/East Sun Oct 19 02:59:59 2008 UTC = Sat Oct 18 23:59:59 2008 BRT isdst=0 gmtoff=-10800
Brazil/East Sun Oct 19 03:00:00 2008 UTC = Sun Oct 19 01:00:00 2008 BRST isdst=1 gmtoff=-7200
Brazil/East Sun Feb 16 01:59:59 2009 UTC = Sat Feb 15 23:59:59 2009 BRST isdst=1 gmtoff=-7200
Brazil/East Sun Feb 16 02:00:00 2009 UTC = Sat Feb 15 23:00:00 2009 BRT isdst=0 gmtoff=-10800

Note que em "Sat Oct 18 23:59:59 2008 BRT" o sistema ainda não esta no horário de verão (indicação 'BRT'). No segundo seguinte as modificações do horário de verão entram em vigor, adiantando o localtime em uma hora: "Sun Oct 19 01:00:00 2008 BRST" (O horário mostrado ao usuário passará para 1 da manha, e não para meia-noite, mostrando o adiantamento do horário).

Em "Sat Feb 14 23:59:59 2009 BRST", o horário de verão terminara' no segundo seguinte, com o localtime sendo então atrasado em 1 hora: "Sat Feb 14 23:00:00 2009 BRT" (o horário mostrado ao usuário voltara' para as 23:00).

Por ultimo, se o arquivo /etc/localtime não for um link para o arquivo /usr/share/zoneinfo/Brazil/East, deve-se copiar o arquivo East para /etc/localtime

$ cp East /etc/localtime

FREEBSD

Usuários do sistema FreeBSD devem proceder da mesma forma que usuários GNU/Linux. A única diferença esta' no diretório onde devera' ser criado o arquivo 'verão.2008.zic' - /usr/share/zoneinfo. As linhas a serem incluídas neste arquivo, assim como em sistemas GNU/Linux, são:

Rule Brazil 2008 only - Oct 19 00:00 1 S Rule Brazil 2009 only - Feb 15 00:00 0 -

Zone hv2008 -3:00 Brazil BR%sT

No exemplo acima, o nome 'hv2008' representa o arquivo que será criado ao executar o comando:

# zic verão.2008.zic

O arquivo conterá as informações do horário de verão e devera' ser copiado sobre /etc/localtime, lembrando que será' preciso fazer uma copia de segurança do arquivo /etc/localtime antes de sobrescreve-lo.

OPENBSD

Usuários do sistema OpenBSD devem proceder da mesma forma que usuários GNU/Linux.

SOLARIS

Usuários de Solaris devem seguir o procedimento abaixo:

Verificar o zoneinfo respectivo. O arquivo /etc/TIMEZONE contem as informações relativas a qual arquivo será' consultado para verificar o zoneinfo.

# more /etc/TIMEZONE
TZ=Brazil/East

No exemplo acima, devera' ser consultado o arquivo East, no diretório Brazil. Por padrão, este diretório deve estar em /usr/share/lib/zoneinfo.

Verificar se existe no diretório /usr/share/lib/zoneinfo algum arquivo em formato texto que contenha informações relativas a outros horários de verão (DICA: geralmente um arquivo com extensão .zic)

Se não existir nenhum arquivo com tais informações, devera' ser criado um novo arquivo, de nome 'brazil.zic' por exemplo, e inserir as seguintes linhas.

Rule Brazil 2008 only - Oct 19 00:00 1 S
Rule Brazil 2009 only - Feb 15 00:00 0 -
Zone Brazil/East -3:00 Brazil BR%sT

Se existir um arquivo com informações de horário de verão de outros anos basta inserir as linhas acima. As duas primeiras linhas informam quando inicia o horário de verão, quando termina e qual a ação a ser tomada. Lembre-se de que no inicio do horário de verão deve ser adicionada uma hora. A ultima linha diz qual arquivo 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 o de São Paulo, UTC-3.

No exemplo que se segue existe um diretório 'Brazil' dentro de /usr/share/lib/zoneinfo que contem um arquivo brazil.zic, que deve ser atualizado com as linhas mencionadas acima. Deve-se então gerar o novo arquivo (em formato binário) como segue:

# zic brazil.zic

Para verificar se as configurações foram feitas corretamente, execute o comando 'zdump' conforme segue abaixo (troque East pelo timezone de sua região): <p class="code"> # zdump -v Brazil/East | grep 200[89]

Você deverá obter uma resposta como a que segue abaixo:

Brazil/East Sun Oct 19 02:59:59 2008 UTC = Sat Oct 18 23:59:59 2008 BRT isdst=0
Brazil/East Sun Oct 19 03:00:00 2008 UTC = Sun Oct 19 01:00:00 2008 BRST isdst=1
Brazil/East Sun Feb 16 01:59:59 2009 UTC = Sat Feb 15 23:59:59 2009 BRST isdst=1
Brazil/East Sun Feb 16 02:00:00 2009 UTC = Sat Feb 15 23:00:00 2009 BRT isdst=0

AIX

Usuários de AIX devem alterar o arquivo /etc/environment colocando a diretiva:

2008: TZ=GRNLNDST3GRNLNDDT,M10.3.0/00:00:00,M2.3.0/00:00:00

Isto indica que o horário de verão se inicia `as 00:00 do terceiro domingo do mês 10 (19 de outubro) e finaliza `as 00:00 do terceiro domingo do mês 2 (15 de fevereiro) , seguindo a seguinte sintaxe:

2008: TZ=GRNLNDST3GRNLNDDT,Mm.w.wd/00:00:00,Mm.w.wd/00:00:00

* m - mês ( 1 < m < 12 )

  • w - ocorrência do dia da semana no mês contados a

partir do dia 1o. (1 < d < 5)

  • wd - dia da semana ( 0 < n < 5 : Domingo corresponde a 0)
  • hh:mm - horário

MS WINDOWS

Em abril de 2008 foi sancionada a lei no. 11.662/08, que reduziu o numero de fusos horários brasileiros para três. Os fusos horários dos estados do Acre, Amazonas e Amazonas foram afetados. Em agosto a Microsoft disponibilizou uma atualização cumulativa que trata desta mudança.

Microsoft Help and Support: August 2008 cumulative time zone update for Microsoft Windows operating systems: http://support.microsoft.com/kb/951072

Para sistemas Windows 9*/NT/2000/XP recomenda-se o uso do utilitário TZEDIT (tzedit.exe), incluído no CD do Resource Kit que acompanha a distribuição do sistema. Não existe URL oficial para download deste programa no site da Microsoft, mas ele pode ser facilmente encontrado na Internet, lembrando que neste ultimo caso *não* se garante a integridade do programa.

Uma segunda opção para modificação do timezone em Windows XP e' a utilização do utilitário 'timezone.exe', disponível para download em:

Microsoft Download Center - Windows XP Service Pack 2 Support Tools

O download é precedido de um processo de validação, que verifica se sua copia de Microsoft Windows e' genuína.

Administradores de sistemas Windows que queiram automatizar a atualização do horário de verão podem encontrar mais informações em:

Microsoft Support Knowledge Base - How to configure daylight saving time dates for Brazil

Para a configuração de timezone do seu sistema utilizando o comando 'timezone.exe' siga os seguintes passos:

Faca o download do "Windows XP Service Pack 2 Support Tools" e instale-o no seu sistema, caso você não possua o utilitário 'timezone.exe'.

Em um prompt de comando (cmd.exe) execute, a partir do diretório "Program FilesSupport Tools" se foi utilizada a instalação padrão, o seguinte comando:

C:Program FilesSupport Tools>timezone.exe /s 00:0:3:10 00:0:3:02

As configurações acima seguem o formato:

Hora:DiaDaSemana:Dia:Mes    Hora:DiaDaSemana:Dia:Mes
(Inicio horário de verão)   (Fim horário de verão)
Hora: 00 ate 23
DiaDaSemana: 0 - 6 : 0 = Domingo, 1 = Segunda, etc
Dia: 1 - 5: no caso do dia da semana ser  terça-feira:  1 - primeira terça do mês, etc
Mes: 1 - 12

Execute o seguinte comando para verificar se as modificações foram corretamente executadas:

C:Program FilesSupport Tools>timezone.exe /g

Current Timezone is :

Daylight Saving Time begins at 00:0:3:10 Daylight Saving Time ends at 00:0:3:02

Configure o sistema para utilizar automaticamente as configurações do horário de verão:

  • Vá em Start -> Settings -> Control Panel -> Date and Time -> Timezone;
  • Certifique-se que você está utilizando o timezone de Brasília (UTC-0300)

Brasília;

  • Certifique-se que a caixa "Automaticamente ajuste o relógio para o

horário de verão" esta marcada.

Para configuração de Horário de Verão em sistemas Microsoft Windows Vista por favor consulte a seguinte pagina da Microsoft:

CAIS

O CAIS Alerta também é oferecido no formato RSS/RDF: http://www.rnp.br/cais/alertas/rss.xml

O CAIS está à disposição para esclarecimentos adicionais.

Atenciosamente,
CENTRO DE ATENDIMENTO A INCIDENTES DE SEGURANCA (CAIS)
Rede Nacional de Ensino e Pesquisa (RNP)
http://www.cais.rnp.br