come posso rimuovere tutti i language pack che non mi servono?


12

Ho appena notato che /usr/share/helpho i file della guida di Ubuntu in 70 lingue diverse. Parlo solo 2 e computo davvero solo in uno. Ho anche notato che è pieno di collegamenti simbolici interrotti a / usr / share / help-langpack.

Voglio solo sbarazzarmi di tutte le lingue che non mi servono. Come posso farlo senza essere rm -rfelice? Preferibilmente sto cercando un modo per farlo senza installare nuovi pacchetti, poiché il mio obiettivo principale è quello di eliminare le cose in eccesso sulla mia macchina. Vorrei trovare un modo per farlo preferibilmente con dpkg o apt.


1
Tali collegamenti simbolici fanno parte di un'installazione con l'obiettivo di evitare di installare file della guida in tutte le lingue su tutte le macchine. Quindi sì, ci sono alcuni link simbolici "rotti", ma è meglio dei file di aiuto, giusto? Il mio consiglio: non preoccuparti. I collegamenti simbolici appartengono a vari pacchetti e, se li rimuovi, riappariranno al successivo aggiornamento del rispettivo pacchetto.
Gunnar Hjalmarsson,

Risposte:


11


Puoi controllare quali locali sono generati e configurati sul tuo sistema usando il comando locale:

  • locale ... elenca la configurazione corrente del locale
  • locale -a ... elenca tutte le locali che sono state generate sul tuo sistema
  • locale -a -v ... elenca tutte le locali e mostra utili informazioni aggiuntive (come nomi di directory che contengono i file di dati delle informazioni locali)

L'ultimo comando dall'alto ti fa vedere che si trovano tutte le localizzazioni generate /usr/lib/locale/, puoi rimuoverne una qualsiasi se non necessario. Ogni pacchetto di informazioni sulla locale è una directory che contiene file di testo e altre directory.

Tutte le impostazioni locali che desideri siano supportate dal tuo sistema sono elencate nei file di testo in /var/lib/locales/supported.d/. Questi file hanno due colonne, tag della lingua e mappa dei caratteri.

Voglio che il mio sistema conosca solo l'inglese americano, quindi ho un solo file lì, chiamato en, che contiene solo una riga:

en_US UTF-8

Messaggi di
errore Se vengono visualizzati messaggi di errore durante l'immissione del comando locale, ad es .:

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

assicurarsi che il file /etc/default/localeesista e abbia un contenuto adeguato, come ad esempio:

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

Sbarazzarsi dei dati locali non necessari - Procedura dettagliata

Ora conosciamo tutti i dettagli necessari per iniziare a ripulire le informazioni sulla locale del nostro sistema:

  1. Modifica i file delle /var/lib/locales/supported.d/impostazioni locali in e rimuovi tutte le impostazioni internazionali non necessarie (una impostazione locale per riga)
  2. Crea e modifica /etc/default/locale(vedi sopra per un esempio)
  3. Elimina tutti i dati locali generati: rm -rfv /usr/lib/locale/*
  4. Rigenerare nuove impostazioni locali: locale-gen

È tutto! Riavvia il computer per rendere effettive le modifiche. Quindi esegui uno o più esempi di comandi locali dall'alto per assicurarti che il risultato sia come previsto.

~# 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 | bug-glibc-locales@gnu.org
 language | English
territory | USA
 revision | 1.0
     date | 2000-06-24
  codeset | UTF-8

C'è un pacchetto per Debian / Ubuntu che può prendersi cura di rimozione locali e locali, file correlati (ad esempio pagine man): localepurge. È possibile installarlo / eseguirlo emettendo:

sudo apt-get install localepurge

una volta installato, dovresti eseguire questo:

dpkg --configure localepurge

per garantire che le impostazioni della lingua siano impostate correttamente.

per eseguirlo manualmente una volta installato (anche se non dovresti davvero farlo come dovrebbe funzionare dopo ogni dpkgesecuzione automagicamente) puoi semplicemente fare:

sudo localepurge

Leggi la pagina man prima di usarla, però. Se riesci a fare le tue cose senza di essa, probabilmente è più sicuro lasciarsi andare.

da questo forum

ref:
1. LocaleConf sulla documentazione ufficiale
2. Pagina man di Linux
3. Locale su wikipeadia
4. man localepurge


Grazie per il suggerimento, se non riesco a trovare un modo per farlo con ciò che è già installato sul mio computer, lo userò sicuramente.
blanket_cat,

1
@knotech Perché non installarlo, eseguirlo e disinstallarlo. Non sono sicuro del motivo per cui sei teso a installare un pacchetto.
Brian Graham,

1
@knotech consultare la documentazione ufficiale help.ubuntu.com/community/LocaleConf .
αғsнιη,

Siamo spiacenti, ma non credo che localpurge risolva le domande dei PO in alcun modo.
Gunnar Hjalmarsson,

1
L'OP ha chiesto informazioni sui language pack ... Ma supponendo che sia interessato a rimuovere anche le localizzazioni ridondanti, perché installare localpurge? Perché non solo locale-gen --purge?
Gunnar Hjalmarsson,

3

Per quanto riguarda le lingue effettivamente installate, andare su Impostazioni di sistema -> Supporto lingue e fare clic sul ... Installa / Disinstalla lingue pulsante. Quindi deseleziona le lingue che non ti servono.

Per quanto riguarda i link simbolici in /usr/share/help, vedere il mio commento sulla tua domanda.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.