手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 タイムゾーンとロケールの設定 – timedatectl と localectl を使う

関連する記事

Ubuntu 26.04 のサーバー管理では、タイムゾーン、時刻同期、ロケールを最初に確認しておくと、ログ時刻、監視通知、スクリプト出力の読み違いを減らせます。タイムゾーンは timedatectl、ロケールやキーボードは localectl で確認します。

この記事では、タイムゾーン、NTP 同期状態、ロケール、文字コード、キーボード設定、環境変数としての locale 設定、再起動後の確認を扱います。

現在の設定を確認する

まず時刻、タイムゾーン、NTP 同期、ロケール、キーマップを確認します。

date
timedatectl
locale
localectl

タイムゾーンを確認する

現在のタイムゾーンと利用可能なタイムゾーンを確認します。日本で運用するサーバーでは Asia/Tokyo を使うことが多いです。

timedatectl show -p Timezone -p NTPSynchronized -p LocalRTC
timedatectl list-timezones | grep '^Asia/'
timedatectl list-timezones | grep '^Asia/Tokyo$'

タイムゾーンを設定する

タイムゾーンを設定します。設定後は datetimedatectl の両方で確認します。

sudo timedatectl set-timezone Asia/Tokyo
date
timedatectl

NTP 同期状態を確認する

時刻そのものは chrony などの NTP クライアントで同期します。ここでは systemd 側から見える同期状態を確認します。

timedatectl timesync-status
systemctl status chrony.service --no-pager
chronyc tracking
chronyc sources -v

ローカル RTC の扱いを確認する

サーバーでは RTC を UTC として扱う構成が基本です。特別な理由がなければ LocalRTC=no にします。

timedatectl show -p LocalRTC
sudo timedatectl set-local-rtc 0
timedatectl show -p LocalRTC

ロケールを確認する

現在の locale と利用可能な locale を確認します。サーバーでは en_US.UTF-8ja_JP.UTF-8 を用途に応じて選びます。

locale
locale -a
localectl status

日本語 UTF-8 ロケールを生成する

ja_JP.UTF-8 が存在しない場合は、locale を生成します。

sudo locale-gen ja_JP.UTF-8
locale -a | grep '^ja_JP.utf8$'
localectl list-locales | grep '^ja_JP.UTF-8$'

システムロケールを設定する

システム全体の既定 locale を設定します。管理用サーバーでは、出力の安定性を重視して LANG=C.UTF-8LANG=en_US.UTF-8 を選ぶこともあります。

sudo localectl set-locale LANG=ja_JP.UTF-8
localectl status
locale

/etc/default/locale を明示する

環境によっては /etc/default/locale を明示的に管理します。サーバー標準として揃える場合は、必要な値だけを設定します。

sudo tee /etc/default/locale >/dev/null <<'EOF'
LANG=ja_JP.UTF-8
LC_TIME=ja_JP.UTF-8
EOF
cat /etc/default/locale

一時的に locale を変えて確認する

コマンド出力やスクリプトの挙動を確認する時は、一時的に locale を変えて実行できます。

LANG=C.UTF-8 date
LANG=ja_JP.UTF-8 date
LC_ALL=C.UTF-8 sort --version

キーボード設定を確認する

物理コンソールや仮想コンソールを使うサーバーでは、キーボード設定も確認します。SSH 中心の運用でも、復旧作業時に必要になることがあります。

localectl status
localectl list-keymaps | grep '^jp$'
sudo localectl set-keymap jp
localectl status

設定ファイルを確認する

タイムゾーンと locale の実体を確認します。直接編集よりも、通常は timedatectllocalectl で設定します。

readlink -f /etc/localtime
cat /etc/timezone
cat /etc/default/locale

ログ時刻を確認する

タイムゾーン変更後は、journal とファイルログの時刻表示を確認します。監視通知とログ時刻がずれていないかを見るためです。

journalctl -b -n 20 --no-pager
journalctl -b -o short-iso -n 20 --no-pager
sudo tail -n 20 /var/log/syslog

再起動後に確認する

設定が永続化されているか、再起動後に確認します。

timedatectl
locale
localectl
journalctl -b -n 20 --no-pager

確認項目

  • タイムゾーンが運用方針どおりか。
  • NTP 同期が有効で、時刻がずれていないか。
  • 必要な locale が生成されているか。
  • システム locale が想定どおりか。
  • ログ時刻と監視通知の時刻が読み違いなく対応できるか。
  • 再起動後も設定が残っているか。

まとめ

Ubuntu 26.04 のタイムゾーンとロケール設定では、timedatectllocalectllocalejournalctl を組み合わせて確認します。時刻と文字コードの前提が揃っていると、ログ調査、監視、運用スクリプトの結果を安定して扱えます。

関連する記事
Ubuntu 26.04 タイムゾーンとロケールの設定 – timedatectl と localectl を使う

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る