Ubuntuでコマンドラインからタイムゾーン設定を変更する方法

Ubuntuでタイムゾーンを正しく設定するのは、時にやり過ぎのように感じるかもしれませんが、特にスケジュールされたタスクやサーバーログに依存している場合は重要です。設定を間違えると、タイムスタンプがおかしくなったり、セキュリティチェックが意味をなさなくなったりする可能性があります。この簡単なチュートリアルでは、コマンドラインから変更する方法を説明します。ヘッドレス環境やSSHでマシンに接続する場合など、GUIだけでは不十分だったり、GUIが利用できない場合もあります。設定は簡単ですが、後で必ず確認する必要がある項目の一つです。目標は?システムクロックを正しく設定することで、その後の作業がずっとスムーズになることです。

念のためお知らせですが、これらのコマンドには管理者権限が必要なので、sudo が有効になっているアカウントで実行してください。もし興味があれば、Ubuntu が正しいタイムゾーンで世界を認識するように設定すればいいのです。ログ記録の改善、スケジュール管理、あるいは単に混乱を避けるためなど、様々な目的に使えます。この設定が役に立つことを願っています。正直に言うと、Ubuntu はこの手順を忘れると少し不機嫌になることがあるからです。それでは早速始めましょう。

ステップ1:ターミナルを開く

まだ起動していない場合は、ターミナルを起動してください。クイックショートカットはCtrl+ Alt+ですT。リモートワークやサーバー上で作業している場合は、既にターミナルが開いているのでご安心ください。ターミナルは魔法のような機能をすべて実現する場所で、通常はメニューをたどるよりもずっと簡単です。

ステップ2: 現在のタイムゾーンを確認する

設定を変更する前に、システムが現在何をしているか確認しましょう。次のコマンドを実行してください。

timedatectl

「タイムゾーン」という行を探してください。これで、既にオフになっているかどうかがわかります。特にマシンを移動したりクローンしたりした場合は、デフォルトで間違っている場合があります。

ステップ3: 利用可能なすべてのタイムゾーンを一覧表示する

さて、正しいものを選ぶには、オプションが必要です。以下を使用してください。

timedatectl list-timezones

すると、地域と都市の長いリストが表示されます。スクロールしたり、オンラインで検索したりして、自分の所在地に一致するものを見つけてください。例えば、ニューヨークにいるなら 、America/New_Yorkロンドンにいるならおそらく ですEurope/London

正直言って、リストが膨大なので、ぴったりのゾーンを見つけるのはちょっと大変です。スペルミスや地域特有の変種が出てくることもありますが、大抵は簡単です。

ステップ4: 正しいタイムゾーンを設定する

適切なゾーン (Asia/TokyoまたはAmerica/Chicago) を取得したら、次を実行します。

sudo timedatectl set-timezone your-time-zone

見つかったものに置き換えてくださいyour-time-zone。例:

sudo timedatectl set-timezone Europe/London

パスワードを聞かれるので、入力してください。特別なことは何もなく、いつものsudoコマンドを実行するだけです。設定によっては1秒ほどかかる場合があり、再起動(または再ログイン)すると、すべてが確実に保存されることもあります。

ステップ5: 変更を確認する

目だけで判断せず、timedatectlもう一度実行してタイムゾーンの行を確認してください。これで設定通りになっているはずです。それでも正しく表示されない場合は、キャッシュをクリアするか、ネットワークサービスを再起動すると改善される場合もありますが、ほとんどの場合、それだけで解決します。

追加のヒントとトラブルシューティング

行き詰まってしまいましたか?次に試すべきことは次のとおりです。

  • 正しい構文を使用しているか再度確認してください。余分な文字やタイプミスがないか確認してください。*list-timezones* コマンドは、名前を検索するのに最適です。
  • システムがダウングレードを拒否したり、変更を拒否したりする場合は、ユーザーにsudo権限があるかどうかを確認してください。変更が反映されていない場合は、再度ログインしてみてください。
  • 稀に、ハードウェアクロックが誤って設定されている場合があります。sudo hwclock --systohc念のため、タイムゾーンを変更してから実行することで同期できます。
  • 一部のマシンでは、再起動するか、少なくとも再度ログインすると、変更がすべての場所で有効になります。BIOS クロックは OS のタイムゾーン設定を無視する傾向があるため、注意してください。

結論

というわけで、これで完了です。Ubuntuでコマンドラインからタイムゾーンを変更するのは、どこを見れば良いか、何を実行すれば良いかさえ分かれば、それほど難しくありません。これは、ログの精度を高め、スケジュールされたジョブの混乱を軽減する、ちょっとした変更の一つです。コマンドが最初の試行でうまくいかなくても、慌てないでください。タイムゾーン名と適切なsudo権限があるかどうかを再確認してください。場合によっては、再起動するだけで問題が解決することもあります。

まとめ

  • ターミナルを開くCtrl + Alt + T
  • 現在のタイムゾーンを確認するtimedatectl
  • 利用可能なゾーンを一覧表示するtimedatectl list-timezones
  • 新しいタイムゾーンを設定:sudo timedatectl set-timezone your-zone
  • timedatectl再度確認

まとめ

これらのコマンドを使えば、メニューをあれこれ操作するよりも早く設定が完了するはずです。一度正しく設定すれば、ログ、cronジョブ、タイムスタンプなど、他の設定もすべて揃います。もちろん、Ubuntuでは一部の設定を必要以上に複雑にしてしまうこともあるからです。幸運を祈ります。システムクロックが常に正確であることをお祈りします!