Por que razão é recomendado “LANG = C; sudo apt-get clean”?

15

Me deparei com esta página da wiki: Procedimento de solução de problemas do Gerenciador de Pacotes .

Nele, havia comandos como:

LANG=C;sudo apt-get clean
LANG=C;sudo apt-get autoclean
LANG=C;sudo apt-get -f install
LANG=C;sudo apt-get --fix-missing install
LANG=C;sudo apt-get --purge autoremove
LANG=C;sudo apt-get --fix-missing update -o APT::Cache-Limit=100000000
LANG=C;sudo apt-get update -o APT::Cache-Limit=100000000 && sudo apt-get dist-upgrade

Então, qual é o propósito de LANG=C; ?

    
por DK Bose 26.01.2016 / 15:30

3 respostas

26

Se você estiver solucionando problemas, provavelmente postará seus resultados em algum fórum ou aqui, mais cedo ou mais tarde.

Quando isso acontece, é muito mais simples para outros usuários entenderem seus registros e saída, se não estiverem internacionalizados.

Isso quer dizer que, se você estiver usando francês, chinês ou hindi ou qualquer que seja o idioma do seu sistema, é provável que a saída use termos nesse idioma, o que dificulta ainda mais a compreensão do que está acontecendo. / p>

A localidade C força a saída padrão (que normalmente é ASCII somente inglês).

É melhor começar uma sessão de solução de problemas com:

export LC_ALL=C

Em vez de definir variáveis ​​de local específicas, ou defini-las apenas para um comando específico.

    
por muru 26.01.2016 / 15:39
10

LANG=C fará sua saída de terminal retroceder para a localidade padrão. Como este guia sugere que você envie sua saída para o Launchpad para suporte, eles estão fazendo isso para que, quando você colá-lo, outras pessoas possam lê-lo não importando o idioma que você normalmente usa.

    
por user323419 26.01.2016 / 15:39
3

Um pequeno acréscimo, embora provavelmente não se aplique no caso do apt, já que o considero um software bastante estável:

Alguns programas notoriamente se comportam mal ao usar uma configuração diferente para LANG (ou pelo menos diferente de C ou en_US).

A Unity tinha (ainda tem?) estas questões (e jogos baseados na Unity), a Unreal Engine também teve alguns problemas. Além disso, alguns dos scripts de construção do Android só são executados com o LANG = C corretamente ou compilados apenas com essa variável de ambiente configurada dessa maneira.

Isso também pode ajudar na solução de problemas, pois o bug pode nem ocorrer com essa configuração.

    
por larkey 26.01.2016 / 17:30