システムロケールの設定、日本語環境の設定、時刻・タイムゾーン等の環境設定の方法についてまとめました。
※目次をクリックすると目次の下部にコンテンツが表示されます。
ロケールの設定方法
1)ロケール設定について
・システム全体にわたるロケール設定は /etc/locale.conf ファイルに保存され、システム起動の初期段階で systemd デーモンにより読み込まれる。
・/etc/locale.conf に設定したロケール設定は、個別のプログラムやユーザーが上書きしない限り、すべてのサービスやユーザーに継承される。
2)ロケール設定のパッケージ
〇パッケージの確認
$ rpm -qf /etc/locale.conf
systemd-252-18.el9.x86_64
〇systemdパッケージにlocaleに関わる主なファイル
$ rpm -ql systemd-252-18.el9.x86_64 | grep locale
/etc/locale.conf
/usr/bin/localectl
/usr/lib/systemd/system/dbus-org.freedesktop.locale1.service
/usr/lib/systemd/system/systemd-localed.service
/usr/lib/systemd/systemd-localed
:
/usr/share/man/man1/localectl.1.gz
/usr/share/man/man5/locale.conf.5.gz
/usr/share/man/man5/org.freedesktop.locale1.5.gz
/usr/share/man/man8/systemd-localed.8.gz
/usr/share/man/man8/systemd-localed.service.8.gz
:
:
3)現状のロケール設定内容の確認
〇現状の設定内容の確認
$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: (unset)
〇利用可能なシステムロケール設定をリスト表示
$ localectl list-locales
C.UTF-8
en_AU.UTF-8
en_BW.UTF-8
en_CA.UTF-8
en_DK.UTF-8
en_GB.UTF-8
en_HK.UTF-8
en_IE.UTF-8
en_NZ.UTF-8
en_PH.UTF-8
en_SC.UTF-8
en_SG.UTF-8
en_US.UTF-8
en_ZA.UTF-8
en_ZW.UTF-8
・システム全体にわたるロケール設定は /etc/locale.conf ファイルに保存され、システム起動の初期段階で systemd デーモンにより読み込まれる。
・/etc/locale.conf に設定したロケール設定は、個別のプログラムやユーザーが上書きしない限り、すべてのサービスやユーザーに継承される。
2)ロケール設定のパッケージ
〇パッケージの確認
$ rpm -qf /etc/locale.conf
systemd-252-18.el9.x86_64
〇systemdパッケージにlocaleに関わる主なファイル
$ rpm -ql systemd-252-18.el9.x86_64 | grep locale
/etc/locale.conf
/usr/bin/localectl
/usr/lib/systemd/system/dbus-org.freedesktop.locale1.service
/usr/lib/systemd/system/systemd-localed.service
/usr/lib/systemd/systemd-localed
:
/usr/share/man/man1/localectl.1.gz
/usr/share/man/man5/locale.conf.5.gz
/usr/share/man/man5/org.freedesktop.locale1.5.gz
/usr/share/man/man8/systemd-localed.8.gz
/usr/share/man/man8/systemd-localed.service.8.gz
:
:
3)現状のロケール設定内容の確認
〇現状の設定内容の確認
$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: (unset)
〇利用可能なシステムロケール設定をリスト表示
$ localectl list-locales
C.UTF-8
en_AU.UTF-8
en_BW.UTF-8
en_CA.UTF-8
en_DK.UTF-8
en_GB.UTF-8
en_HK.UTF-8
en_IE.UTF-8
en_NZ.UTF-8
en_PH.UTF-8
en_SC.UTF-8
en_SG.UTF-8
en_US.UTF-8
en_ZA.UTF-8
en_ZW.UTF-8
日本語環境の設定
1)言語パックの種類
①Langpacks
・システムにインストールされているすべてのパッケージに対する翻訳、ディクショナリー、およびロケールを含む追加のアドオンパッケージをインストールするメタパッケージ。
②glibcロケール言語パックパッケージ(glibc-langpack-“locale_code”)
・すべてのロケールは /usr/lib/locale/locale-archive ファイルに格納されるが、多くのディスク領域が必要になる。
・コンテナーやクラウドなど、ディスク容量が重要なシステム、または少数のロケールが必要なシステムでは、glibc ロケール言語パックパッケージ (glibc-langpack-“locale_code”) を使用できる。
2)利用可能な日本語の言語パックパッケージを確認
〇イストール済みの言語パックを確認
# dnf list –installed langpacks-*
Installed Packages
langpacks-core-en.noarch 3.0-16.el9 @AppStream
langpacks-core-font-en.noarch 3.0-16.el9 @AppStream
langpacks-en.noarch 3.0-16.el9 @AppStream
# dnf list –installed glibc-langpack-*
Installed Packages
glibc-langpack-en.x86_64 2.34-86.el9 @anaconda
〇利用可能な日本語の言語パックパッケージを確認
# dnf list –available langpacks-* | grep ja
langpacks-core-font-ja.noarch 3.0-16.el9 appstream
langpacks-core-ja.noarch 3.0-16.el9 appstream
langpacks-ja.noarch 3.0-16.el9 appstream
# dnf list –available glibc-langpack-* | grep ja
glibc-langpack-ja.x86_64 2.34-88.el9 baseos
3)日本語の言語パックパッケージをインストール
①Langpacks
・システムにインストールされているすべてのパッケージに対する翻訳、ディクショナリー、およびロケールを含む追加のアドオンパッケージをインストールするメタパッケージ。
②glibcロケール言語パックパッケージ(glibc-langpack-“locale_code”)
・すべてのロケールは /usr/lib/locale/locale-archive ファイルに格納されるが、多くのディスク領域が必要になる。
・コンテナーやクラウドなど、ディスク容量が重要なシステム、または少数のロケールが必要なシステムでは、glibc ロケール言語パックパッケージ (glibc-langpack-“locale_code”) を使用できる。
2)利用可能な日本語の言語パックパッケージを確認
〇イストール済みの言語パックを確認
# dnf list –installed langpacks-*
Installed Packages
langpacks-core-en.noarch 3.0-16.el9 @AppStream
langpacks-core-font-en.noarch 3.0-16.el9 @AppStream
langpacks-en.noarch 3.0-16.el9 @AppStream
# dnf list –installed glibc-langpack-*
Installed Packages
glibc-langpack-en.x86_64 2.34-86.el9 @anaconda
〇利用可能な日本語の言語パックパッケージを確認
# dnf list –available langpacks-* | grep ja
langpacks-core-font-ja.noarch 3.0-16.el9 appstream
langpacks-core-ja.noarch 3.0-16.el9 appstream
langpacks-ja.noarch 3.0-16.el9 appstream
# dnf list –available glibc-langpack-* | grep ja
glibc-langpack-ja.x86_64 2.34-88.el9 baseos
3)日本語の言語パックパッケージをインストール
# dnf install langpacks-ja glibc-langpack-ja : ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: glibc-langpack-ja x86_64 2.34-88.el9 baseos 345 k langpacks-ja noarch 3.0-16.el9 appstream 11 k Upgrading: glibc x86_64 2.34-88.el9 baseos 2.0 M glibc-common x86_64 2.34-88.el9 baseos 319 k glibc-gconv-extra x86_64 2.34-88.el9 baseos 1.7 M glibc-langpack-en x86_64 2.34-88.el9 baseos 671 k Installing dependencies: google-noto-cjk-fonts-common noarch 20230817-1.el9 appstream 12 k google-noto-sans-cjk-ttc-fonts noarch 20230817-1.el9 appstream 81 M langpacks-core-font-ja noarch 3.0-16.el9 appstream 11 k langpacks-core-ja noarch 3.0-16.el9 appstream 11 k Installing weak dependencies: google-noto-serif-cjk-ttc-fonts noarch 20230817-1.el9 appstream 116 M : : Upgraded: glibc-2.34-88.el9.x86_64 glibc-common-2.34-88.el9.x86_64 glibc-gconv-extra-2.34-88.el9.x86_64 glibc-langpack-en-2.34-88.el9.x86_64 Installed: glibc-langpack-ja-2.34-88.el9.x86_64 google-noto-cjk-fonts-common-20230817-1.el9.noarch google-noto-sans-cjk-ttc-fonts-20230817-1.el9.noarch google-noto-serif-cjk-ttc-fonts-20230817-1.el9.noarch langpacks-core-font-ja-3.0-16.el9.noarch langpacks-core-ja-3.0-16.el9.noarch langpacks-ja-3.0-16.el9.noarch Complete!
4)システムロケールの設定変更
①利用可能なシステムロケール設定をリスト表示
# localectl list-locales
:
:
ja_JP.UTF-8
②システムロケールの設定変更
# localectl set-locale LANG=ja_JP.UTF-8 # localectl status System Locale: LANG=ja_JP.UTF-8 VC Keymap: us X11 Layout: (unset)
5)キーボードレイアウトの設定
キーボードレイアウト設定では、テキストコンソールとグラフィカルユーザーインターフェイスで使用するレイアウトを管理する。
①日本語関連の利用可能なキーマップをリスト表示
# localectl list-keymaps | grep jp
jp
jp-OADG109A
jp-dvorak
jp-kana86
jp106
②キーマップの設定変更
# localectl set-keymap jp106 # localectl status System Locale: LANG=ja_JP.UTF-8 VC Keymap: jp106 X11 Layout: jp X11 Model: jp106 X11 Options: terminate:ctrl_alt_bksp
時刻を設定・表示するツール
1)日付・時刻を設定・表示するツール
・timedatectlユーティリティー
・従来のdateコマンド
2)timedatectlユーティリティー
・systemdシステムおよびサービスマネージャーの一部として配布。
・システムクロックの設定を確認・変更
・現在の日付および時間の変更、タイムゾーンの設定、リモートサーバーとシステムクロックとの自動同期の有効化が可能。
$ which timedatectl
/usr/bin/timedatectl
$ rpm -qf /usr/bin/timedatectl
systemd-252-18.el9.x86_64
$ rpm -ql systemd | grep timedatectl
/usr/bin/timedatectl
/usr/share/bash-completion/completions/timedatectl
/usr/share/man/man1/timedatectl.1.gz
/usr/share/zsh/site-functions/_timedatectl
3)システムの現在日時の表示
・timedatectlユーティリティー
・従来のdateコマンド
2)timedatectlユーティリティー
・systemdシステムおよびサービスマネージャーの一部として配布。
・システムクロックの設定を確認・変更
・現在の日付および時間の変更、タイムゾーンの設定、リモートサーバーとシステムクロックとの自動同期の有効化が可能。
$ which timedatectl
/usr/bin/timedatectl
$ rpm -qf /usr/bin/timedatectl
systemd-252-18.el9.x86_64
$ rpm -ql systemd | grep timedatectl
/usr/bin/timedatectl
/usr/share/bash-completion/completions/timedatectl
/usr/share/man/man1/timedatectl.1.gz
/usr/share/zsh/site-functions/_timedatectl
3)システムの現在日時の表示
$ date 2023年 11月 30日 木曜日 06:57:05 UTC $ timedatectl Local time: 木 2023-11-30 06:57:18 UTC Universal time: 木 2023-11-30 06:57:18 UTC RTC time: 木 2023-11-30 06:57:18 Time zone: UTC (UTC, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no
タイムゾーンの変更
1)利用可能なタイムゾーンのリストを表示
$ timedatectl list-timezones | grep Tokyo
Asia/Tokyo
2)タイムゾーンをAsia/Tokyoに変更
$ timedatectl list-timezones | grep Tokyo
Asia/Tokyo
2)タイムゾーンをAsia/Tokyoに変更
# timedatectl set-timezone Asia/Tokyo # timedatectl Local time: 木 2023-11-30 16:03:00 JST Universal time: 木 2023-11-30 07:03:00 UTC RTC time: 木 2023-11-30 07:03:00 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no
時刻同期の設定
1)正確な時間管理
・NTPプロトコルを利用。
・デーモンにより、ユーザー領域に実装されている。
・ユーザー領域のデーモンは、カーネルで実行しているシステムクロックを更新。
→システムクロックは、さまざまなクロックソースを使用して時間を維持する。
・RHEL9以降のバージョンでは、chronyd デーモンを使用して NTP を実装
2)Chronyの概要
●Chrony スイートを使用した NTP の設定
・システムクロックを、NTP サーバーと同期する
・システムクロックを、GPS レシーバーなどの基準クロックと同期する
・システムクロックを、手動で入力した時間と同期する
・ネットワーク内の他のコンピューターにタイムサービスを提供(NTPv4サーバーまたはピアとして)
●Chrony スイートの構成
①chronyd
・ユーザー空間で実行されるデーモン。
・デフォルトでは、chronyd は chronyc のローカルインスタンスのコマンドのみを受け付けるが、リモートホストから監視コマンドを受け付けるように設定することも可能。リモートアクセスは制限する必要がある。
②chronyc
・コマンドラインプログラム
・chronyd のパフォーマンスを監視。
・実行時にさまざまなOSパラメーターを変更するのに使用
・chronyc を使用して変更した内容は永続的ではなく、chronyd を再起動すると元に戻る。永続的に変更する場合は、/etc/chrony.conf を変更する。
3)chronydの使用方法
●chronyd のステータスを確認
・NTPプロトコルを利用。
・デーモンにより、ユーザー領域に実装されている。
・ユーザー領域のデーモンは、カーネルで実行しているシステムクロックを更新。
→システムクロックは、さまざまなクロックソースを使用して時間を維持する。
・RHEL9以降のバージョンでは、chronyd デーモンを使用して NTP を実装
2)Chronyの概要
●Chrony スイートを使用した NTP の設定
・システムクロックを、NTP サーバーと同期する
・システムクロックを、GPS レシーバーなどの基準クロックと同期する
・システムクロックを、手動で入力した時間と同期する
・ネットワーク内の他のコンピューターにタイムサービスを提供(NTPv4サーバーまたはピアとして)
●Chrony スイートの構成
①chronyd
・ユーザー空間で実行されるデーモン。
・デフォルトでは、chronyd は chronyc のローカルインスタンスのコマンドのみを受け付けるが、リモートホストから監視コマンドを受け付けるように設定することも可能。リモートアクセスは制限する必要がある。
②chronyc
・コマンドラインプログラム
・chronyd のパフォーマンスを監視。
・実行時にさまざまなOSパラメーターを変更するのに使用
・chronyc を使用して変更した内容は永続的ではなく、chronyd を再起動すると元に戻る。永続的に変更する場合は、/etc/chrony.conf を変更する。
3)chronydの使用方法
●chronyd のステータスを確認
# systemctl status chronyd chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; preset: > Active: active (running) since Wed 2023-11-29 16:00:11 JST; 24h ago Docs: man:chronyd(8) man:chrony.conf(5) Process: 587 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SU> Main PID: 596 (chronyd) Tasks: 1 (limit: 4634) Memory: 4.3M CPU: 96ms CGroup: /system.slice/chronyd.service mq596 /usr/sbin/chronyd -F 2
●chronydの開始、停止
# systemctl start chronyd
# systemctl stop chronyd
●システム起動時の自動起動の設定
# systemctl enable chronyd