【Linux】タイムゾーン(Timezone)の変更

  • 346
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

タイムゾーン変更手順

以下はすべてrootで実行します。

1. 現在の確認
タイムゾーンはUTCになっている。

# date
Thu May 31 16:25:06 UTC 2012

# strings /etc/localtime
TZif2
TZif2
UTC0

2. タイムゾーンを変更

### オリジナルをバックアップ
cp /etc/localtime /etc/localtime.org

### タイムゾーンファイルの変更
ln -sf  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

※この時点でタイムゾーンが即座に変わります
以下、再起動時にタイムゾーンがUTCに戻らないための対応をします。

3. "/etc/sysconfig/clock"を編集する

システムファイルを編集しますので、バックアップしたい場合はしておきましょう。

# 一応、バックアップを取ります
cp /etc/sysconfig/clock /etc/sysconfig/clock.org

viなどのエディタで編集。

/etc/sysconfig/clock
ZONE="Asia/Tokyo"

に変更。

/etc/sysconfig/clock
UTC=true

となっているので

/etc/sysconfig/clock
UTC=false

としておきましょう。
これをしないと再起動時にUTCに戻ってしまいます。

4. 再起動

再起動してもUTCに戻らないことを確認するため、
rebootコマンドやinit 6コマンドで再起動します。
(しなくても大丈夫です。JSTに変更されています。)

5. 確認

### 確認
strings /etc/localtime

TZif2
TZif2
JST-9

JSTになっていればOK。

date

Fri Jun  1 01:27:56 JST 2012

まとめ

以下はすべてrootで実行します。

# 一応、バックアップを取ります
cp /etc/sysconfig/clock /etc/sysconfig/clock.org

# viなどで編集してもよし
echo -e 'ZONE="Asia/Tokyo"\nUTC=false' > /etc/sysconfig/clock

# 一応、バックアップを取ります
cp /etc/localtime /etc/localtime.org

# timezoneファイル差し替え
ln -sf  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

これで再起動しなくても即座に反映されます。

心配な場合は、確認するためのコマンドを挟んでもいいと思います。

# 変更前、表示
date
strings /etc/localtime

# 一応、バックアップを取ります
cp /etc/sysconfig/clock /etc/sysconfig/clock.org

# viなどで編集してもよし
echo -e 'ZONE="Asia/Tokyo"\nUTC=false' > /etc/sysconfig/clock

# 一応、バックアップを取ります
cp /etc/localtime /etc/localtime.org

# timezoneファイル差し替え
ln -sf  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

# 変更後、表示
date
strings /etc/localtime