Настройка часового пояса

В этом сообщении собрана некоторая информация о настройке часового пояса в вашей(и не только вашей) системе.

В настоящее время, шкала времени на Земле построена на атомных стандартах частоты и называется TAI, хотя на практике используется другая шкала — UTC, отличающаяся от TAI на целое число секунд. Находясь в некоторой точке на Земле можно заметить, что местное гражданское время устанавливается административно, и, как правило, отличается на целое количество часов от UTC, момент восхода Солнца зависит от долготы вашего положения, и только UTC остается постоянным во всех точках Земли в один и тот же момент времени.

glibc использует файл /etc/localtime для определение настроек по-умолчанию, обычно этот файл является либо копией, либо символической ссылкой на один из заранее приготовленных файлов в /usr/share/zoneinfo. Необходимо выбрать тот, который вам необходим и использовать его.

Второй способ — использование переменной среды окружения TZ, о которой рассказывается тут: TZ Variable. Переменная имеет несколько форматов, позволяющих либо напрямую задать свойства вашего часового пояса(смещение, относительно всемирного времени и моменты перехода на летнее/зимнее), либо использовать один из подготовленных файлов в /usr/share/zoneinfo(например Europe/Moscow). Утилита tzselect позволит вам правильно задать значение переменной, основываясь на вашем местоположении и знаниях географии. Переменную TZ, прописанную в .profile, можно использовать как альтернативный способ задания часового пояса для конкретного пользователя(например если он работает удаленно).

uclibc, который используется в busybox и множестве встраиваемых устройств, от будильников до стиральных машин, не поддерживает /etc/localtime и /usr/share/zoneinfo (Glibc vs. uClibc differences). Необходимо использовать только переменную TZ, значение которой может быть глобально задано в файле /etc/TZ в качестве значения по-умолчанию. Символические имена для TZ типа Europe/Moscow тоже не допускаются. Значение для Москвы выглядит таким образом:
MSK-3MSD,M3.5.0,M10.5.0/3
Тут написано: часовой пояс MSK, три часа к западу, летний пояс MSD на час больше, действует с последнего воскресенья марта, по последнее воскресенье октября, смена пояса происходит в 3 часа. Для произвольного часового пояса можно составить используя описание Environment Variable Definition.

Формат даты для RPM

Просто оставлю здесь команду для получения текущей даты в формате rpm-spec, для последующего вписывания в раздел %changelog

LANG=C date +"%a %b %d %Y"


%changelog
* Sat Oct 03 2009 - email@host.com
- log message