Ubuntu 26.04 をサーバーとして運用する場合、タイムゾーンとロケールは初期段階で確認しておく方が安全です。時刻はログ、cron、systemd timer、監視、メール配送の追跡に影響し、ロケールはシェル表示や文字コード、コマンド出力の読みやすさに関係します。
実際の構成管理では、タイムゾーンは全体共通の値として Asia/Tokyo に収束させています。一方で、ロケールは同じロールの責務には含めず、必要に応じて手動確認や別管理に分けます。この記事では、その考え方を手動手順として整理します。
- system timezone を
timedatectlで確認する - タイムゾーンを
Asia/Tokyoに設定する /etc/localtimeの参照先を確認する- ロケールの現在値と利用可能な locale を確認する
- 必要に応じて
LANGを設定し、再ログイン後に確認する
| 対象 OS | Ubuntu 26.04 Server |
|---|---|
| タイムゾーン例 | Asia/Tokyo |
| 確認コマンド | timedatectl, locale, localectl |
| 主な設定ファイル | /etc/localtime, /etc/default/locale |
| 注意点 | NTP / chrony は別記事の範囲として扱う |
- STEP 1 現在のタイムゾーンを確認する
- STEP 2 利用可能なタイムゾーンを確認する
- STEP 3 system timezone を設定する
- STEP 4
/etc/localtimeを確認する - STEP 5 ロケールの現在値を確認する
- STEP 6 必要に応じて locale を生成・設定する
書籍
Ubuntu Server の基本設定と運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
タイムゾーンと時刻同期は分けて考える
タイムゾーンは、システムが時刻をどの地域の表記として扱うかを決める設定です。一方、時刻同期は、NTP や chrony によって実際の時計を正しい時刻へ合わせる仕組みです。
この 2 つは近い話題ですが、責務は別です。タイムゾーンを Asia/Tokyo にしても、それだけで時刻同期が正しくなるわけではありません。時刻同期の詳細は chrony 側で扱い、ここでは system timezone の設定に集中します。
現在のタイムゾーンを確認する
まず、現在の timezone と時刻同期の状態を確認します。ここでは timezone の値を主に見ます。
timedatectl status
timedatectl show -p Timezone --value
dateAsia/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-8 や en_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-8 や C.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/localeLANG=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 による時刻同期とは分けて扱います。
ロケールは、サーバーの出力を英語で揃えるか、日本語表示を使うかという運用方針に関係します。どちらにしても、locale、localectl、/etc/default/locale を確認し、環境内で一貫した設定にしておくことが重要です。




