Как установить часовой пояс КНТ без дневного периода?

Я хочу настроить linux box для использования CST без дневного света. Моя первая идея заключалась в использовании файла зоны UTC-06 , но по какой-то странной причине он обеспечивает UTC + 6, а не время UTC-6!

После этого я прочитал статью о тайм-сайтах списка tz базы данных в Википедии и скопировал зонный файл America/Costa_Rica в /etc/localtime . Теперь часовой пояс кажется ОК, но что, если когда-нибудь правительство Коста-Рики решит пойти на дневной свет?

Каков правильный способ установки UTC-6 для Linux?

Из статьи в Википедии о базе данных tz :

Специальная область Etc используется для некоторых административных зон, особенно для «Etc / UTC», которая представляет собой скоординированное всеобщее время. Чтобы соответствовать стилю POSIX, имена этих зон, начинающиеся с «Etc / GMT», имеют знак, который отменяется от того, что ожидает большинство людей . В этом стиле зоны к западу от GMT имеют положительный знак, и у востока есть отрицательный знак в их имени (например, «Etc / GMT-14» находится на 14 часов вперед / к востоку от GMT).

Поэтому, если вы ищете фиксированный часовой пояс UTC-6 без дневной экономии, вы должны использовать Etc/GMT+6

 # zdump /usr/share/zoneinfo/Etc/GMT+6 /usr/share/zoneinfo/America/Costa_Rica /usr/share/zoneinfo/Etc/GMT+6 Sun Nov 13 09:23:52 2011 GMT+6 /usr/share/zoneinfo/America/Costa_Rica Sun Nov 13 09:23:52 2011 CST 

Это действительно сбивает с толку, но эй, это работает. Так:

 ln -sf /usr/share/zoneinfo/Etc/GMT+6 /etc/localtime 

должен сделать трюк.

Вам не следует копировать файлы zoneinfo в /etc/localtime , но используйте символическую ссылку. Таким образом, если база данных zoneinfo будет обновлена, ваша система увидит изменение. (В этом случае неважно).

Вы так уверены, что никогда не захотите использовать дневное время? Что произойдет, если правительство того места, где вы живете, решит его использовать? Какая цель заключается в том, чтобы ваш компьютер часами не синхронизировался с реальным миром?

В любом случае, установите TZ=CST6 – это не часовой пояс, который существует в zoneinfo, это старая стандартная переменная среды. Если вам нужен фактический файл zoneinfo [, который вы можете использовать для localtime], скомпилируйте (используя zic ) исходный файл, состоящий из одной строки:

 Zone Etc/CST6 -6:00 - CST 

И используйте TZ=Etc/CST6 и свяжите / скопируйте полученный файл в / etc / localtime.

Это имеет то преимущество, что используется правильная аббревиатура, а не глупость «GMT + 06»,

ln -sf /usr/share/zoneinfo/America/Costa_Rica /etc/localtime

Обновления часового пояса включены вместе с обновлениями вашего дистрибутива Linux, поэтому вы можете использовать специальный файл зоны Costa_Rica.

Попробуйте Регину Саскатеван. Этот часовой пояс не имеет летнего времени.

EDIT: В то время как муниципалитеты в провинции следуют часовому поясу провинции-интерната, провинция никогда не следила за летним временем. Поскольку они действительно расположены в часовом поясе Mountain, они эффективно наслаждаются постоянным летним временем. В то время как они могут переключиться на Горное время и начать использовать правила ДСТ, для этого нет политической воли. Независимо от того, время, которое вы выбрали, будет иметь риск изменения правил в будущем. Просто посмотрите на часовые пояса для некоторых состояний, которые переходят на три уровня, чтобы обрабатывать особые расхождения в часовом поясе в состоянии.