⏱️

[Linux(Ubuntu)]タイムゾーンを日本時間にする5つの方法まとめ

2 min read

環境

Ubuntu18をVirtualbox/Vagrantの仮想環境で動かしている。

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

設定方法(5つ)

全ユーザーで同じタイムゾーン設定するなら個人的には5つ目が楽でお勧めです。

(1)/etc/localtimeを変更

$ cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

上記だけで他のユーザーも同様のタイムゾーンに設定される。

(2)環境変数TZを設定

$ export TZ="Asia/Tokyo"

上記の設定は現在のユーザーにしか適用されない。
(試しに現在のユーザーで上記の環境変数を設定した後にrootになってからuptimeコマンドを打ってみればわかる。)

(3)tzselectコマンドから設定すべきタイムゾーンを知る

tzselect自体はタイムゾーンの値を確認するための対話コマンド。

上記のように質問が来るので数字を入力してEnterすることで選択を進めていく。

上記の

TZ='Asia/Tokyo'; export TZ

を~/.bash_profileに於けばそのホームディレクトリのユーザーのタイムゾーンは変更される。

もしくは/etc/timezoneに

Asia/Tokyo

を記入する。(これで全ユーザーに適用される)

(4)tzconfig(もしくはdpkg-reconfigure tzdata)で設定

$ tzconfig
WARNING: the tzconfig command is deprecated, please use:
dpkg-reconfigure tzdata

tzconfigは最近のLinuxディストリビューションでは使えないみたい。。。なのでお勧めされている『dpkg-reconfigure tzdata』を使ってみよう。

-- rootユーザーに切り替えてからやるかsudoでやるように
$ sudo dpkg-reconfigure tzdata

下記のようにカラフルな選択画面が出てくる。

上記で選択をしていけば、どのユーザーでもタイムゾーンは統一される。

(5)timedatectlで設定

$ timedatectl set-timezone Asia/Tokyo
$ cat /etc/timezone
Asia/Tokyo

問題なく全ユーザーのタイムゾーン設定が出来ている。

ちなみに余談だがtimedatectlコマンドを用いれば下記でタイムゾーン表記の確認も出来る。

$ timedatectl list-timezones | grep -i tokyo
Asia/Tokyo

※『grep -i』は大文字小文字を区別せずに文字検索するコマンド-オプション

本日は以上です。