Bạn có thể kiểm tra các địa điểm nào được tạo và định cấu hình trên hệ thống của mình bằng lệnh ngôn ngữ:
- miền địa phương ... liệt kê cấu hình miền địa phương hiện tại
- ngôn ngữ -a ... liệt kê tất cả các địa điểm được tạo trên hệ thống của bạn
- locale -a -v ... liệt kê tất cả các ngôn ngữ và hiển thị thông tin bổ sung hữu ích (chẳng hạn như tên thư mục chứa tệp dữ liệu thông tin miền địa phương)
Lệnh cuối cùng ở trên cho bạn thấy rằng tất cả các địa điểm được tạo đều nằm trong đó /usr/lib/locale/
, bạn có thể xóa bất kỳ vị trí nào trong số chúng nếu không cần thiết. Mỗi gói thông tin miền địa phương là một thư mục chứa các tệp văn bản và các thư mục khác.
Tất cả các địa điểm mà bạn muốn hệ thống của bạn hỗ trợ được liệt kê trong các tệp văn bản trong /var/lib/locales/supported.d/
. Các tệp này có hai cột, thẻ ngôn ngữ và bản đồ ký tự.
Tôi muốn hệ thống của mình chỉ biết tiếng Anh-Mỹ, vì vậy tôi chỉ có một tệp ở đó, được gọi là en, chỉ chứa một dòng duy nhất:
en_US UTF-8
Thông
báo lỗi Nếu thông báo lỗi được hiển thị khi ban hành lệnh ngôn ngữ, ví dụ:
locale: Cannot set LC_ALL to default locale: No such file or directory
đảm bảo tệp /etc/default/locale
tồn tại và có nội dung phù hợp, chẳng hạn như:
LANG="en_US"
LANGUAGE="en_US:en"
Loại bỏ dữ liệu miền địa phương không cần thiết - Từng bước
Bây giờ chúng tôi biết tất cả các chi tiết cần thiết để bắt đầu với việc làm sạch thông tin ngôn ngữ hệ thống của chúng tôi:
- Chỉnh sửa (các) tệp ngôn ngữ trong
/var/lib/locales/supported.d/
và xóa tất cả các ngôn ngữ không cần thiết (một ngôn ngữ trên mỗi dòng)
- Tạo và chỉnh sửa
/etc/default/locale
(xem ví dụ ở trên)
- Xóa tất cả dữ liệu miền địa phương được tạo:
rm -rfv /usr/lib/locale/*
- Tạo lại địa phương mới:
locale-gen
Đó là tất cả! Khởi động lại máy của bạn để làm cho những thay đổi của bạn có hiệu lực. Sau đó chạy một hoặc nhiều ví dụ lệnh miền địa phương từ phía trên để đảm bảo rằng kết quả như mong đợi.
~# 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ó một gói cho Debian / Ubuntu có thể loại bỏ các tệp liên quan đến ngôn ngữ và miền địa phương (ví dụ: trang man) : localepurge
. Bạn có thể cài đặt / chạy nó phát hành:
sudo apt-get install localepurge
Sau khi cài đặt, bạn nên chạy nó:
dpkg --configure localepurge
để đảm bảo cài đặt ngôn ngữ của bạn được đặt chính xác.
để chạy thủ công sau khi cài đặt (mặc dù bạn không thực sự cần thiết vì nó sẽ chạy sau mỗi lần dpkg
chạy tự động), bạn chỉ có thể thực hiện:
sudo localepurge
Đọc trang người đàn ông trước khi sử dụng nó, mặc dù. Nếu bạn có thể hoàn thành công việc của mình mà không có nó thì có lẽ an toàn hơn để cho đi.
từ diễn đàn này
ref:
1. LocaleConf trên tài liệu chính thức
2. Linux man page
3. Locale on wikipeadia
4. man localepurge