como faço para remover todos os pacotes de idiomas de que não preciso

11

Acabei de notar que /usr/share/helptenho os arquivos de ajuda do ubuntu em 70 idiomas diferentes. Eu falo apenas 2 e só computo em uma. Também notei que ele está cheio de links simbólicos quebrados para / usr / share / help-langpack.

Eu quero apenas me livrar de todos os idiomas que não preciso. Como posso fazer isso sem ficar rm -rfeliz? De preferência, estou procurando uma maneira de fazer isso sem instalar novos pacotes, pois meu principal objetivo é livrar-se do excesso de coisas na minha máquina. Eu gostaria de encontrar uma maneira de fazer isso de preferência com o dpkg, ou apt.

cobertor_cat
fonte
1
Esses links simbólicos fazem parte de uma configuração com o objetivo de evitar a instalação de arquivos de ajuda em todos os idiomas e em todas as máquinas. Então, sim, existem alguns links simbólicos 'quebrados', mas isso é melhor do que os arquivos de ajuda, certo? Meu conselho: não se incomode. Os links simbólicos pertencem a vários pacotes e, se você os remover, eles reaparecerão na próxima vez que o respectivo pacote for atualizado.
Gunnar Hjalmarsson

Respostas:

10


Você pode verificar quais localidades são geradas e configuradas no seu sistema usando o comando locale:

  • locale ... liste a configuração de localidade atual
  • locale -a ... lista todos os locais gerados em seu sistema
  • locale -a -v ... lista todos os locais e mostra informações adicionais úteis (como nomes de diretório que contêm os arquivos de dados de informações do local)

O último comando acima faz com que você veja que todas as localidades geradas estão localizadas /usr/lib/locale/, você pode remover qualquer uma delas se desnecessário. Cada pacote de informações de localidade é um diretório que contém arquivos de texto e outros diretórios.

Todos os códigos de idioma que você deseja que seu sistema suporte estejam listados nos arquivos de texto em /var/lib/locales/supported.d/. Esses arquivos têm duas colunas, tag de idioma e mapa de caracteres.

Quero que meu sistema conheça apenas inglês dos EUA, portanto, tenho apenas um arquivo, chamado en, que contém apenas uma única linha:

en_US UTF-8

Mensagens de
erro Se forem exibidas mensagens de erro ao emitir o comando locale, por exemplo:

locale: Cannot set LC_ALL to default locale: No such file or directory

verifique se o arquivo /etc/default/localeexiste e possui conteúdo adequado, como:

LANG="en_US"
LANGUAGE="en_US:en"

Livre-se dos dados de localidade desnecessários - Passo a passo

Agora sabemos todos os detalhes necessários para começar a limpar as informações de localidade do sistema:

  1. Edite o (s) arquivo (s) de localidade /var/lib/locales/supported.d/e remova todos os locais desnecessários (um local por linha)
  2. Crie e edite /etc/default/locale(veja um exemplo acima)
  3. Exclua todos os dados de localidade gerados: rm -rfv /usr/lib/locale/*
  4. Gere novamente novos códigos de idioma: locale-gen

Isso é tudo! Reinicie sua máquina para que suas alterações entrem em vigor. Em seguida, execute um ou mais exemplos de comando de localidade acima para garantir a si mesmo que o resultado é o esperado.

~# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
~# 
~# locale -a -v
locale: en_US.utf8      directory: /usr/lib/locale/en_US.utf8
-------------------------------------------------------------------------------
    title | English locale for the USA
   source | Free Software Foundation, Inc.
  address | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
    email | [email protected]
 language | English
territory | USA
 revision | 1.0
     date | 2000-06-24
  codeset | UTF-8

Há um pacote para Debian / Ubuntu que pode cuidar de remover locais e localidade arquivos relacionados (por exemplo, páginas de manual): localepurge. Você pode instalar / executar o problema:

sudo apt-get install localepurge

uma vez instalado, você deve executar o seguinte:

dpkg --configure localepurge

para garantir que suas configurações de idioma estejam definidas corretamente.

para executá-lo manualmente uma vez instalado (embora você realmente não precise, pois deve executar após cada dpkgexecução automagicamente), basta:

sudo localepurge

Leia a página de manual antes de usá-la. Se você pode fazer suas coisas sem ela, provavelmente é mais seguro deixar para lá.

deste fórum

ref:
1. LocaleConf na documentação oficial
2. Página de manual do Linux
3. Local na wikipeadia
4. man localepurge

αғsнιη
fonte
Obrigado pela sugestão, se eu não conseguir encontrar uma maneira de fazer isso com o que já está instalado no meu computador, definitivamente vou usá-lo.
blanket_cat
1
@knotech Por que você não o instala, executa e desinstala? Não sei por que você está preocupado em instalar um pacote.
Brian Graham
1
@knotech, consulte a documentação oficial help.ubuntu.com/community/LocaleConf .
α Augsнιη 24/08
Desculpe, mas não acho que o localpurge atenda às perguntas dos OPs de forma alguma.
Gunnar Hjalmarsson
1
O OP perguntou sobre pacotes de idiomas ... Mas, supondo que ele também esteja interessado em remover locais redundantes, por que instalar o localpurge? Por que não apenas locale-gen --purge?
Gunnar Hjalmarsson
3

No que respeita às línguas realmente instalado, vá para Configurações do Sistema -> Suporte de idioma e clique no Línguas ... Instalar / Remover botão. Desmarque os idiomas que você não precisa.

No que diz respeito aos links simbólicos /usr/share/help, consulte meu comentário sobre sua pergunta.

Gunnar Hjalmarsson
fonte