GNU/Linux – Horário de verão 2018/2019

Fala pessoal, o blog não morreu 🙂


Tendo em vista as mudanças e incertezas sobre o horário de verão desse ano, resolvi escrever esse artigo explicando como configurar o horário de verão manualmente em sistemas GNU/Linux.

O inicio do horário de verão de 2018, inicialmente, estava marcado para começar hoje, mais precisamente na virada do dia 20/10 para o 21/10, mas foi alterado por um decreto para o dia 4/11 e talvez ainda seja alterado novamente, mudando para o dia 18/11.

Penso que ainda existe incerteza sobre quando vai iniciar o horário de verão desse ano, algumas fontes indicam para o dia 4/11, dando a entender que a alteração para o dia 18/11 foi cancelada( ou nunca foi aprovada ) e outras afirmam que a data de inicio é realmente 18/11:

   

Dependendo da distribuição ( e da versão ) que você está utilizando, é provável que a correção para o horário de verão desse ano já esteja disponível, mas se não estiver, ou o inicio do horário de verão seja alterado mais uma vez, é possível utilizar os seguintes passos para configurar o sistema manualmente:

1 – Crie o arquivo /usr/share/zoneinfo/Brazil/verao_2018_19.zic conforme esse exemplo:

 
Rule Brazil 2018 only - Nov  4 00:00 1 S
Rule Brazil 2019 only - Feb 17 00:00 0 -

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

# quando começa o horário de verão ( 4/11 00:00 ) 
Rule Brazil 2018 only - Nov  4 00:00 1 S

# quando termina o horário de verão ( 17/11 00:00, o dia 16 é o ultimo dia com horário de verão )
Rule Brazil 2019 only - Feb 17 00:00 0 -

# qual timezone será alterado na compilação
Zone Brazil/East -3:00 Brazil BR%sT
 

Nesse arquivo, estou configurando o inicio do horário de verão para o dia 4/11 e usando o Brazil/East ( horário de Brasília ), faça os ajustes para a sua necessidade. Outros horários são Brazil/Acre, Brazil/DeNoronha e Brazil/West.

2 – Compile o arquivo criado com o comando zic :


zic /usr/share/zoneinfo/Brazil/verao_2018_19.zic

3 – Consulte se o arquivo compilado foi criado corretamente:

zdump -v /usr/share/zoneinfo/Brazil/East | grep 201[89]

Se você alterou o Brazil/East no arquivo .zic, lembre-se de realizar alteração no restante dos comandos…

A saida do comando deve ser semelhante a essa:

/usr/share/zoneinfo/Brazil/East  Sun Nov  4 02:59:59 2018 UT = Sat Nov  3 23:59:59 2018 -03 isdst=0 gmtoff=-10800
/usr/share/zoneinfo/Brazil/East  Sun Nov  4 03:00:00 2018 UT = Sun Nov  4 01:00:00 2018 -02 isdst=1 gmtoff=-7200
/usr/share/zoneinfo/Brazil/East  Sun Feb 17 01:59:59 2019 UT = Sat Feb 16 23:59:59 2019 -02 isdst=1 gmtoff=-7200
/usr/share/zoneinfo/Brazil/East  Sun Feb 17 02:00:00 2019 UT = Sat Feb 16 23:00:00 2019 -03 isdst=0 gmtoff=-10800

As duas primeiras linhas mostram o inicio do horário de verão e as duas últimas o final.

# ganha uma hora 
Nov  3 23:59:59 2018 -03 
Nov  4 01:00:00 2018 -02 

# perde uma hora
Feb 16 23:59:59 2019 -02 
Feb 16 23:00:00 2019 -03 

4 – Por último, substitua o arquivo localtime pelo novo arquivo compilado:

mv /etc/localtime /etc/localtime.bkp
cp /usr/share/zoneinfo/Brazil/East /etc/localtime

E pronto seu sistema estará configurado.

Em caso de dúvidas, deixe um comentário ou me procure no twitter…

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *