Como posso desinstalar um código de idioma por linha de comando?

23

Eu tenho 5 códigos de idioma não utilizados no meu sistema. Como posso removê-los via linha de comando? Eu uso, localepurgemas não funcionou.

Eonil
fonte

Respostas:

26

Você pode listar localidades com

localedef --list-archive

ou com

locale -a

O tamanho do arquivo correspondente é fornecido por

ls -lh /usr/lib/locale/locale-archive

Para remover localidades não utilizadas, você pode fazer

sudo locale-gen --purge it_IT.UTF-8 en_US.UTF-8 && echo Success!

onde it_IT.UTF-8e en_US.UTF-8são os únicos dois locais que eu quero . O && echo "Success!"final é útil porque locale-gennão relata erros se uma localidade incorreta ou indisponível for passada na linha de comando.

enzotib
fonte
O comando para 12,04 é localedef --list-archivesems
techtonik anatoly
@techtonik: é assim também em 11.10, a minha errror :)
enzotib
Agradável. Existe uma maneira de remover apenas os códigos de idioma que eu não preciso? Não tenho certeza de que localidades en_US são usadas - prefiro deixá-las todas e remover apenas as que tenho certeza absoluta de que não têm utilidade no meu sistema, como de_ *.
Anatoly techtonik
7
No bash, o ponto de exclamação na "Succes!"string aciona a expansão do histórico do bash. Para evitar esse problema, você deve incluir 'Success!'aspas simples ou (estranhamente!) Remover as aspas. No manual do bash : as expansões do histórico são introduzidas pela aparência do caractere de expansão do histórico, que é '!' por padrão. Somente \ e 'pode ser usado para escapar do caractere de expansão do histórico.
Michele