jak mogę usunąć wszystkie niepotrzebne pakiety językowe

12

Właśnie zauważyłem, że /usr/share/helpmam pliki pomocy Ubuntu w 70 różnych językach. Mówię tylko 2 i naprawdę obliczam tylko w jednym. Zauważyłem również, że jest pełen zepsutych dowiązań symbolicznych do / usr / share / help-langpack.

Chcę po prostu pozbyć się wszystkich języków, których nie potrzebuję. Jak mogę to zrobić bez pełnego rm -rzadowolenia? Najlepiej szukam sposobu na zrobienie tego bez instalowania nowych pakietów, ponieważ moim głównym celem jest pozbycie się nadmiaru rzeczy na moim komputerze. Chciałbym znaleźć sposób na zrobienie tego najlepiej z dpkg lub apt.

blanket_cat
źródło
1
Te dowiązania symboliczne są częścią konfiguracji mającej na celu uniknięcie instalowania plików pomocy we wszystkich językach na wszystkich komputerach. Więc tak, istnieje całkiem sporo „zepsutych” dowiązań symbolicznych, ale to lepsze niż pliki pomocy, prawda? Moja rada: nie przejmuj się. Dowiązania symboliczne należą do różnych pakietów, a jeśli je usuniesz, pojawią się ponownie przy kolejnej aktualizacji odpowiedniego pakietu.
Gunnar Hjalmarsson

Odpowiedzi:

11


Możesz sprawdzić, które ustawienia narodowe są generowane i konfigurowane w systemie za pomocą polecenia locale:

  • locale ... wyświetla aktualną konfigurację locale
  • locale -a ... wyświetla listę wszystkich ustawień narodowych wygenerowanych w systemie
  • locale -a -v ... wyświetla listę wszystkich ustawień regionalnych i pokazuje przydatne dodatkowe informacje (takie jak nazwy katalogów zawierające pliki danych informacji regionalnych)

Ostatnie polecenie powyżej pokazuje, że wszystkie wygenerowane ustawienia narodowe znajdują się w /usr/lib/locale/, możesz usunąć dowolne z nich, jeśli nie jest to konieczne. Każda paczka informacji regionalnych jest katalogiem zawierającym pliki tekstowe i inne katalogi.

Wszystkie ustawienia narodowe, które system ma obsługiwać, są wymienione w plikach tekstowych w /var/lib/locales/supported.d/. Pliki te mają dwie kolumny, znacznik języka i mapę znaków.

Chcę, aby mój system wiedział tylko w języku angielskim i amerykańskim, więc mam tam tylko jeden plik o nazwie en, który zawiera tylko jedną linię:

en_US UTF-8

Komunikaty o błędach
Jeśli podczas wydawania polecenia locale wyświetlane są komunikaty o błędach, np .:

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

upewnij się, że plik /etc/default/localeistnieje i ma odpowiednią treść, na przykład:

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

Pozbądź się niepotrzebnych danych regionalnych - krok po kroku

Teraz znamy wszystkie niezbędne szczegóły, aby rozpocząć czyszczenie informacji o ustawieniach regionalnych naszego systemu:

  1. Edytuj pliki ustawień regionalnych w /var/lib/locales/supported.d/i usuń wszystkie niepotrzebne ustawienia narodowe (jedno ustawienie regionalne na linię)
  2. Utwórz i edytuj /etc/default/locale(patrz przykład powyżej)
  3. Usuń wszystkie wygenerowane dane regionalne: rm -rfv /usr/lib/locale/*
  4. Ponownie wygeneruj nowe ustawienia regionalne: locale-gen

To wszystko! Uruchom ponownie komputer, aby zmiany zostały wprowadzone. Następnie uruchom jeden lub więcej przykładów poleceń locale z góry, aby upewnić się, że wynik jest zgodny z oczekiwaniami.

~# 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

Jest to pakiet dla Debiana / Ubuntu, które mogą zająć się usuwaniem lokalizacjach i lokalizacji plików powiązanych (np strony man) localepurge. Możesz go zainstalować / uruchomić, wydając:

sudo apt-get install localepurge

po zainstalowaniu powinieneś uruchomić to:

dpkg --configure localepurge

aby upewnić się, że ustawienia języka są ustawione poprawnie.

aby uruchomić go ręcznie po zainstalowaniu (chociaż nie powinno tak być konieczne, ponieważ powinien dpkgdziałać automatycznie po każdym uruchomieniu), możesz po prostu:

sudo localepurge

Jednak przed użyciem przeczytaj stronę podręcznika. Jeśli możesz to zrobić bez tego, prawdopodobnie bezpieczniej jest odpuścić.

z tego forum

ref:
1. LocaleConf w oficjalnej dokumentacji
2. Linux man page
3. Locale na wikipeadia
4. man localepurge

αғsнιη
źródło
Dzięki za sugestię, jeśli nie mogę znaleźć sposobu na zrobienie tego z tym, co jest już zainstalowane na moim komputerze, na pewno skorzystam z tego.
blanket_cat
1
@knotech Dlaczego nie zainstalujesz go, uruchom i odinstalujesz. Nie jestem pewien, dlaczego jesteś uparty w kwestii instalowania pakietu.
Brian Graham
1
@knotech patrz oficjalna dokumentacja help.ubuntu.com/community/LocaleConf .
αғsнιη
Przykro mi, ale nie sądzę, aby localpurge w jakikolwiek sposób odpowiadał na pytania PO.
Gunnar Hjalmarsson
1
OP zapytał o pakiety językowe ... Ale zakładając, że jest zainteresowany usunięciem zbędnych ustawień narodowych, po co instalować localpurge? Dlaczego nie tylko locale-gen --purge?
Gunnar Hjalmarsson
3

W odniesieniu do faktycznie zainstalowanych języków, przejdź do menu Ustawienia systemowe -> Wsparcie Język i kliknij Install / Usuń języków ... przycisk. Następnie odznacz języki, których nie potrzebujesz.

Jeśli chodzi o dowiązania symboliczne w /usr/share/help, zobacz mój komentarz do twojego pytania.

Gunnar Hjalmarsson
źródło