Скрипт setclock
считывает
время с
аппаратных
часов,
также
известных
как часы BIOS
или CMOS (Complementary Metal Oxide Semiconductor).
Если на
аппаратных
часах
установлено
UTC (всемирное
скоординированное
время), этот
скрипт
преобразует
полученное
значение в
локальное
время,
используя
файл /etc/localtime
(который
сообщает
программе
hwclock, в
какой
временной
зоне
находится
пользователь).
Невозможно
определить,
установлено
на
аппаратных
часах UTC или
же
локальное
время,
поэтому
необходимо
указать
это
вручную.
Скрипт setclock запускается системой udev при загрузке, когда ядро определяет возможности аппаратного обеспечения. Также его можно запустить вручную с параметром stop, чтобы сохранить системное время в аппаратные часы CMOS.
Если Вы не
можете
вспомнить,
установлено
на
аппаратных
часах UTC или
локальное
время,
запустите
команду hwclock --localtime --show
.
Она
отобразит
текущее
время в
соответствии
с
аппаратными
часами.
Если оно
совпадает
с тем, что
показывают
Ваши
настенные/наручные
часы,
значит на
часах CMOS
установлено
локальное
время. Если
вывод hwclock не
совпадает
с
локальным
временем,
скорее
всего, это UTC.
Проверьте
это,
добавляя
или
вычитая
правильное
смещение к
времени,
выводимому
hwclock.
Например,
если Вы
живете во
временной
зоне MST, также
известной
как GMT -0700,
добавьте
семь часов
к
локальному
времени.
Измените
значение
переменной
UTC
ниже
на 0
(ноль), если
на
аппаратных
часах
установлено
не UTC.
Создайте
новый файл
/etc/sysconfig/clock
,
запустив:
cat > /etc/sysconfig/clock << "EOF"
# Начало /etc/sysconfig/clock
UTC=1
# Добавьте в эту переменную опции, которые хотите передавать hwclock,
# например, тип аппаратных часов на архитектуре Alpha.
CLOCKPARAMS=
# Конец /etc/sysconfig/clock
EOF
Хороший
совет,
объясняющий,
как
обращаться
с временем
в LFS, доступен
тут: http://www.linuxfromscratch.org/hints/downloads/files/time.txt.
Он
рассказывает
о
временных
зонах, UTC и
переменной
окружения
TZ
.
Параметры
CLOCKPARAMS и UTC могут
быть также
указаны в
файле /etc/sysconfig/rc.site
.