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

Вопрос или проблема

У меня есть странная проблема с системными часами в моей системе Linux, TinyCore, ядро 2.6.38.
dmesg сообщает следующее:

rtc_cmos 00:04: установка системных часов на 2012-08-08 19:20:00 UTC (значение с начала эпохи)

Но на самом деле, когда я тестирую date, он всегда начинается с 1/1/2001 01:43:00, в то время как hwclock показывает правильное время.
Теперь, если я запущу hwclock -s, это исправляет ситуацию до следующей загрузки.
Эта система похожа на “живую CD”, которая загружается в оперативную память и размонтирует устройство хранения.
Я предполагаю, что ядро действительно установило время из rtc0, но, возможно, перезапись файла сбрасывает системные часы. Может ли это быть (включая /dev/something)?

Предпосылки

В Linux временная зона системы определяется символьной ссылкой /etc/localtime.

Эта ссылочная запись указывает на файл данных временной зоны, который описывает местную временную зону. Файлы данных временной зоны находятся либо в /usr/lib/zoneinfo, либо в /usr/share/zoneinfo в зависимости от используемого дистрибутива Linux.

hwclock

hwclock — это инструмент для доступа к аппаратным часам. Вы можете отобразить текущее время, установить аппаратные часы на указанное время, установить аппаратные часы на системное время и установить системное время из аппаратных часов.

Аппаратные часы: это часы, которые работают независимо от любой управляющей программы, работающей в ЦП, и даже когда машина выключена.

Если вы используете -s, он установит системное время из аппаратных часов. Вот почему у вас проблема исправляется.

Решение

Вы можете выполнить команду в своем терминале, чтобы установить символьную ссылку, она будет сохраняться даже после перезагрузки:

sudo ln -sf /usr/share/zoneinfo/Portugal /etc/localtime

Для меня это Португалия, адаптируйте команду к вашей временной зоне.

Ответ или решение

Проблема: Неверно установленное системное время при загрузке TinyCore Linux

Ваша проблема с неверно установленным системным временем на системе TinyCore, работающей на ядре 2.6.38, может быть вызвана несколькими факторами. Давайте подробно проанализируем ситуацию и предложим возможные решения.

Описание Проблемы

При запуске системы вы видите сообщение в dmesg:

rtc_cmos 00:04: setting system clock to 2012-08-08 19:20:00 UTC (since_epoch-value)

Однако, при выполнении команды date системное время отображается как 1/1/2001 01:43:00. Получается, что несмотря на то, что аппаратные часы (HWClock) показывают правильное время, системные часы в Linux инициализируются некорректно.

Возможные Причины Проблемы

  1. Аппаратные часы (HWClock): Вы указали, что при выполнении команды hwclock -s системное время корректируется. Это подтверждает, что аппаратные часы функционируют нормально. Проблема заключается в том, как время инициализируется при загрузке системы.

  2. Файлы конфигурации: Вы предположили, что некоторые системные файлы или конфигурации могут перезаписывать системное время при старте. Поскольку ваша система работает как "живой" CD, образ может не сохранять изменения, если они не были правильно настроены.

  3. Проблемы с временной зоной: Некорректно настроенная временная зона также может приводить к проблемам с отображением времени. Убедитесь, что символическая ссылка /etc/localtime указывает на правильный файл часового пояса.

Решение

Для устранения проблемы с системным временем, выполните следующие шаги:

  1. Настройка временной зоны:
    Проверьте, что символическая ссылка /etc/localtime настроена правильно. Например, если вам потребуется установить временную зону для Португалии, выполните следующую команду:

    sudo ln -sf /usr/share/zoneinfo/Portugal /etc/localtime

    Убедитесь, что заменили Portugal на вашу актуальную временную зону.

  2. Запуск hwclock при загрузке:
    Добавьте команду hwclock -s в скрипт стартовой инициализации вашей системы. В зависимости от системы это может быть файл /etc/rc.local или аналогичный. Это обеспечит установку системного времени из аппаратных часов при каждой загрузке:

    echo "hwclock -s" >> /etc/rc.local
  3. Проверка системных файлов:
    Исследуйте возможные конфигурационные файлы или скрипты, которые могут влиять на установку системного времени при загрузке. Убедитесь, что никаких дополнительных заданий не перезаписывают значение системного времени.

Заключение

Проблемы с неправильным установлением системного времени в TinyCore Linux могут быть решены путем корректной настройки временной зоны и добавления команд в инициализационные скрипты. Следуя приведенным рекомендациям и применяя описанные шаги, вы сможете исправить проблему и обеспечить правильное отображение времени на вашей системе.

Оцените материал
Добавить комментарий

Капча загружается...