CentOS7からシステムのロケール設定方法が「localectl」コマンドを使用するように変更されています。
また、設定ファイルの場所もCentOS6からは変更となっているので、そのあたりについてまとめています。
システム(OS)ロケールの設定表示
「localectl」コマンドを実行することで、現在設定されているシステムのロケールとキーマップ(キーボード設定)を表示させることが出来ます。
# localectl System Locale: LANG=en_US.UTF-8 VC Keymap: jp106 X11 Layout: jp
「System Locale」が設定されているロケールとなり、「VC Keymap」がキーマップ(キーボード)の設定となります。
ロケールの設定ファイル
システム(OS)のロケール設定ファイルは「/etc/locale.conf」となります。
ファイルの中を確認してみると、「localectl」コマンドで確認したロケールが設定されていることが確認できます。
# cat /etc/locale.conf LANG="en_US.UTF-8"
※CentOS6までは、「/etc/sysconfig/i18n」がロケール設定ファイルでした。
システムのロケール変更
CentOS7ではシステム(OS)のロケールを変更する場合は「localectl set-locale」コマンドを使用します。
システムロケールの変更書式
設定されたロケールの情報は「/etc/locale.conf」ファイルに書き込まれます。
# localectl set-locale LANG=ロケール
※CentOS6までは、ロケールの変更は「/etc/sysconfig/i18n」ファイルを編集するという方法でした。
設定反映
「localectl」コマンドで設定したロケールを反映させるためには、一度ログアウトしてから再度ログインし直すか、下記コマンドで設定を読み込む必要があります。
# source /etc/locale.conf
「locale」コマンドを実行すると現在有効となっているロケールの設定が表示されるのですが、設定反映をする前にロケールの設定状態を確認すると「loclectl」コマンドで変更する前のロケールが表示されるはずです。
ロケール一覧表示
使用できるロケールの名前は「locale -a」コマンドで一覧表示させることができます。
locale -a
全てを表示すると非常に数が多いので、「grep」コマンドを使って表示を絞ったほうが分かりやすいでしょう。
例えば日本語に関するものだけを表示する場合は、下記のようになります。
# locale -a | grep ja ja_JP ja_JP.eucjp ja_JP.ujis ja_JP.utf8 japanese japanese.euc
ロケール変更例
実際にシステムのロケールを「en_US.UTF-8」から「ja_JP.utf8」に変更してみます。
現在の設定確認
まずは現在のロケール設定状況を確認してみます。
# localectl System Locale: LANG=en_US.UTF-8 VC Keymap: jp X11 Layout: jp
現在は「en_US.UTF-8」に設定されていることが確認できました。
システムロケールの変更
それでは、システムのロケールを「ja_JP.utf8」に変更していきます。
# localectl set-locale LANG=ja_JP.utf8
変更確認
「localectl」コマンドでシステムのロケールが変更されていることを確認します。
# localectl System Locale: LANG=ja_JP.utf8 VC Keymap: jp X11 Layout: jp
あわせて「/etc/locale.conf」ファイルの中身も変更されていることも確認してみます。
# cat /etc/locale.conf LANG=ja_JP.utf8
システムのロケールが「ja_JP.utf8」に設定されていることが確認できました。
設定反映
設定内容に間違いがなければ、ロケールの設定ファイルを再読込みさせて設定を反映させます。
# source /etc/locale.conf
「locale」コマンドを実行すること現在有効となっているロケールの確認ができるので、「ja_JP.utf8」に設定されているか確認をします。
# locale LANG=ja_JP.utf8 LC_CTYPE="ja_JP.utf8" LC_NUMERIC="ja_JP.utf8" LC_TIME="ja_JP.utf8" LC_COLLATE="ja_JP.utf8" LC_MONETARY="ja_JP.utf8" LC_MESSAGES="ja_JP.utf8" LC_PAPER="ja_JP.utf8" LC_NAME="ja_JP.utf8" LC_ADDRESS="ja_JP.utf8" LC_TELEPHONE="ja_JP.utf8" LC_MEASUREMENT="ja_JP.utf8" LC_IDENTIFICATION="ja_JP.utf8" LC_ALL=
現在のロケールも正常に変更されていることが確認できましたので、システムのロケール変更作業は完了となります。
コメント