VPSサーバーでWebサイト公開 備忘録 ~Linux、MySQLからAJAXまで

CentOS Stream9の環境設定(ロケール、時刻設定等)

システムロケールの設定、日本語環境の設定、時刻・タイムゾーン等の環境設定の方法についてまとめました。

※目次をクリックすると目次の下部にコンテンツが表示されます。

ロケールの設定方法
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
日本語環境の設定
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)日本語の言語パックパッケージをインストール
 
# 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)システムの現在日時の表示
 
$ 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 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 のステータスを確認
# 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

モバイルバージョンを終了