前置き
VM環境にCentOS8.5を構築しました。
しかし、インストール中に画面をスリープさせた影響なのかロケール設定を日本に設定する前に構築が完了したため、言語が英語になっており日時情報もずれており、キーボード入力もUS仕様になっていました。
普段使い用に諸々の設定を日本語仕様に修正する備忘録です。
基本的にターミナルを使ったCLI上から設定情報を変更する手順を備忘録として残します。
VM環境がインターネットへ接続出来ていることが条件です。
事前にpingコマンド等で接続確認してください。
# Google DNSへping確認
ping 8.8.8.8
ロケール設定変更
1. ロケール設定確認
現時点での設定状況を確認する
localectl status
# 出力結果
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: us
usになっていました。
2.使用可能なロケールの一覧を確認
ja_JP.UTF-8 が一覧に含まれていることを確認します。
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
・
・
・
jaがありませんでしたので、日本語適用させるためのパッケージを適応させる必要があります。
glibc-langpack-ja パッケージをインストール
日本語ロケールを使用するために、glibc-langpack-ja パッケージをインストールします。
sudo dnf install glibc-langpack-ja
# 出力結果
・
・
Installed:
glibc-langpack-ja-2.28-164.el8.x86_64
Complete!
[taki@localhost ~]$
日本語ロケールを生成する
glibc-langpack-ja パッケージをインストールしたら、日本語のロケールが生成可能になるため生成します。
sudo localectl set-locale LANG=ja_JP.UTF-8
構築直後のCentOSでdnfまたはyumコマンド実行時にエラーが発生した場合下記を確認
サポートが切れているCentOSを使用した際にリポジトリの参照先がエラーを起こす可能性があるため下記リンク先の記事に従って確認してください。
下記記事は私が対応した備忘録です。
[CentOS構築後yum,dnfコマンドエラーによりパッケージのDLが出来ない問題の対処備忘録]
https://qiita.com/tacky0127/items/7f9d3898eb4226fc6b68
ロケールを反映させる
ロケールの設定が変更された後、再ログインまたはシステムの再起動が必要です。
sudo reboot
設定の確認
再起動後に、設定が正しく反映されているか確認します。
localectl status
キーボード設定変更
VC Keymapの変更(仮想コンソールのキーボード配列)
仮想コンソール(テキストモード)でのキーボード配列をjaに変更するには、以下のコマンドを実行します。
sudo localectl set-keymap jp
X11 Layoutの変更(GUIでのキーボードレイアウト)
GUI環境でのキーボードレイアウトをjaに変更するには、以下のコマンドを実行します。
sudo localectl set-x11-keymap jp
設定の確認
変更後、再度設定を確認して正しく反映されているかを確認します。
VC KeymapとX11 Layoutがjpまたはjaとなっていれば、設定は正しく変更されています。
localectl status
再起動または再ログイン
設定を反映させるためには、再ログインまたは再起動が必要になる場合があります。
これで、キーボード配列が日本語に設定されます。
sudo reboot
設定が反映されてなかった時!
reboot後に設定が反映されていなかった場合、下記のファイルの設定内容を確認してください。
キーボード設定ファイルを確認
/etc/vconsole.confファイルを開いて、キーボードレイアウトが正しく設定されているか確認します。
cat /etc/vconsole.conf
以下のように表示されていれば問題ありません。
KEYMAP=jp
もし違っていたら、編集して jp に変更します。
sudo nano /etc/vconsole.conf
X11(GUI)の設定を確認
X11のキーボード設定が適用されていない可能性があるので、/etc/X11/xorg.conf.d/00-keyboard.confを確認します。もしこのファイルが存在しない場合、手動で作成します。
sudo cat /etc/X11/xorg.conf.d/00-keyboard.conf
以下のように表示されているか確認してください。
もしファイルが無かったり、記載が異なっていたら修正してください。
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "jp"
EndSection
編集する時は下記で実施
sudo nano /etc/X11/xorg.conf.d/00-keyboard.conf
上記設定ファイルにて問題がなければsettingから設定を確認します。
GUI上システム設定変更
設定ファイル上でJaが表示されていれば下記画面で設定変更ができるはずです。
Settingsを開く
Region & language選択
Input Sourcesを確認
→Japaneseがなければ+ボタンを押して追加してください。
追加後Japaneseを選択する
→キーボード入力した際に変更されてるか確認してください
日時設定変更
構築したVMの日時がずれていました。
下記コマンドで状態を確認できます。
確認したところTime zoneがAmericaになっていました。
日本時間へ修正します。
timedatectl status
# 出力結果の詳細
現在のシステム時刻(Local time)
UTC時刻(Universal time)
ハードウェアクロック(RTC time)
タイムゾーン(Time zone)
NTPの状態(NTP synchronized)
タイムゾーンの修正
sudo timedatectl set-timezone Asia/Tokyo
再度、timedatectl statusを実行して、タイムゾーンが Asia/Tokyo になっていることを確認します。
timedatectl status
# 出力結果
Local time: Wed 2024-09-18 17:50:23 JST
Universal time: Wed 2024-09-18 08:50:23 UTC
RTC time: Wed 2024-09-18 08:50:23
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
NTPの確認
NTPサーバーを使用して自動的に時刻を同期することが推奨されます。以下のコマンドでNTPが有効か確認し、有効でなければ有効化します。
# NTP動作確認
timedatectl show | grep NTP
# NTP有効化
sudo timedatectl set-ntp true
手動で日時を設定(必要な場合のみ)
NTPを使用せず、手動で時刻を設定したい場合は、以下のコマンドを使用します。
まず、timedatectlで正しい日時を設定できます。
例:2024年9月18日14時30分 に設定する場合
sudo timedatectl set-time '2024-09-18 14:30:00'
ハードウェアクロックの同期
システムの時刻が正しく設定されたら、ハードウェアクロック(RTC)もシステム時刻に同期させておきます。
sudo hwclock --systohc
設定再確認
設定後、再度timedatectl statusコマンドを実行して、日時が正しく設定されているか確認してください。
timedatectl status
以上で終了です。お疲れ様でした。