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


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リソースによってシンボリックリンクを張るだけの簡単な内容です。