Jump to content
Форум по продукции MOXA

Установка часового пояса в ucLinux (UC-7112)


Recommended Posts

Разрабатываемый для UC-7112 софт использует функции POSIX для работы со временем. Стандартное время UNIX, возвращаемое функцией time(), будет использоваться в качестве метки времени. При этом, хотелось бы, чтобы аппаратные часы компьютера были установлены на локальное время, а не на UTC.

 

Показания аппаратных часов в процессе инициализации системы считываются строкой "hwclock -s" в файле /etc/rc. Если добавить перед этой строкой "export TZ=NOVT-7" показания часов, как и ожидается, интерпретируются как локальное время. Время UTC и локальное время как положено отличаются на 7 часов.

 

Проблема заключается в том, что переменная TZ, несмотря на установку значения в /etc/rc, остается неопределенной в консольном сеансе. Поэтому, если подать команду reboot из консоли, система считает, что локальным временем является UTC и переписывает значение аппаратных часов. То есть в моем случае reboot из консоли каждый раз сдвигает часы на 7 часов назад.

 

Решением проблемы был бы некий способ установки переменной TZ для всех сеансов, включая консоль. Но сделать это не получается: переменные из /etc/rc не экспортируются, а то, что пишется в /etc/profile, влияет только на telnet-сеансы.

 

Подскажите пожалуйста, можно ли установить значение переменной среды TZ по умолчанию для всех сеансов или каким-либо иным образом указать системе дефолтный часовой пояс.

Link to comment

/etc/localtime в изначальной конфигурации системы не существует. Файл был скопирован на UC-7112 в соответствии с рекомендациями, но система на это никак не отреагировала. Видимо, приведенные вами рекомендации относятся к полноценному варианту Linux (не uc).

На форуме ucLinux мне уже попадалась информация, что система не поддерживает zoneinfo. В данной ветке рекомендуют использовать etc/profile для установки TZ, но, как я уже писал выше, это влияет только на telnet-сеанс. Была надежда, что есть более универсальное решение, но, видимо, ничего больше сделать нельзя.

Обидно. Придется устанавливать аппаратные часы по Гринвичу. Единственное, что утешает - отмененный перевод на зимнее время. Хоть немного меньше мороки с пересчетом :S

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...