Время в linux. UTC или localtime?

Сразу после установки линукса необходимо выполнить кое-какие начальные настройки: локаль, сеть, время… Так вот о времени.

В линукс есть два времени: аппаратное и системное. Аппаратное — это время на часах материнской платы компьютера, а системное — это время в самой операционной системе.

В файле /etc/adjtime хранится величина отклонения аппаратных часов и какое время они показывают, локальное или UTC.

Команда hwclock показывает, устанавливает аппаратное время, синхронизирует системное с аппаратным временем и наоборот, а также задает какое время показывают часы на материнке: местное или по Гринвичу.

Команда date показывает и устанавливает системное время.

Исходя из этого время в линукс можно настроить руководствуясь двумя принципами:

  1. Аппаратное время настроено по Гринвичу, а системное время определяется согласно настроенного часового пояса в системе путем прибавления разницы к аппаратному времени;
  2. Аппаратное и системное совпадают и равны текущему местному времени.

Первый вариант очень удобен при частой смене часовых поясов или переводе часов на зимнее/летнее время. Достаточно просто сменить часовой пояс в настройках.

Текущий часовой пояс хранится в файле /etc/localtime. А задается путем создания символической ссылки, вот так:

ln -s /usr/share/zoneinfo/Europe/Kiev /etc/localtime

Теперь остается сгенерировать /etc/adjtime:

hwclock --systohc --utc

Все, “железные” часики должны быть настроены на UTC, а системное время будет определяться согласно /etc/localtime. Если куда-то переезжаем, просто меняем часовой пояс.

Для второго варианта действия аналогичные. Указываем часовой пояс и генерируем /etc/adjtime. Только при генерации hwclock запускаем с другим параметром:

hwclock --systohc --localtime

Второй вариант удобен для тех, кто одновременно использует на одной машине линукс и виндовс. В виндовсе по-умолчанию настроено так, что системное время совпадает с аппаратным. И если у вас в линуксе будет настроено по UTC, то в линукс и виндовс время будет постоянно отличаться. Виндовс тоже можно перенастроить на первый вариант, но эта статья про линукс.


Комментарии

Оставить комментарий

Ответ на Время в linux. UTC или localtime?