Eu assumo que você fez algo como
TZ=:/etc/localtime
Isso, no entanto, não se propaga para subshells - e o shell bash normal é uma sub-shell do ambiente mais amplo. Então você precisa fazer:
export TZ=:/etc/localtime
Recentemente, vi esta postagem do blog sobre desempenho quando a variável de ambiente TZ não está definida: link
Eu tenho notado este problema quando stracing daemons em execução em meus sistemas e gostaria de corrigi-lo. Eu revi a documentação oficial do Ubuntu para onde definir as variáveis de ambiente: link
Eu tentei definir o TZ em / etc / environment e em /etc/profile.d/test.sh, mas não consigo que essa variável de ambiente esteja disponível em todos os casos (por exemplo, se eu apenas executar o bash sem --login ou se eu executar o exemplo de programa c fornecido no artigo acima). Como posso fazer a variável de ambiente TZ definida completamente em todo o sistema?
Obrigado!
Editar: Foi sugerido que minha pergunta é uma cópia de esta outra postagem , mas os métodos descritos nesse post não Resolva esse problema. Eu tentei os dois: sudo dpkg-reconfigure tzdata
e sudo timedatectl set-timezone America/New_York
. Depois, confirmei que / etc / localtime é um link simbólico válido como esperado. No entanto, após uma reinicialização, ainda vejo 10 chamadas stat () para / etc / localtime, conforme documentado no artigo original que postei acima. O comportamento que estou procurando (conforme documentado no artigo original) está fazendo com que o / etc / localtime não seja stat () - ed repetidamente, o que é muito ineficiente
Eu assumo que você fez algo como
TZ=:/etc/localtime
Isso, no entanto, não se propaga para subshells - e o shell bash normal é uma sub-shell do ambiente mais amplo. Então você precisa fazer:
export TZ=:/etc/localtime