hwclock, не синхронизируется с системными часами
Мои аппаратные часы не синхронизируются. Я установил системное время несколько раз, но он продолжает возвращаться к состоянию на 5 часов вперед.
Это нормально? Может ли это создать проблемы? Почему мои системные часы работают нормально, когда мои аппаратные часы не работают?
3 ответа
Системные часы устанавливаются в UTC или локально в зависимости от последней опции, использованной при запуске функции hwclock. Если вы запускаете:
hwclock -w --localtime
Это должно записать ваши системные часы по местному времени вместо UTC и впоследствии должно установить их и прочитать их при загрузке, используя местное время. Если вы вручную установили системные часы и последний раз указали часовой пояс с UTC, то он автоматически вернется к UTC.
Я не знаю, нормально это или нет, потому что я не знаю, почему аппаратные часы должны сходить с ума. Если это аппаратная проблема, вы можете использовать программный обходной путь, пока не исправите его.
hwclock
Команда должна делать то, что вам нужно. Вы можете использовать его в терминале как root, чтобы установить системные часы из аппаратных часов или установить аппаратные часы из системных часов (в зависимости от того, какой из них более надежен):
hwclock --hctosys
или жеhwclock --systohc
От hwclock
справочная страница:
-s, --hctosys
Set the System Time from the Hardware Clock.
[...] This is a good option to use in one of the system startup
scripts.
-w, --systohc
Set the Hardware Clock to the current System Time.
Если это всегда ровно на 5 часов вперед, это звучит как проблема часового пояса. В этом случае вполне вероятно, что ваши аппаратные часы установлены на местное время, а системное время Linux всегда установлено на UTC. Если ваш часовой пояс отстает от UTC на 5 часов, это будет 5 часов.
В этом случае, в дополнение к опциям "--systohc" для "hwclock", вам следует обратиться к опциям "--localtime" и "--utc".