Defina a variável de ambiente globalmente

1

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

    
por Andrew Martin 28.03.2017 / 18:06

1 resposta

2

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
    
por taifwa 28.03.2017 / 18:12