LINUX.ORG.RU

Неправильное системное время после перезагрузки

 , , ,


1

1

Жил и не тужил, пока мой внутренний перфекционист не стал страдать от того, что в почтовом клиенте Thunderbird письмам присваивается неправильное время. У Thunderbird своих часов нет, значит дело в настройках времени на моём компьютере. Так и есть — проверил, точное московское время выставлено для часового пояса UTC.

Что я делал дальше:

sudo unlink /etc/localtime
sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
sudo date --set "точное московское время"
После чего на компьютере стало системное московское время до первой же перезагрузки, после неё уже +3 часа вперёд.

Я подумал, что возможно в таком случае дело в hardware clock, пробовал

sudo hwclock --set --date "точное московское время" --localtime
и
sudo hwclock --hctosys
но всё равно каждый раз после перезагрузки системное время +3 часа к реальному (hwclock показывает правильное время и правильный часовой пояс).

Прошу помощи в настройке системного времени. Дистрибутив Slackware 14.2, поэтому рецепты с timedatectl не предлагать.

★★

В hardware clock проблема и есть, наверное. Может проще запустить timeconfig и поменять, какое время там хранится. Судя по всему он считает, что там UTC (cat /etc/hardwareclock). Поэтому hwclock надо было вызывать с --utc, чтобы синхронизировать часы правильно.

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

Может проще запустить timeconfig и поменять, какое время там хранится.

Вот это и помогло: указал, что время локальное, и выставил часовой пояс. Теперь правильное время остаётся и после перезагрузки. Спасибо всем отписавшимся в треде!

Hasek ★★ ()
# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

В оригинале делается копия

cp /usr/share/zoneinfo/Europe/Moscow > /etc/localtime
(или cat ... > ...) До тех пор, пока /usr не является отдельным разделом, разницы никакой.

Однако, обращаю внимание, что по ходу загрузки время устанавливается раньше, чем монтируется /usr, поэтому для установки с /usr на отдельном разделе только копирование, иначе файла еще не будет к тому моменту, когда он нужен.

bormant ★★★★★ ()
Последнее исправление: bormant (всего исправлений: 1)
Ответ на: комментарий от bormant

Спасибо за разъяснение, не знал. У меня как раз /usr на отдельном разделе, копирование вручную не делал, время стало сохраняться после вызова timeconfig. Получается суть работы timeconfig именно в копировании выбранной зоны?

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

Получается суть работы timeconfig именно в копировании выбранной зоны?

Да. Помимо этого устанавливается симлинк /etc/localtime-copied-from на файл зоны, а также делается запись «localtime» или «utc» в файл /etc/hardwareclock.

Да что я пересказываю, на самом деле /usr/sbin/timeconfig суть сценарий на bash, можно открыть и почитать.

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

Потому что в этом случае несколько систем не будут конфликтовать. Особенно было актуально когда был ежегодный перевод времени на час вперёд-назад, тогда например две установленные ОС могли перевести время два раза.

В любом случае хранить системное время в UTC — стандарт для современных ОС.

Xenius ★★★★★ ()