====== Настройка локального времени во FreeBSD ====== Установка локального часового пояса происходит либо во время настройки операционной системы при помощи команды sysinstall, либо позже – вручную. В первом случае после установки FreeBSD необходимо зайти в меню sysinstall: Configure -> Time Zone -> если часы BIOS установлены в UTC выбрать Yes, если они установлены в соответствии с вашим локальным временем выбрать No -> Выбрать регион вашего местоположения (в моем случае – Europe) -> Выбрать страну вашего нахождения (в моем случае 39 Russian Federation) -> Выбрать часовой пояс (в моем случае это 2 Moscow+00 – west Russia) -> Подтвердить свой выбор нажав OK -> осуществить выход из sysinstall. **Обновление базы часовых поясов**\\ Для FreeBSD 8.4, 9.1, 9.2, 9.3 и 10.0 с ядром GENERIC используем FreeBSD Update. Системы с модифицированным ядром обновляем из исходников или из коллекции портов. **Обновление системы с использованием FreeBSD Update** Проверяем идентификатор ядра: uname -i Если видим значение отличное от GENERIC, выполняем установку из исходников или из коллекции портов. В случае бинарного обновления, модифицированное ядро будет заменено стандартным. Загружаем обновления: freebsd-update fetch Устанавливаем обновления: freebsd-update install Обновляем текущий часовой пояс: tzsetup -r **Установка из коллекции портов** \\ **Внимание!** Порт устанавливается в /usr/share/zoneinfo с заменой системных файлов. При удалении пакета zoneinfo удаляется системная база часовых поясов. Удаление пакета необходимо выполнить непосредственно перед установкой новой версии системы. Обновляем коллекцию портов: Первый запуск. portsnap fetch portsnap extract portsnap update Последующие запуски. portsnap fetch update Устанавливаем порт zoneinfo: cd /usr/ports/misc/zoneinfo && make install clean Обновляем текущий часовой пояс: tzsetup -r ==== синхронизация времени с помощью ntpdate ==== Для синхронизации часов с каким-нибудь публичным сервером точного времени существует команда ntpdate: # ntpdate ru.pool.ntp.org Где ru.pool.ntp.org пул публичных ntp-серверов в Российской Федерации. **Установка время вручную**, с помощью команды date. Формат команды следующий: date ccyymmddHHMM.ss, где: - cc – задает текущий век\\ - yy – год\\ - mm – месяц года\\ - dd – день месяца\\ - HH – часы\\ - MM – минуты\\ - .ss – секунды.\\ Для ежедневной коррекции времени в **/etc/crontab** добавил строку. 5 2 * * * root ntpdate ru.pool.ntp.org > /dev/null 2>&1 Для проверки текущего часового пояса: date +"%Z %z" где формат %Z отобразит часовой пояс в буквенном виде, а %z отобразит часовой пояс в числовом виде. ==== синхронизация времени с помощью ntpd ==== Для включения ntpdate во время загрузки в файл **/etc/rc.conf** нужно добавить ntpdate_enable="YES" NTP настраивается в файле **/etc/ntp.conf** tos minclock 3 maxclock 6 server ntp.ix.ru iburst maxpoll 10 prefer server ntp2.aas.ru iburst maxpoll 10 server ru.pool.ntp.org iburst maxpoll 10 server 0.freebsd.pool.ntp.org iburst maxpoll 10 logfile /var/log/ntp.log # запрещаем всем обмениваться с нами данными #restrict default ignore restrict default limited kod nomodify notrap noquery nopeer restrict source limited kod nomodify notrap noquery # разрешить синхронизировать часы перечисленным серверам restrict localhost restrict ntp.ix.ru restrict ntp2.aas.ru restrict ru.pool.ntp.org restrict 0.freebsd.pool.ntp.org driftfile /var/db/ntp/ntp.drift * **prefer** указывает приоритетность сервера. * **iburst** ускоряет синхронизацию. * **ntp.ix.ru** сервер синхронизации времени. * **0.freebsd.pool.ntp.org** пул синхронизации. * **restrict default ignore** запрещаем от нас брать синхронизацию === Запуск === /etc/rc.d/ntpd start Проверка доступности точки синхронизации времени. ntpdate -q ntp.ix.ru server 194.190.168.1, stratum 1, offset +0.004992, delay 0.05241 30 May 12:35:01 ntpdate[22359]: adjust time server 194.190.168.1 offset +0.004992 sec Проверка локальной синхронизацию. ntpdate -q 127.0.0.1 server 127.0.0.1, stratum 2, offset +0.000012, delay 0.02568 30 May 12:35:42 ntpdate[22455]: adjust time server 127.0.0.1 offset +0.000012 sec Проверка работы. ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *ntp.ix.ru .GPS. 1 u 60 64 377 31.408 +5.514 0.608 +ntp2.aas.ru .MRS. 1 u 58 64 177 29.310 +3.721 3.403 -ns1.ooonet.ru 89.109.251.23 2 u 56 64 277 28.429 -5.923 1.966 +91.206.16.3 (tm 89.109.251.22 2 u 55 64 377 60.071 +6.677 1.136 * remote — Имя удаленного сервер. * refid — С этим сервером в данный момент происходит синхронизация. * st — Stratum (уровень) удаленного сервера. 1 высокий, эти сервера для вычисления времени используют специальное оборудование, 16 обычная компьютер клиента. * t — Режим работы сервера: u unicast, b broadcast, m multicast, - manycast. * when — Время прошедшее с последнего момента ответа сервера в секундах или - если сервер ни разу не ответил. * poll — Интервал синхронизации сервера в секундах. * reach — Состояние доступности сервера, значение стабилизируется на уровне 377 после 8 последних удачных попыток. * delay — Задержка ответа сервера. * offset — Различие локального (системного) времени и времени на удаленном сервере. * jitter — Показывает смещение времени на удаленном сервере. * * ***** — В настоящий момент с этим сервером выполняется синхронизация времени. * **+** — Пригодный для обновления сервер. * **#** — Отобранный сервер слишком далеко для синхронизации времени. * **x** — Некорректный сервер ( не отвечает на запросы ). * **ο** — Сервер добавлен в список для синхронизации используя сигнал PPS. * **-** — Плохой сервер, отвергнут по каким-то причинам. * **.** — Сервер выбран с конца списка синхронизаций. **Ссылки:**\\ http://itadept.ru/freebsd-timezone-update/#verification\\ http://www.maxblogs.ru/articles/nastroika-lokalnogo-vremeni-vo-freebsd\\ https://docs.freebsd.org/ru_RU.KOI8-R/books/handbook/network-ntp.html\\ https://linux-freebsd.ru/freebsd/sistema/sinhronizatsiya-vremeni-cherez-internet-v-freebsd\\ https://www.fryaha.ru/freebsd-ntpd-time-synchronization/