localeコマンドを使用して、システムで生成および設定されているロケールを確認できます。
- locale ...現在のロケール設定を一覧表示します
- locale -a ...システムで生成されたすべてのロケールを一覧表示します
- locale -a -v ...すべてのロケールをリストし、有用な追加情報(ロケール情報データファイルを含むディレクトリ名など)を表示します
上記の最後のコマンドを実行すると/usr/lib/locale/
、生成されたすべてのロケールがにあることがわかります。不要な場合は、それらを削除できます。ロケール情報の各パックは、テキストファイルとその他のディレクトリを含むディレクトリです。
システムでサポートするすべてのロケールは、のテキストファイルにリストされています/var/lib/locales/supported.d/
。これらのファイルには、言語タグと文字マップの2つの列があります。
私のシステムには米国英語のみを認識させたいので、enと呼ばれるファイルが1つだけあります。
en_US UTF-8
エラーメッセージ
ロケールコマンドの発行時にエラーメッセージが表示された場合は、次のようになります。
locale: Cannot set LC_ALL to default locale: No such file or directory
ファイル/etc/default/locale
が存在し、次のような適切な内容であることを確認してください。
LANG="en_US"
LANGUAGE="en_US:en"
不要なロケールデータを取り除く-ステップバイステップ
これで、システムのロケール情報のクリーンアップを開始するために必要なすべての詳細がわかりました。
- でロケールファイルを編集し、
/var/lib/locales/supported.d/
不要なロケールをすべて削除します(1行に1つのロケール)。
- 作成および編集
/etc/default/locale
(上記の例を参照)
- 生成されたすべてのロケールデータを削除します。
rm -rfv /usr/lib/locale/*
- 新しいロケールを再生成します。
locale-gen
それで全部です!マシンを再起動して、変更を有効にします。次に、上記のロケールコマンドの例を1つ以上実行して、期待どおりの結果になることを確認します。
~# 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
ロケールとロケール関連ファイル(例:manページ)の削除を処理できるDebian / Ubuntu用のパッケージがありますlocalepurge
。あなたはそれを発行してインストール/実行することができます:
sudo apt-get install localepurge
インストールしたら、これを実行する必要があります:
dpkg --configure localepurge
言語設定が正しく設定されていることを確認します。
インストール後に手動で実行するには(dpkg
自動的に実行するたびに実行する必要があるので、実際に実行する必要はありませんが)次のようにします。
sudo localepurge
ただし、使用する前にマニュアルページを読んでください。あなたがそれなしであなたの物事を成し遂げることができるならば、それを手放すことはおそらくより安全です。
このフォーラムから
ref:
1. 公式ドキュメントのLocaleConf
2. Linuxのmanページ
3. wikipeadiaのロケール
4. man localepurge