web-dev-qa-db-ja.com

Debian Linuxで夏時間を無効にする

システムで夏時間を使用したくありません。

root@ALi-debserver:~# cat /etc/timezone
Asia/Tehran

root@ALi-debserver:~# cat /etc/default/rcS
#
# /etc/default/rcS
#
# Default settings for the scripts in /etc/rcS.d/
#
# For information about these variables see the rcS(5) manual page.
#
# This file belongs to the "initscripts" package.

# delete files in /tmp during boot older than x days.
# '0' means always, -1 or 'infinite' disables the feature
#TMPTIME=0

# spawn sulogin during boot, continue normal boot if not used in 30 seconds
#SULOGIN=no

# do not allow users to log in until the boot has completed
#DELAYLOGIN=no

# be more verbose during the boot process
#VERBOSE=no

# automatically repair filesystems with inconsistencies during boot
#FSCKFIX=no

この問題をntpまたはtzdateで永久に解決することはできませんでした。夏時間を無効にするにはどうすればよいですか?

7
alireza

Etc/GMT±Xと呼ばれる、GMTオフセットを定義するだけのDSTフリータイムゾーン定義があります。

$ date
Mon Apr  7 11:08:56 CEST 2014
$ TZ=Etc/GMT-1 date
Mon Apr  7 10:09:16 GMT-1 2014
$

必要なものを/etc/localtimeにリンク/コピーするだけで、DSTフリーで問題ありません。

$ ln -s /usr/share/zoneinfo/Etc/GMT-1 /etc/localtime

編集:整数以外のオフセットの場合は、独自のオフセットになります。必要なオフセットを定義する独自のゾーンファイルを作成する場合があります。次の行をファイルに入れます。

# Zone  NAME          GMTOFF  RULES FORMAT [UNTIL]
Zone    Tehran-nodst  3:25:44 -     LMT    1916
                      3:25:44 -     TMT    1946    # Tehran Mean Time
                      3:30    -     IRST   1977 Nov
                      4:00    -     IRST   1979
                      3:30    -     IRST

そして走る

$ zic -d . <filename>

これにより、現在のディレクトリにTehran-nodstというファイルが作成されます。このファイルを/usr/share/zoneinfo/Asiaにコピーして/etc/localtimeにリンク/コピーできます(最後のコピーを実行するだけでも問題ありません)。

15
Andreas Wiese

/ etc/localtimeを削除する(またはmv/etc/localtime /etc/localtime.backをバックアップする)だけで、以下のようにタイムゾーンへのリンクを作成します。

ln -s /usr/share/zoneinfo/Asia/Tehran /etc/localtime
0
Charles nakhel

おそらく [〜#〜] dst [〜#〜] ルールなしで独自のタイムゾーンを定義する必要があります。/usr/share/zoneinfo /にあるコンパイル済みファイルのソースを含む tzdata package のソースファイルを確認します。

0
jofel