Mit dem Befehl locale können Sie überprüfen, welche Gebietsschemas auf Ihrem System generiert und konfiguriert werden:
- Gebietsschema ... listet die aktuelle Gebietsschemakonfiguration auf
- locale -a ... listet alle Gebietsschemas auf, die auf Ihrem System generiert wurden
- locale -a -v ... listet alle Gebietsschemas auf und zeigt nützliche zusätzliche Informationen an (z. B. Verzeichnisnamen, die die Datendateien mit den Gebietsschemainformationen enthalten).
Mit dem letzten Befehl von oben sehen Sie, dass sich alle generierten Gebietsschemas in befinden /usr/lib/locale/
. Sie können sie entfernen, wenn sie nicht benötigt werden. Jedes Paket mit Gebietsschemainformationen ist ein Verzeichnis, das Textdateien und andere Verzeichnisse enthält.
Alle Gebietsschemas, die Ihr System unterstützen soll, werden in den Textdateien in aufgelistet /var/lib/locales/supported.d/
. Diese Dateien haben zwei Spalten, ein Sprach-Tag und eine Zeichentabelle.
Ich möchte, dass mein System nur US-Englisch kann, daher habe ich dort nur eine Datei namens en, die nur eine einzige Zeile enthält:
en_US UTF-8
Fehlermeldungen
Wenn beim Ausgeben des Befehls locale Fehlermeldungen angezeigt werden, z.
locale: Cannot set LC_ALL to default locale: No such file or directory
Stellen Sie sicher, dass die Datei /etc/default/locale
vorhanden ist und den richtigen Inhalt hat, z.
LANG="en_US"
LANGUAGE="en_US:en"
Nicht benötigte Gebietsschemadaten entfernen - Schritt für Schritt
Jetzt kennen wir alle notwendigen Details, um mit der Bereinigung der Gebietsschemainformationen unseres Systems zu beginnen:
- Bearbeiten Sie die Gebietsschemadatei (en) in
/var/lib/locales/supported.d/
und entfernen Sie alle nicht benötigten Gebietsschemas (ein Gebietsschema pro Zeile).
- Erstellen und bearbeiten
/etc/default/locale
(siehe oben für ein Beispiel)
- Löschen Sie alle generierten Gebietsschemadaten:
rm -rfv /usr/lib/locale/*
- Generieren Sie neue Gebietsschemas neu:
locale-gen
Das ist alles! Starten Sie Ihren Computer neu, damit Ihre Änderungen wirksam werden. Führen Sie dann eines oder mehrere der Beispielbeispiele für das Gebietsschema von oben aus, um sicherzustellen, dass das Ergebnis den Erwartungen entspricht.
~# 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
Es gibt ein Paket für Debian / Ubuntu, mit dem sich Gebietsschemas und Gebietsschema-bezogene Dateien (z. B. Manpages) entfernen lassen : localepurge
. Sie können es installieren / ausführen, indem Sie Folgendes ausführen:
sudo apt-get install localepurge
Nach der Installation sollten Sie Folgendes ausführen:
dpkg --configure localepurge
um sicherzustellen, dass Ihre Spracheinstellungen korrekt eingestellt sind.
dpkg
Um es nach der Installation manuell auszuführen (obwohl Sie es nicht unbedingt benötigen sollten, da es nach jedem automatischen Lauf ausgeführt werden sollte), können Sie einfach Folgendes tun:
sudo localepurge
Lesen Sie jedoch die Manpage, bevor Sie sie verwenden. Wenn Sie Ihre Sachen ohne sie erledigen können, ist es wahrscheinlich sicherer, loszulassen.
aus diesen Foren
Ref:
1. LocaleConf in der offiziellen Dokumentation
2. Linux-Manpage
3. Locale auf Wikipeadia
4. Man Localepurge