A dica a seguir é uma adaptação da orientação do CAIS - v. http://www.rnp.br/cais/alertas/2006/cais-alr-20061010.html
Para quem usa uma distro que já liberou pacotes (tzdata) contendo as tabelas corrigidas, tudo bem. Mas quem usa uma distro ou instalação que não possui atualizações, pode efetuar a correção manualmente.
1. Verifique se possui os utilitários zic e zdump, que fazem parte do pacote libc6.
2. Edite um arquivo (texto puro), contendo as seguintes linhas, de acordo com o seu fuso horário. Faça as adaptações que julgar necessárias, trocando nomes ou fusos; as linhas imprescindíveis, que definem o horário de verão, são as 2 primeiras, que começam com "Rule"; e deve haver pelo menos uma linha começando com "Zone", a qual aponta para um caminho (America/Brasilia, p.ex.) no diretório /usr/share/zoneinfo. Qualquer dúvida, "man zic".
Rule Brazil 2007 only - Oct 14 00:00 1 S
Rule Brazil 2008 only - Feb 17 00:00 0 -
Zone Brazil/East -3:00 Brazil BR%sT
Zone Brazil/West -4:00 Brazil BR%sT
Zone America/Brasilia -3:00 Brazil BR%sT
Zone America/Goiania -3:00 Brazil BR%sT
Zone America/Campo_Grande -4:00 Brazil BR%sT
Zone America/Cuiaba -4:00 Brazil BR%sT
Zone America/Sao_Paulo -3:00 Brazil BR%sT
3. Grave este arquivo em algum local (/root, /etc, /opt) que possa ser aproveitado no próximo ano, com a extensão .zic - p.ex., horario_verao.zic.4. Execute o comando "zic horario_verao.zic" (se foi esse o nome escolhido).
5. Teste se a compilação funcionou com o comando zdump. No meu caso, a resposta ficou como abaixo. Observe que após a linha que lista o dia 13 /10, às 23:59:59, aparece o dia 14/10, 01:00:00, mostrando que a entrada no horário de verão irá ocorrer corretamente. Analogamente, a saída irá ocorrer em 16/02/2008.
[root@rapd:sh]# zdump -v America/Brasilia | grep 200[78]
America/Brasilia Sun Feb 25 01:59:59 2007 UTC = Sat Feb 24 23:59:59 2007 BRST isdst=1 gmtoff=-7200
America/Brasilia Sun Feb 25 02:00:00 2007 UTC = Sat Feb 24 23:00:00 2007 BRT isdst=0 gmtoff=-10800
America/Brasilia Sun Oct 14 02:59:59 2007 UTC = Sat Oct 13 23:59:59 2007 BRT isdst=0 gmtoff=-10800
America/Brasilia Sun Oct 14 03:00:00 2007 UTC = Sun Oct 14 01:00:00 2007 BRST isdst=1 gmtoff=-7200
America/Brasilia Sun Feb 17 01:59:59 2008 UTC = Sat Feb 16 23:59:59 2008 BRST isdst=1 gmtoff=-7200
America/Brasilia Sun Feb 17 02:00:00 2008 UTC = Sat Feb 16 23:00:00 2008 BRT isdst=0 gmtoff=-10800
6. Crie um link simbólico /etc/localtime para o arquivo gerado; no meu caso, America/Brasilia: # ln -s /usr/share/zoneinfo/America/Brasilia /etc/localtime
Bom proveito.