手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 タイムゾーンとロケールの設定 – timedatectl と locale を確認する

Ubuntu 26.04 初期設定の記事

Ubuntu 26.04 をサーバーとして運用する場合、タイムゾーンとロケールは初期段階で確認しておく方が安全です。時刻はログ、cron、systemd timer、監視、メール配送の追跡に影響し、ロケールはシェル表示や文字コード、コマンド出力の読みやすさに関係します。

実際の構成管理では、タイムゾーンは全体共通の値として Asia/Tokyo に収束させています。一方で、ロケールは同じロールの責務には含めず、必要に応じて手動確認や別管理に分けます。この記事では、その考え方を手動手順として整理します。

この記事で整理すること
  • system timezone を timedatectl で確認する
  • タイムゾーンを Asia/Tokyo に設定する
  • /etc/localtime の参照先を確認する
  • ロケールの現在値と利用可能な locale を確認する
  • 必要に応じて LANG を設定し、再ログイン後に確認する
対象 OSUbuntu 26.04 Server
タイムゾーン例Asia/Tokyo
確認コマンドtimedatectl, locale, localectl
主な設定ファイル/etc/localtime, /etc/default/locale
注意点NTP / chrony は別記事の範囲として扱う
  1. STEP 1 現在のタイムゾーンを確認する
  2. STEP 2 利用可能なタイムゾーンを確認する
  3. STEP 3 system timezone を設定する
  4. STEP 4 /etc/localtime を確認する
  5. STEP 5 ロケールの現在値を確認する
  6. STEP 6 必要に応じて locale を生成・設定する
参考
書籍
参考書籍
Advanced Ubuntu Administration and Management Best Practices

Ubuntu Server の基本設定と運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

タイムゾーンと時刻同期は分けて考える

タイムゾーンは、システムが時刻をどの地域の表記として扱うかを決める設定です。一方、時刻同期は、NTP や chrony によって実際の時計を正しい時刻へ合わせる仕組みです。

この 2 つは近い話題ですが、責務は別です。タイムゾーンを Asia/Tokyo にしても、それだけで時刻同期が正しくなるわけではありません。時刻同期の詳細は chrony 側で扱い、ここでは system timezone の設定に集中します。

ログを読む時に UTC と JST が混在すると、障害調査で時系列を誤解しやすくなります。サーバー群で同じ方針を取る場合は、全ホストで同じタイムゾーンに揃えておくと運用上わかりやすくなります。

現在のタイムゾーンを確認する

まず、現在の timezone と時刻同期の状態を確認します。ここでは timezone の値を主に見ます。

コマンド
timedatectl status
timedatectl show -p Timezone --value
date
出力例
Asia/Tokyo
Sun Jun 14 14:30:00 JST 2026

利用可能なタイムゾーンを確認する

指定するタイムゾーン名が存在するか確認します。Ubuntu では timedatectl list-timezones で一覧を確認できます。

コマンド
timedatectl list-timezones | grep '^Asia/Tokyo$'
出力例
Asia/Tokyo

タイムゾーンを設定する

タイムゾーンは timedatectl set-timezone で設定します。設定後に timedatectl show で値を確認します。

コマンド
sudo timedatectl set-timezone Asia/Tokyo
timedatectl show -p Timezone --value
timedatectl status

設定変更後にサービスを個別に再起動する必要は基本的にありません。ただし、長時間動作しているアプリケーションが内部でタイムゾーン情報を保持している場合は、アプリケーション側の再起動が必要になることがあります。

/etc/localtime を確認する

Linux では、/etc/localtime がタイムゾーン情報を参照します。Ubuntu では通常、/usr/share/zoneinfo 配下へのシンボリックリンクになります。

コマンド
ls -l /etc/localtime
readlink -f /etc/localtime
出力例
/etc/localtime -> /usr/share/zoneinfo/Asia/Tokyo
/usr/share/zoneinfo/Asia/Tokyo

ロケールを確認する

ロケールは、言語、文字コード、日付や数値の表示形式などに影響します。サーバー用途では、表示の一貫性を重視して C.UTF-8en_US.UTF-8 を使うこともありますし、日本語表示を重視する場合は ja_JP.UTF-8 を使うこともあります。

コマンド
locale
localectl status
locale -a | grep -E '^(C\.UTF-8|en_US\.utf8|ja_JP\.utf8)$'
サーバー上のコマンド出力を英語で揃えたい場合は en_US.UTF-8C.UTF-8、日本語の表示を優先する場合は ja_JP.UTF-8 を選びます。どちらが正しいというより、ログや手順の読みやすさを含めて環境内で揃えることが重要です。

必要な locale を生成する

目的の locale が存在しない場合は、locale-gen で生成します。ここでは ja_JP.UTF-8 を例にします。

コマンド
sudo locale-gen ja_JP.UTF-8
locale -a | grep '^ja_JP\.utf8$'

デフォルトロケールを設定する

システムのデフォルトロケールは update-locale で設定します。反映は新しいログインセッションから確認するのがわかりやすいです。

コマンド
sudo update-locale LANG=ja_JP.UTF-8
cat /etc/default/locale
出力例
LANG=ja_JP.UTF-8

英語出力を優先する場合は、次のように en_US.UTF-8 を設定します。

コマンド
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8

再ログイン後に確認する

ロケールは現在のログインセッションに残る環境変数の影響を受けるため、設定後は一度ログアウトしてから確認します。SSH 接続であれば、再接続後に確認します。

コマンド
locale
localectl status
date
timedatectl show -p Timezone --value

まとめ

Ubuntu 26.04 のタイムゾーンは timedatectl set-timezone で設定し、timedatectl show -p Timezone --value/etc/localtime で確認します。これは system timezone の設定であり、NTP や chrony による時刻同期とは分けて扱います。

ロケールは、サーバーの出力を英語で揃えるか、日本語表示を使うかという運用方針に関係します。どちらにしても、localelocalectl/etc/default/locale を確認し、環境内で一貫した設定にしておくことが重要です。

Ubuntu 26.04 初期設定の記事
Ubuntu 26.04 タイムゾーンとロケールの設定 – timedatectl と locale を確認する

コメントを残す

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

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

トップへ戻る