Ubuntu だけに限った話ではないが、海外の IaaS サービス(EC2 など)や仮想専用サーバ(VPS)を使う際に、ロケールやタイムゾーンを日本向けの環境に変更しておく必要がある場合がある。
ここではその簡単な手順をメモしておく。
環境は、Ubuntu 10.04 LTS Server (厳密には、TurnKey Linux)。
Table of Contents
ロケールの変更
まずはロケール。以下の状況となっている。
# locale
LANG=en_GB
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
# cat /etc/default/locale
LANG=en_GB
日本語の Language support package をインストールし、ロケールをアップデートする。
# apt-get install language-support-ja
...(インストールログは省略)...
# dpkg-reconfigure locales
Generating locales...
en_GB.ISO-8859-1... done
ja_JP.UTF-8... up-to-date
Generation complete.
# update-locale LANG=ja_JP.UTF-8
上記の作業で基本 OK。
# cat /etc/default/locale
LANG=ja_JP.UTF-8
/etc/default/locale
も変更されている。ただ、これだけでは、LC_xxx
系の環境変数までは変わらない。
/etc/default/locale
に LC_ALL=ja_JP.UTF-8
も追加しておく。
# echo "LC_ALL=ja_JP.UTF-8" >> /etc/default/locale
# cat /etc/default/locale
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
ここで一旦 reboot をかけておく。
# shutdown -r now
確認する。
# locale
LANG=ja_JP.UTF-8
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=ja_JP.UTF-8
OK だ。
タイムゾーンの変更
次にタイムゾーン。以下の状況となっている。
# date
2011年 6月 4日 土曜日 14:20:49 UTC
GUI で変える方法もあるが、以下でやってしまう。
# mv /etc/localtime{,.org}
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
確認する。
# date
2011年 6月 4日 土曜日 23:22:10 JST
OK だ。