Временная зона в Linux задается файлом
/etc/localtime
Этот файл является симлинком на один из готовых описаний
временной зоны, немерянное количество которых лежит в
/usr/lib/zoneinfo
Например для Москвы подойдет такая операция:
ln -s /usr/lib/zoneinfo/Europe/Moscow /etc/localtime
Файл с описанием временной зоны компилируется из текстового описания
командой zic (См. man zic )
Пример описания временной зоны с переключением на летнее время для Украины:
------------ Cut here ------------------------------
Rule dst 1982 maximum - Apr lastSun 2:00 1 "EET DST"
Rule dst 1982 maximum - Oct lastSun 2:00 0 EET
Zone EET 2:00 dst %s
------------ Eof here ------------------------------
Во Free случай абсолютно аналогичный.
Например поправить /usr/src/share/zoneinfo/europe
Rule Russia 198? max - Sep lastSun 2:00s 0 K
Rule Russia 1996 max - Oct lastSun 2:00s 0 K
Затем в той-же директории make install (там этот zic и запускается).
Если файл временной зоны не собран, то можно ее задать переменой TZ.
export TZ=GMT0BST-1;87/01:00:00,297/02:00:00
Установить GMT, вычесть 1 час, затем добавить 1 или 2 в зависимости от дня.
87 и 297 - дни перехода на летнее время и обратно.
Популярность: 1, Last-modified: Sat, 24 Apr 1999 02:59:13 GmT