Как установить, изменить время и часовой пояс (timezone) в Debian
- Показать, как смотреть и настраивать системное время в Debian.
- Рассказать, как управлять часовыми поясами.
- Настроить автоматическую синхронизацию времени через интернет.
- Показать настройку своего ntp сервера в информационной системе.
Во время установки Debian, сервер автоматически настраивает системное время на основе информации из bios. Инсталлятор предлагает вам выбрать только часовой пояс. При этом, если вы не правильно указали часовой пояс (timezone), его без проблем можно изменить после установки.
Так же ситуация, когда необходимо изменить время или часовой пояс, может возникнуть, если вы арендуете сервер за границей и вам разворачивают систему из готового образа. В таком случае timezone может быть указана не такая, как вы хотите. Надо будет изменить.
Зачем, собственно, следить за точным временем на сервере, кроме непосредственно удобства восприятия этого времени? Причин может быть много. Перечислю основные, которые пришли в голову.
- Точное время на сервере необходимо для корректного логирования всех событий и последующего расследования инцидентов. Более того, одинаковое время должно быть на всех серверах, которые участвуют в работе информационной системы. Если это не так, то расследование инцидентов становится затруднительным.
- В доменной середе Windows для корректной работы протокола аутентификации Kerberos требуется примерно одинаковое время на всех участниках домена. Если ваш сервер Debian является членом домена, важно, чтобы его время не сильно отличалось от времени контроллера домена. Его нужно обязательно синхронизировать с ним.
- На сервере может располагаться какой-то сервис, который взаимодействует с пользователями. Например, новостной сайт, где в статьях указано точное время публикации. Если неправильно настроить часы или timezone, может возникнуть ситуация, когда для некоторых пользователей опубликованные материалы будут отображаться со временем из будущего.
- Планировщик cron в своей работе использует системные часы. Если вы хотите предсказуемое поведение запланированных задач, время и часовой пояс должны быть настроены правильно.
Для избежания этих и других проблем, предлагаю приступить к настройке времени, даты и часового пояса на сервере под управлением системы Debian.
Особенности синхронизации времени с NTP-сервером
Кажущаяся простота процесса скрывает в себе много незаметных тонкостей и процедур. Так, например, существуют разные уровни NTP-сервера.
Серверы 1 уровня подключены непосредственно к атомным часам и обеспечивают максимально точную информацию. Серверы 2 и 3 уровней работают от серверов 1 уровня и могут выдавать информацию с небольшими погрешностями, которые неактуальны для обычных пользователей, но могут оказаться существенными для промышленных и специализированных систем.
Клиентское приложение по синхронизации времени выглядит несложным, но на самом деле оно не только дает данные о точном времени, но и компенсирует все возникающие задержки соединения, регулирует время так, чтобы не сбить другие процессы на сервере. Оборудование тактовой сетевой синхронизации разрабатывается по специальным стандартам, и к нему предъявляются повышенные требования по точности обеспечиваемых данных.
Специальные сервисы по синхронизации времени постоянно контролируют точность хода часов на оборудовании и корректируют данные при необходимости. Работа таких сервисов не требует большой мощности процессора и не занимает много оперативной памяти.
Чтобы синхронизировать время с NTP-сервером, необходимо выбрать источник. Процедура стандартной настройки синхронизации времени с сервером точного времени состоит из следующих действий:
- на межсетевом экране запускается стандартный NTP-порт с разрешением на входящие и исходящие соединения;
- определяется рабочий пдс-сервер (запись в командной строке: C:>netdom /query fsmo);
- останавливается работа службы Windows Time (запись в командной строке: C:>net stop w32time);
- проводится настройка внешнего источника времени (запись в командной строке: C:> w32tm /config /syncfrom _ (источник) _);
- активируется доступ для клиентов к домену (запись в командной строке: C:>w32tm /config /reliable:yes);
- запускается служба Windows Time (запись в командной строке: C:>net start w32time).
Служба времени после вышеуказанных действий начнёт синхронизацию времени с указанным внешним источником. Установленный внешний сервер точного времени можно посмотреть с помощью записи в командной строке C:>w32tm /query /configuration.
После выполнения всех настроек рекомендуется проверить, нет ли в журнале событий ошибок. Настройку синхронизации времени с сервером на оборудовании достаточно провести единожды, после чего все данные будут обновляться автоматически.
Настройка времени, часового пояса и синхронизация в Debian 8.6
Во время первоначальной установки Debian мы конфигурируем часовой пояс с помощью пакета tzdata. В дальнейшем синхронизация времени и часового пояса можно выполнить командами:
Tzdata
Стрелками выбираем Европа и нажимаем Enter.
Также выбираем часовой пояс.
В результат синхронизация получаем универсальное (время по Гринвичу) и местное время.
Конфигурационный файл хранится в /etc/timezone. Открыть файл можно с помощью команды:
Кроме того, соответствующий файл данных находится в каталоге /usr/share/zoneinfo и копируется в /etc/localtime, этот файл содержит правила, регулирующие дату летнего или зимнего времени для стран, которые его используют.
В компьютере два источника времени: на материнской плате аппаратные часы — «CMOS » и в ядре операционной системы, контролируемые серверами времени через сеть. На практике существует проблема, так как часы CMOS является не более чем счетчиком и не содержат никакой информации о часовом поясе.
Проблема возникает когда компьютер в сети или имеет несколько систем (например, запуск других систем через виртуальную машину) тогда возникает хаос и неясно какое время является правильным.
Синхронизация времени, может показаться излишней на одиночном компьютере, но является очень важной в сети. Так как в случае нападения легче восстановить хронологию событий на различных машинах. Данные собранные на нескольких машинах не будут иметь большого смысла, если они не синхронизированы.
Поскольку компьютеры регулярно запускаются и перезагружаются (для экономии электроэнергии), машины удобно синхронизировать с помощью NTP при загрузке. Для этого просто установите ntpdate пакет он позволяет быстро синхронизировать часы компьютера с серверами точного времени, подсоединёнными ко Всемирной Паутине. Установку ntpdate из репозитория произведем с помощью менеджера пакетов Synaptic или путем выполнения команд в терминале:
Для рабочих станций вы можете изменить сервер NTP, используемый при необходимости путем модификации /etc/default/ntpdate файла.
Для серверов так как они редко перезагружается, а есть большая необходимость поддерживать точное время, необходимо установить локальный сервер NTP.
Установка NTP
В конфигурации по умолчанию сервер будет синхронизировать с ресурсом pool.ntp.org и обеспечит время в ответ на запросы, поступающие из локальной сети. Вы можете настроить его путем редактирования/etc/ntp.conf файла.
В целях безопасности, для доступа к Вашему серверу извне, требуется добавить в файл /etc/ntp.conf следующие строки (данные строки уже могут присутствовать):
disable monitor — отключение запросов monlist, которые возвращают список из последних 600 клиентов ntp. restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery — отключение запросов статуса сервера.
Так же вы можете указать свои сервера для синхронизации времени, например, адреса NTP серверов Pоссии: https://www.ntp-servers.net/servers.html и отредактируйте файл /etc/ntp.conf, выполнив команду:
Разовая синхронизация времени
В качестве примера используется сервер ntp1.stratum1.ru:
Для того, чтобы организовать постоянную синхронизацию времени произведем установку демона (сервера) ntp
Настроить сетевой протокол времени
Синхронизация программных часов на вашем компьютере с Linux с серверами времени является наиболее распространенным способом получения точного времени. В большинстве дистрибутивов Linux это делается автоматически. Однако не каждый дистрибутив Linux использует NTPd. Кроме того, те, которые делают это, могут испортить или настроить его неправильно. Чтобы исправить это, мы собираемся объяснить, насколько легко вручную настроить демон Network Time Protocol в Linux.
Начните с открытия терминала и установки NTP, если на вашем компьютере он не установлен. Есть хороший шанс, что он у вас уже есть, но, чтобы быть в безопасности, вот команды, чтобы получить его для большинства современных дистрибутивов Linux.
Ubuntu
Debian
Arch Linux
мягкая фетровая шляпа
OpenSUSE
После установки программного обеспечения вам потребуется подключиться к NTP-серверу. По умолчанию большинство дистрибутивов Linux имеют свои собственные NTP-серверы, настроенные в/etc/ntp.confфайл. Однако, если вы считаете, что эти серверы ненадежны, вы можете изменить его на более надежный сервер (например, официальный сервер Google NTP).
Чтобы добавить NTP-сервер Google, отредактируйте ntp.conf файл.
sudo nano /etc/ntp.conf
Если хотите, удалите все записи и замените их (хотя мы не рекомендуем). Для достижения наилучших результатов вставьте записи Google NTP в самом верху.
Примечание: важно, чтобыiburst находится в конце каждой новой записи.iburstопция будет отправлять «пакеты» пакетов на серверы, только когда вы сталкиваетесь с проблемами соединения с сервером времени.
сервер time.google.com iburst сервер time2.google.com iburst сервер time3.google.com iburst
Когда закончите, сохраните файл конфигурации в Nano с помощьюCtrl + O, Выйдите из редактора с помощьюCtrl + X.
Настроить время
NTP может автоматически синхронизировать время с серверами, но сначала ему нужно знать часовой пояс. Обычно во время начальной установки ваша операционная система Linux запрашивает часовой пояс и устанавливает его. Если что-то пошло не так во время установки, это нужно будет исправить вручную, используяtzselect.
Откройте терминал и запустите инструмент часового пояса:
Запуск инструмента Tzselect поможет вам настроить правильный часовой пояс. После этого вы сможете запустить NTPd.
Запуск NTP
Все соединения с серверами времени работают. Следующим шагом в этом процессе является использование системы Systemd init для загрузки NTP при загрузке. Поймите, что если ваша операционная система Linux не использует systemd, как большинство современных, вам нужно будет найти альтернативу этим командам.
Сначала запустите NTPd:
sudo systemctl start ntpd.service
Затем включите его при загрузке сsystemctl enable.
sudo systemctl включить ntpd.service
Выполнение вышеуказанных команд должно мгновенно настроить время, так как время UTC в вашем BIOS теперь корректно (благодаря Tzselect).
Выводы
На этом — все. Установка NTP Ubuntu 18.04 была завершена успешно. Мы настроили как серверную часть, так и клиентскую для синхронизации с NTP-сервером. Свои вопросы и пожелания пишите в комментариях.
Нет похожих записей
Оцените статью:
Об авторе
Автор: James Kiarie
Больше восьми лет назад мною было принято решение объявить бойкот оконной монополии и установить на свой компьютер Ubuntu. С тех пор это моя основная ОС. Иногда в порядке эксперимента «подселяю» к ней собратьев из семьи Linux. Увлекаюсь фотографией и горным туризмом. В свободное от работы время пишу статьи для losst.ru.
9 комментариев
В России не будет же перевода времени.
это пока да. но потом придёт какой-нибуть дрянелькин и решит что управлять страной не по плечу и займётся тем что никому не нужно и будет управлять не только временим а геометрию часовых поясов перекраивать. а за ним придёт какой нибуть грёбпутин и решит что всё дерьмо надо как-то разгребать и начнёт так жэ с того что мало кому нужно, выправлять время. но это так об истории а вопрос далее.
спасибо автору за статью! да достаточно хороша, но немножко не полная. действительно сайт посвещён только операцыонке линуксов, но по скольку эта статья касается серверных задач, надо жэ предполагать что сети состоят не только из одних линуксов. но хотябы в скользь упомянуть и про другие настройки остальных операцыонок. к примеру для виндовозников подобный сервер в сети не совсем полезен. к примеру в командной строке виндовозни команда net time host к подобному серваку на линуксе обратиться можэт и дажэ достаточно хорошо с ним синхронизируется. но вот стандартная служба с этим линуксовым сервером времени работать не будет. по скольку эта самая виндовозная служба работает с серверами времени через http. вопрос? как на линуксе организовать http сервер времени для синхронизацыи всех машин под любой операцыонкой?
всем всего хорошего!
Обратите внимание за запись в /etc/ntp.conf
# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255
Но для виндов лучше в настройках обновления времени через по Интернет указать локальный сервер NTP. Или в DNS локальной сети узлу time.windows.com, который перегружен и часто недоступен, сопоставить IP сервера NTP.
Вторым вариантом м.б. все запросы по udp по порту 123 от потребителей локальной сети заворачивать на порт 123 компьютера, на котором установлен сервер NTP.
Здравствуте ! Занимательно! Но у вас при вводе sudo vim /etc/ntp.conf. работает не vim , а nano.
в целом неплохо, но для новичков
nano — фу, vim — рулит
Может ошибка в статье? У меня на sudo systemctl restart ntp отвечает Failed to restart ntp.service: Unit ntp.service not found, и с start/enable то же самое. Попробовал заменить ntp на ntpd по аналогии с sshd, и запустилось.
Всё-таки непонятно, если у меня не какой-то сервер, а просто домашний компьютер с Xubuntu 1804 ?
И я хочу ,чтобы в нём часики шли поточнее, какие команды мне набрать и что подредактировать?
Меню -> Системные -> Дата и время -> В строке «Конфигурация» выбрать «Синхронизировать с серверами Интернет».
На Xubuntu 1604 именно так я и поступал. Заходил в Настройки, выбирал : «Синхронизировать с серверами Интернет», на что система сообщала ,что необходимо установить поддержку протокола NTP и тут же предлагала решение, автоматически устанавливались какие-то пакеты и всё работало.
А в Xubuntu 1804 это уже так не работает. На мои действия я получаю ответ:
«Поддержка протокола NTP не установлена.Установите и активируйте. »
Что я должен установить и что активировать?
Синхронизация времени через Интернет в Ubuntu
В нашем мире все относительно. И время не исключение. Если точное время наручных часов зависит от их стоимости и производителя, то время на компьютере зависит, в первую очередь, от частоты синхронизации с серверами точного времени.
Автоматическая синхронизация точного времени с сервером расположенным в Интернете — это хороший способ держать электронные часы ОС всегда «подведенными». Благодаря этому на вашем компьютере часы будут показывать всегда актуальное время.
Как работает синхронизация времени через Интернет?
Синхронизация времени производится посредством специального протокола передачи данных — NTP (Network Time Protocol). Этот протокол включает в себя набор сложных алгоритмов, которые позволяют с большой точностью синхронизировать время (до тысячных миллисекунд расхождения).
Есть более упрощенная версия этого протокола — SNTP (Simple Network Time Protocol), который используется в сетях, где не требуется высокая точность синхронизации (до 1 сек. расхождения).
Вся модель синхронизации времени NTP выглядит в виде дерева. В «кроне» этого дерева находятся «первичные сервера». Таких серверов во всем мире несколько штук. На них чаще всего установлены атомные часы и другие дорогостоящие хронометры. Синхронизировать время с «первичными» серверами у Вас не получится либо из-за их большой загруженности, либо из-за ограничения самими серверами.
«Вторичные» сервера синхронизируются с серверами первого уровня посредством протокола NTP. Расхождение по времени между ними достигает порядка 20 миллисекунд. Таких серверов значительно больше и поэтому целесообразней настраивать синхронизацию именно с ними.
После этого могут идти сервера третьего, четвертого уровня и т. д., к которым чаще всего относятся сервера синхронизации времени различных провайдеров и других IT-компаний.
Настройка синхронизации времени в Linux Ubuntu
По-умолчанию в операционной системе Ubuntu, начиная с версии 9.10, время синхронизируется автоматически при каждом запуске ОС. Но не лишнем будет это проверить и убедится в правильности работы синхронизации.
Чтобы синхронизировать время в Ubuntu нам нужно:
- Установить пакет синхронизации времени ntp:
- ntp1.imvp.ru
- ntp.psn.ru
- time.nist.gov
- pool.ntp.org
- ru.pool.ntp.org
Обратите внимание на кавычки. Такое написание правильное.
После каждого включения компьютера ваше время будет синхронизировано через Интернет и всегда будет актуальным. Если есть необходимость синхронизировать время вручную, то делается это командой:
В качестве сервера можно указать любой другой NTP-сервер или через пробел указать несколько серверов.
Большинство продавцов и торговых фирм, которые реализовывают терминалы сбора данных Casio, хваля залежалые модели, обязательно отмечают присутствие интерфейса Bluetooth. При этом они умалчивают, что этот терминал сбора данных не имеет Wi-Fi модуля, который более востребован в работе. Bluetooth больше подходит для связи с мобильным принтером для быстрой печати ценников, а не для передачи данных на сервер, что нужнее чаще.
При покупке терминала следует обратить на это внимание.
- Обновление версии Ubuntu из ISO-образа
- Полуавтоматическая загрузка видео с Youtube в Ubuntu
- Ключи репозитория в Ubuntu
- Как экспортировать письма из Evolution в Claws Mail
- Просмотр ext3/ext4 разделов в Windows
- Меняем интерфейс Grub2 с помощью Burg
- Как подключиться к MySQL удаленно?
- Александр #
3 сентября, 18:07
Спасибо. Добавил в свой список “how-to”
доброго времени суток!
наскольо сам помню тему, параметр
ntpd_enable=»YES»
не отвечает за “Настраиваем автоматическую синхронизацию при каждой загрузке ОС”, если точнее, он отвечает за запуск демона ntpd, который сам себе достаточно умный и сам решает когда синхронизироваться…
в Ubuntu синхронизация времени как раз и происходит при поднятии сетевого интерфейса (см. файл /etc/network/if-up.d/ntpdate)…
при чём “дебиановцы” умные ребята,- запуск “нтпдейт” настроен таким образом, что, если в системе, будет установлен полный пакет “нтп”, “нтпдейт” не будет мешать работе “нтп”, более того он (“нтпдейт”) в своей работе будет использовать настройки “нтп”…
в чём разница между этими двумя пакетами?
“нтпдейт” просто утилита которая запускается, выполняет работу и уходит… её можно сравнить с таким поведением: Вы просыпаетесь утром, набираете на телефоне службу точного времени, подводите часы, если они отстают, и не вспоминаете про часы до следующего утра…
“нтп” это демон, процесс постоянно висящий в памяти и постоянно делающий работу… его можно описать так: Вы нанимаете рабочего, который каждые десять минут (к примеру) звонит в службу точного времени и подводит часы, при этом он ведёт журнал, в котором записывает насколько он каждый раз подвёл часы… благодаря журналу даже если у Вас отключат телефон (пропало соединение с серверами верхних уровней) работник (“нпт”) сможет и сам подводить часы…
у меня в “локалке” я настроил сервер времени используя “нпт”… он раздаёт точное время доменным контроллерам (на “оффтопике”)… моё ИМХО – в локалке такой сервер нужен, дома хватает и “нтпдейта”…
У меня Mint 9, в нем нет файла /etc/rc.conf, что делать чтобы автоматически при каждой загрузке ОС была синхронизация?
В rc.conf нет параметра “ntpd_enable” для РЕДАКТИРОВАНИЯ =)
Но есть параметр “exit” с параметром “0”. Прочитал закоменченную сопроводиловку в файле – ниче толком не понял )
Я так понимаю логично было бы добавить ntpd_enable=»YES» ДО “exit 0”.
Но шипко смущает фраза
>> … By default this script does nothing.
Таки надо “exit 1”?
ОС – Убунту 10.04 с последними обновлениями
x0r: наскольо сам помню тему, параметр ntpd_enable=»YES» не отвечает за “Настраиваем автоматическую синхронизацию при каждой загрузке ОС”, если точнее, он отвечает за запуск демона ntpd, который сам себе достаточно умный и сам решает когда синхронизироваться…
Спасибо, за развернутый комментарий.
полезная статья! только для камчатски вроде как бесполезная :))
зы: почаще бы обновлялся раздел статей на вашем сайте;)
Спасибо за столь разжеванную статью. Очень полезная функция. Жаль, что она не встроена в саму утилиту настройки времени как в винде…
Как вернуть изменения
A. Из Ubuntu: вернуть изменения из Ubuntu достаточно просто.
Ubuntu 16.04 и новее: для того, чтобы вернуть изменения, просто запустите следующую команду:
Ubuntu версий до 16.04: всё, что нужно сделать, это заменить «UTC=no» на «UTC=yes» в файле /etc/default/rcS. Для того, чтобы сделать это автоматически, вставьте в терминал следующую команду:
После этого перезагрузите компьютер.
B. Из Windows: вернуть изменения в Windows чуть более сложно.
Для начала, откройте загруженный ранее файл .reg в текстовом редакторе и измените значение ключа «RealTimeIsUniversal» с «dword:00000001» на «-» (без кавычек). Вот как будет выглядеть файл после изменений:
Сохраните файл и дважды кликните по нему.
Затем выполните следующую команду из командной строки (запущенной от имени администратора), чтобы разрешить запуск службы времени Windows: