/ Статьи / Системное / Настройка часового пояса и синхронизация времени в Linux /

Настройка часового пояса и синхронизация времени в Linux

Дата публикации: Sept. 15, 2009, 6:15 p.m.
Теги: время, часовой пояс, синхронизация,
Автор: Brainsburn

Синхронизация времени В этой небольшой статье я расскажу о том, как правильно настроить часовой пояс и синхронизацию времени в Linux.


Узнать текущее время можно командой date
Установить время можно таким образом
date -s 15:45

Эта команда установит на вашем компьютере время в 15ч 45м.
Настроить и дату и время можно такой командой:
date nnddhhmmyyyy.ss

где
nn - месяц (01..12)
dd - день (01..31)
hh - час (00..23)
mm - минута (00..59)
yyyy - год (2009)
ss - секунды (00..59)
Не забудьте ставить точку перед секундами.

# date 100205272009.30
Птн Окт  2 05:27:30 MSD 2009

Если у вас не настроен часовой пояс, вывод команды date будет таким:
# date
Птн Окт  2 05:27:30 Local time zone must be set--see zic manual page 2009
Чтобы настроить часовой пояс, нужно выбрать нужный файл в каталоге /usr/share/zoneinfo/
# ls /usr/share/zoneinfo/
Africa      Brazil   Egypt    GB         Hongkong     Jamaica    Mideast  Poland      ROC        UTC
America     Canada   Eire     GB-Eire    HST          Japan      MST      Portugal    ROK        WET
Antarctica  CET      EST      GMT        Iceland      Kwajalein  MST7MDT  posix       Singapore  W-SU
Arctic      Chile    EST5EDT  GMT0       Indian       Libya      Navajo   posixrules  Turkey     zone.tab
Asia        CST6CDT  Etc      GMT-0      Iran         localtime  NZ       PRC         UCT        Zulu
Atlantic    Cuba     Europe   GMT+0      iso3166.tab  MET        NZ-CHAT  PST8PDT     Universal
Australia   EET      Factory  Greenwich  Israel       Mexico     Pacific  right       US
Если ваше время - московское, то вам нужен файл /usr/share/zoneinfo/Europe/Moscow

Только не забудьте время в БИОСе поставить в UTC. UTC - это Универсальное Координированное Время или Всемирное Скоординированное Время. UTC не переводится зимой и летом. UTC было введено как замена GMT, поэтому некоторые называют его GMT (что ошибочно).
Узнать время UTC можно, выполнив запрос в Google "время UTC". Установите это время в БИОС. Ничего страшного если будет погрешность в несколько минут - мы все-равно будем синхронизировать время с интернетом.

Теперь, для выбора часового пояса, выполните такую команду:
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Для внесения изменений можно перезапустить компьютер.

Теперь у вас настроен правильный часовой пояс можно настроить синхронизацию времени.
Синхронизацией занимается программа ntp. Скорее всего ntp не установлена в вашем дистрибутиве по умолчанию, поэтому установите ее.
После установки никаких настроек не требуется, сервера синхронизации времени уже есть в конфигурационном файле. Вы можете запустить сервис ntpd, чтобы он автоматически корректировал время. В Gentoo это делается так:
# /etc/init.d/ntpd start
Теперь ntpd будет постепенно корректировать ваше время, поэтому если ваши часы отстают на 5 минут, то синхронизация будет постепенной и займет довольно много времени. Если вы хотите сразу скорректировать ваши часы, выполните команду:
# ntpdate  ntp0.zenon.net
Теперь добавьте ntpd в автозагрузку. В Gentoo это делается так:
# rc-update add ntpd default
Чтобы узнать, как добавить сервисы в автозагрузку для вашего дистрибутива, читайте соответствующую документацию.






Возможно, эти материалы Вас заинтересуют:


Рекомендовать эту страницу:

Комментарии:(13)

# Дмитрий Dec. 10, 2010, 7:15 a.m.
Большое спасибо автору за статью. В моем случае нужно было срочно скорректировать время, но обычными методами (system-config-date) это сделать было нельзя, так как внезапно обнаружились проблемы с модулями python. Команда date -s hh:mm меня очень выручила. СПС

# Сергей Луконин Feb. 19, 2011, 10:19 p.m.
А, в принципе, если выдается "Local time zone must be set--", в этом ничего страшного нет? Ни на какие приложения не влияет то, что не задан часовой пояс? Я просто на генте с этим промучался, так и оставил.

# Сергей Луконин Feb. 19, 2011, 10:20 p.m.
Да, кстати, смените копирайты) Уже 2 месяца как 2011 год)

# Brainsburn Feb. 21, 2011, 11:18 a.m.
Сергей Луконин, ничего страшного. Про 2011 спасибо что напомнили :)

# Сергей Sept. 23, 2011, 8:38 a.m.
Как посмотреть содержимое файла таймзон (из /usr/share/zoneinfo/)? Все файлы таймзон в бинарном виде созданные с помощью утилиты zic.
С непереходом на зимнее время интересует, содержат ли файлы зон для России соответствующий признак?

# Brainsburn Sept. 24, 2011, 8:59 p.m.
Достаточно установить свежий пакет timezone-data

# Сергей Sept. 26, 2011, 5:42 a.m.
Пакет с таймзонами регулярно обновляется. Последний раз обновления были в этом месяце (для убунты 10.04). Проверил несколько таймзон для России и везде присутствует признак перехода на летнее время.
Можно конечно ждать у моря погоды и наверняка до конца октября придут корректные для России таймзоны, но мой вопрос был немного в другом. Как посмотреть содержимое файла таймзон? Есть ли утилита обратная zic?

# Brainsburn Sept. 26, 2011, 8:10 p.m.
Честно говоря, не знаю. Есть утилита zdump, но она работает не так, как вам надо. Нашел только вот это: http://bmsi.com/java/#TZ [bmsi.com] . По идее, то что нужно, но проверять нету времени.

# Вадег April 3, 2012, 7:31 a.m.
Я не очень понял про ntpd. Раньше чтобы на локалхосте поддерживать точное время у меня ntp-client был запихнут в суточный крон, теперь я поднял ntpd в качестве сервера времени для локалки. Я понимаю так, если в ntpd разрешен локалхост, то дергать ntp-client раз в сутки не надо? Хотелось бы точный ответ, т.к. точное время нужно для видеонаблюдения и неделю ждать пока уйдут часы я не могу.
Спасибо.

# Brainsburn April 3, 2012, 4:26 p.m.
Вадег, у меня сейчас нет возможности это проверить, к сожалению. По смыслу, если на клиенте демон запущен, то он будет сам корректировать. Но я бы подстраховался и засунул его в крон :)

# Arman July 21, 2012, 10:15 a.m.
Здравствуйте!
на серваке время всё время убегает вперед на 3 часа, редактировал время и в самой ОС и в Биосе не помогает после перезагрузки та же “болячка” 3 часа. в чем причина?

# Гость July 21, 2012, 2:03 p.m.
Arman, если вы в биосе поставите текущее время, а в настройках ОС укажите часовой пояс “Europe/Moscow”, то при следующей синхронизации оно убежит вперед, т.к. ОС будет думать, что в биосе время не локальное, а UTC. Соответственно, попробуйте поставить в биосе время UTC.

# Arman July 21, 2012, 7:56 p.m.
всё разобрался, он rc.d/ каждый раз при загрузке время корректирует с биосом, и правит

Комментировать:

Гость, Вы можете оставить свой комментарий.

Стиль кода:
Имя
Сайт * не обязательное поле
Поставьте галку, если вы - бот
Поставьте галку, если вы - человек

Друзья! Убедительная просьба воздержаться от нецензурной лексики!



Справка:
Если вы хотите использовать в тексте комментария специальные символы, например, [ и ], используйте их внутри тега [code] [/code]
Вы можете использовать теги BBcode. Для оформления кода и подсветки синтаксиса используйте тег [code] или [code=название_языка], например, [code=python]
Ссылки вставляйте так: [url]zenux.ru[/url] или так: http://zenux.ru, но не так: zenux.ru
Текст сообщения должен быть в пределах 3000 символов.




Последние комментарии:

fanyit: Спасибо за обзор. очень полезно и доступно.... >>>
cheech: Спасибо, статья полезная )... >>>
Васёк: Коммент, расскажи про часы на стене капитану в оке... >>>
METAJIJI: Ах да, почему я начал вообще трогать urxvt, потому... >>>
METAJIJI: Вкладки как раз не феншуйные (штатный tabbed), они... >>>