Настройка временной зоны в Linux
Временная зона в 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 и запускается).