O GNU libc (e, portanto, qualquer Linux não embarcado) lê /etc/localtime
para determinar o fuso horário do sistema (o fuso horário padrão se não for substituído pela variável de ambiente TZ
ou por uma configuração específica do aplicativo). * BSD faz a mesma coisa. Alguns sistemas Linux embarcados fazem as coisas de maneira diferente.
/etc/localtime
deve ser um link simbólico para um arquivo em /usr/share/zoneinfo/
. Os aplicativos normais não se importam, eles apenas lêem o conteúdo do arquivo, mas os utilitários de gerenciamento do sistema, como timedatectl
, importam mais porque também podem alterar a configuração, e fariam isso alterando o destino do link simbólico. / p>
Java faz (ou fez?) as coisas diferem : ele lê /etc/timezone
, que contém um nome de fuso horário, que deve ser o caminho para um arquivo relativo a /usr/share/zoneinfo
. Não tenho conhecimento de nenhum outro programa que use /etc/timezone
e não sei por que a Sun escolheu fazer as coisas de maneira diferente do resto do mundo.