手当たり次第に書くんだ

CentOS8 英語環境から日本語環境への変更

目次に戻る

概要

英語環境でインストールしたCentOS8をインストール後に日本語環境に変更します。

前提条件

OS

CentOS Stream 8を使用します。

SELinux

有効です。無効にする場合はこちらを参照して下さい。

Firewalld

無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。

所感

この設定で日本語環境への変更はできていると思っていますが、PodmanのCentOS8コンテナでは想定通りの挙動になりません。日本語の表示自体はできるのですが、例えばDNFコマンドの出力は英語のままです。何か本稿以外の設定個所があるかも知れません。

はじめに

日本語環境を指定してインストールしたCentOS8は下記のようになります。本稿ではこの設定値合わせて変更します。

ロケール

ロケールとは言語と地域の設定です。キーマップ(使用するキーボードの配列)の設定も含まれています。

[root@centos ~]# localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: jp
      X11 Layout: jp

タイムゾーン

タイムゾーンはどの地域の時刻を表示するかですね。

[root@centos ~]# timedatectl status
               Local time: 月 2021-07-05 16:20:17 JST
           Universal time: 月 2021-07-05 07:20:17 UTC
                 RTC time: 月 2021-07-05 07:20:17
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

設定

ロケールの変更

ロケールを英語環境から日本語環境に変更します。

英語環境

英語環境のロケール設定は下記のようになっています。

[root@centos ~]# localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us

現在利用できる文字コードの確認

日本語の文字コードが存在していないことが分かります。日本語の文字コードを利用するには言語パックの追加が必要です。

[root@centos ~]# localectl list-locales
C.utf8
en_AG
en_AU
en_AU.utf8
en_BW
en_BW.utf8
en_CA
en_CA.utf8
en_DK
en_DK.utf8
en_GB
en_GB.iso885915
en_GB.utf8
en_HK
en_HK.utf8
en_IE
en_IE.utf8
en_IE@euro
en_IL
en_IN
en_NG
en_NZ
en_NZ.utf8
en_PH
en_PH.utf8
en_SC.utf8
en_SG
en_SG.utf8
en_US
en_US.iso885915
en_US.utf8
en_ZA
en_ZA.utf8
en_ZM
en_ZW
en_ZW.utf8

日本語の言語パックをインストール

インストールします。

[root@centos ~]# dnf install langpacks-ja

インストール後にlocalectl list-localesを実行すると、日本語の文字コードが追加されていることが確認できます(日本語の文字コードだけ抜粋しています)。尚、インストール時点で各コマンドの出力が日本語に変わるようです。

[root@centos ~]# localectl list-locales
ja_JP.eucjp
ja_JP.utf8

文字コードの変更

文字コードを変更します。TABで設定値を補完可能ですが、表示されるのはja_JP.utf8となり、日本語環境でインストールした場合のja_JP.UTF-8と異なります。ただ、localectl list-localesで表示される文字コードは同じなのでどちらでも良いと思います。本稿ではja_JP.UTF-8を指定します。

[root@centos ~]# localectl set-locale LANG=ja_JP.UTF-8

変更後の状態です。

[root@centos ~]# localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: us
      X11 Layout: us

キーマップの変更

キーマップを変更します。set-keymapはTAB補完が使えますが、set-x11-keymapのほうは使えませんね。

[root@centos ~]# localectl set-keymap jp
[root@centos ~]# localectl set-x11-keymap jp

変更後の状態です。

[root@centos ~]# localectl status
   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: jp
      X11 Layout: jp

補足

前述のlocalectlコマンドで変更されるファイルは下記の通りです。

文字コードの変更
[root@centos ~]# cat /etc/locale.conf
LANG=ja_JP.UTF-8
キーマップの変更(VC Keymap)
[root@centos ~]# cat /etc/vconsole.conf
KEYMAP=jp
FONT=eurlatgr
キーマップの変更(X11 Layout)

少々整形しています。

[root@centos ~]# cat /etc/X11/xorg.conf.d/00-keyboard.conf
Section "InputClass"
    Identifier "system-keyboard"
    MatchIsKeyboard "on"
    Option "XkbLayout" "jp"
EndSection

タイムゾーンの変更

英語環境

英語環境のロケール設定は下記のようになっています。

[root@centos ~]# timedatectl status
               Local time: 月 2021-07-05 05:32:35 EDT
           Universal time: 月 2021-07-05 09:32:35 UTC
                 RTC time: 月 2021-07-05 18:32:34
                Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

タイムゾーンの変更

タイムゾーンをAsia/Tokyoに変更します。TABで補完されます。

[root@centos ~]# timedatectl set-timezone Asia/Tokyo

変更後の状態です。

[root@centos ~]# timedatectl status
               Local time: 月 2021-07-05 18:46:42 JST
           Universal time: 月 2021-07-05 09:46:42 UTC
                 RTC time: 月 2021-07-05 18:46:41
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

補足

timedatectl set-timezoneでタイムゾーンを変更すると/etc/localtimeが変更されます。具体的には/etc/localtimeはシンボリックリンクであり、元のファイルは/usr/share/zoneinfo内にあります。

[root@centos ~]# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 32  7月  5 18:36 /etc/localtime -> ../usr/share/zoneinfo/Asia/Tokyo

目次に戻る

CentOS8 英語環境から日本語環境への変更

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

トップへ戻る