LINUX.ORG.RU

зимнее/летне время в линукскае


0

0

кто и как бореться с переводом времени в линуксе?

я столкнулся с проблемой что часы переводяться только если использовать UTC. если использовать local - то ничего не происходит...

с другой стороны все становиться на свои места если переставить в UTC (оно переведет часы) а потом вернуть назад...

но это несерьезно... как это делать ПРАВИЛЬНО?


> как это делать ПРАВИЛЬНО?

Использовать UTC, конечно. local нужен только виндузятникам.

Teak ★★★★★
()
Ответ на: комментарий от Muller

При чём тут UTF-8? :) У меня KOI8-R если что. :)

Просто как ты себе представляешь перевод часов, если время локальное? Откуда ядро вообще должно знать, перевелись уже часы или нет? Можно действительно по-виндовому их из сети синхронизировать, а если хочешь чтобы они просто по-человечески перевелись сами, то в часах на матери должен быть UTC.

Teak ★★★★★
()
Ответ на: комментарий от Teak

какие есть нажедные сервера нтп? кто какие использует? умеет ли линукс сам периодически сверяться или надо для крона пару скриптов писать?

Muller
() автор топика
Ответ на: комментарий от Muller

Зачем тебе сервера? УТС используй

anonymous
()
Ответ на: комментарий от Muller

> умеет ли линукс сам периодически сверяться

умеет. man ntpd

annoynimous ★★★★★
()

Часы в системе (часы в ядре Linux) всегда идут в UTC. Для инициализации этих часов в момент загрузки используется RTC --- аппаратные часы (устанавливаемые через BIOS), работающие от батарейки, а при завершении работы системные часы сохраняются в аппаратные.

Во время работы системы для перевода времени UTC <-> local используется файл локали (/usr/share/zoneinfo/...)

Если во время перевода часов комп включен, то без разницы в чем хранится время в аппаратных часах (local или UTC), а если выключен, то косяк... ИМХО с точки зрения разработчиков дистрибутивов, если хранишь время в BIOS в local, должен сам при включении питания компьютера установить правильное время...

ntpd умеет синхронизировать время, но при загрузке нужно переводить часы ntpdate.

mky ★★★★★
()

Почитал, ужаснулся. Неужели все так запущено?

Часы в Линуксе/Юниксе _не_переводятся_ никогда!

Время в системных (и соотв. в аппаратных) часах установлено в UTC. TZ (timezone) отвечает за отображение сист. времени в локальное. Собственно zoneinfo file представляет собой таблицу вида:

С 01:00 1 апреля 2006 года к системным часам прибавлять 3 часа

С 02:00 1 октября 2006 года к системным часам прибавлять 2 часа

Все. И неважно был комп включен или нет в момент перехода на летнее/зимнее время, так как, повторюсь, "Часы в Линуксе/Юниксе _не_переводятся_ никогда!"

sdio ★★★★★
()
Ответ на: комментарий от sdio

> неважно был комп включен или нет в момент перехода на летнее/зимнее время

Очень даже важно, если в часах на матери локальное время. Едрёное время ведь инициализируется часами с матери при загрузке, так что в случае, когда там локальное время, нужно знать, переведено оно уже или нет.

> Время в системных (и соотв. в аппаратных) часах установлено в UTC.

Системные и аппаратные часы - это две большие разницы (и аппаратные у отдельных извращенцев таки не в UTC, а в локальном времени). Для их синхронизации друг с другом в линухе есть командочка hwclock. Если б это было одно и то же, она была бы не нужна. :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

Дык нас "отдельные извращенцы" не интересуют. Пусть со своим локальным временем в аппаратных часах отправляются в пешее эротическое путешествие к билли.

:-)

sdio ★★★★★
()
Ответ на: комментарий от sdio

Дык отдельный такой извращенец стартовал этот топик, вообще-то. :) Мы тут типа делаем вид, что ему помогаем. :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

Ну так пусть завязывает с извращениями и ставит апп. часы в UTC.

З.Ы. А про винду он ничего не писал. А виндузятникам, у которых и Линукс есть -- все просто, перезагружаемся, заходим в BIOS и меняем время.

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.