Chefを使って、Ubuntuのタイムゾーンを日本時間(JST)に設定する

Updated:

Ubuntu Linuxでは、タイムゾーンは/etc/localtimeファイルの内容で決まります。日本の会社が提供するVPSでは、あらかじめタイムゾーンが日本時間(JST)に設定されています。

しかし、海外のVPSやVagrantのOSイメージでは、タイムゾーンが現地のものなっていたり、UTCになっているのが普通です。このままでは何かと不便なので、タイムゾーンの設定をJSTに変えたいところです。

各タイムゾーンを表わすファイルは、/usr/share/zoneinfoの中に置かれています。例えば、日本時間(JST)の場合には、/usr/share/zoneinfo/Japanです。/etc/localtimeから、/usr/share/zoneinfoのファイルにシンボリックリンクを張ることによって、マシンのタイムゾーン設定を変えることができます。

次のコマンドを実行すると、日本時間(JST)になります。

$ sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime

これをChefのレシピで実現すると次のようになります。linkリソースによってシンボリックリンクを張るだけの簡単な内容です。

#
# chefのレシピ: UbuntuでTimezoneを日本時間(JST)にする
#

link "/etc/localtime" do
  to "/usr/share/zoneinfo/Japan"
end