[CentOS]ロケール(locale)の確認と変更

多くのソフトウェアはロケールに応じてデータの表記や処理を行います
manコマンド等は代表的なもので、ロケールに応じて内容が日本語で表示(日本語manページがインストールされていれば)されたり英語で表示されたりします
このページでは、システムのロケールの設定の確認と変更方法について記載します

現在の設定内容の確認方法

現在の設定内容を確認するには以下のコマンドを実行します

# locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=

LANG=ja_JP.UTF-8ですね

設定を変更する

localeの設定ファイルは/etc/sysconfig/i18nですのでこれを変更することにより設定が変更されます
ちなみにi18nとはinternationalisationの略。iとnの間に18文字あるからi18nらしいです

設定ファイルの中身は?

/etc/sysconfig/i18nの中身は以下の様になっています

# cat /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"

“LANG=xxxx”の部分を変更することになります

LANGで指定できる値は?

LANGで指定できる値はlocaleコマンドの”-a”オプションで調べることができます
たくさんでてくるので、日本語に絞り込んでみます

# locale -a | grep -i ja
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc

LANGに指定できる値のうち、日本語関係については上記のうちのいずれかが指定できることになります

変更してみる

では、”ja_JP.eucjp”に変更してみたいと思います
変更は、前述の設定ファイル /etc/sysconfig/i18n の内容を以下の様に書き換えます

LANG="ja_JP.eucjp"
SYSFONT="latarcyrheb-sun16"

これで、次回ログインからLANG=ja_JP.eucjpな環境になります
ログアウトせずに、すぐに反映したい場合は以下の様に実行してください

# . /etc/sysconfig/i18n

変更されているか確認

正しく変更されているかlocaleコマンドで確認してみましょう

# locale
LANG=ja_JP.eucjp
LC_CTYPE="ja_JP.eucjp"
LC_NUMERIC="ja_JP.eucjp"
LC_TIME="ja_JP.eucjp"
LC_COLLATE="ja_JP.eucjp"
LC_MONETARY="ja_JP.eucjp"
LC_MESSAGES="ja_JP.eucjp"
LC_PAPER="ja_JP.eucjp"
LC_NAME="ja_JP.eucjp"
LC_ADDRESS="ja_JP.eucjp"
LC_TELEPHONE="ja_JP.eucjp"
LC_MEASUREMENT="ja_JP.eucjp"
LC_IDENTIFICATION="ja_JP.eucjp"
LC_ALL=

うまく設定変更されたようです