Установка времени в Ubuntu. Linux установка времени


Установка времени в Ubuntu - Другие ОС - FAQStorage.ru

 

Сегодня хотелось бы рассмотреть вопрос, который нередко встречается у пользователей – что нужно сделать, чтобы в Linux Ubuntu установить время. И первым вариантом будет ставший привычным большинству пользователей вариант работы через графический интерфейс. Последовательность действий такова:

В привычном GUI Ubuntu настройка времени помещена в апплет время и дата.

При нажатии правой кнопкой мыши по индикатору появляется контекстное меню. Нас интересует пункт «Параметры». Что естественно и логично, чтобы установить в Ubuntu время, нужно нажать кнопку «Установки времени» в свойствах его апплета. И в открывшемся окне поменять значения на интересующие.

Теперь добавим немного интересного – как сделать то же самое в консоли? Весьма просто и незамысловато:

01. запустить консоль

02. ввести

sudo date -s 21:00

03. текущее системное время изменено без лишних движений мышкой и открытия всяких разных окошек

Стоит уточнить один момент: команда sudo сообщает системе, что следующие за ней команды будут выполнены от имени суперпользователя. Соответственно, для того, чтобы все выполнилось, необходимо знать его пароль и ввести его при запросе. Этот пароль не имеет значения «по-умолчанию» и задается каждым конкретным пользователем при установке системы.

Раз уж мы все равно уже в консоли и нам известен пароль рута, стоит задуматься как поменять дату в Ubuntu. Очевидно, что дата как-то связана с командой date. Проверим:

sudo date -s “3/22/2015 11:11”

Все так же вводим пароль в ответ на запрос и в итоге получаем новое время и новую дату. Тут стоит сделать одно очень важное замечание: дата вводится в строго определенном формате. Он зависит от версии сборки и региональных настроек, но зачастую консоль понимает МЕСЯЦ/ДЕНЬ/ ГОД. Скорее всего, вам подойдет именно такой формат, но чтобы наверняка узнать это – введите в консоль все ту же команду date и посмотрите что вам сообщит система.

date

Sun march 22 12:12:12 MSK 2015

 

 

Как оказалось, управлять системными настройками не так уж и сложно. Но ручная установка времени Ubuntu не всегда бывает удобна. Да и вряд ли найдутся желающие постоянно помнить о том, что надо проверять точность хода системных часов. Процесс можно автоматизировать - есть в Ubuntu синхронизация времени по мировым атомным часам. Всего-то и сложности - знать, что нужно ввести в консоли.

Начать можно с того, чтобы единоразово синхронизировать время с сервером точного времени.

sudo ntpdate ntp.ubuntu.com

Команда заставляет ваш Linux Ubuntu изменить время и дату на то, что предоставляет поставщик услуг точного времени ntp.ubuntu.com. Их великое множество и в примере я указал пул серверов, предоставляющий время в Ubuntu по-умолчанию. Важно помнить, что синхронизация времени происходит с внешним сервером, поэтому она возможна только при наличии активного интернет-соединения.

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

sudo apt-get update

sudo apt-get install ntpd

Установку утилиты произвела вторая команда, а первая была использована для того, чтобы система проверила репозитории Ubuntu на наличие в них самых свежих пакетов. После того, как команды были обработаны и все установлено, нужно поправить файл конфигурации утилиты ntp.

sudo nano /etc/ntp.conf

В файле должны быть прописаны сервера для синхронизации. У меня это выглядит так:

# You do need to talk to an NTP server or two (or three).

server 0.pool.ntp.org iburstserver 1.pool.ntp.org iburstserver 2.pool.ntp.org iburstserver 3.pool.ntp.org iburst

Если каких-то серверов нет – рекомендую не лениться и дописать их. Потом сохранить изменения, нажав Ctrl-O и подтвердить изменения нажав Enter.

Перезапустим утилиту ntp, чтобы она подхватила новые параметры:

sudo service ntpd restart

Поздравляю! Теперь ваша система будет актуализировать свое время с интернетом. При этом делает это она не постоянно, а лишь изредка и при этом не потребляет много трафика и не влияет на скорость работы ваших интернет приложений.

faqstorage.ru

Установка времени в Ubuntu | KotUbuntu

Сегодня хотелось бы рассмотреть вопрос, который нередко встречается у пользователей – что нужно сделать, чтобы в Linux Ubuntu установить время. И первым вариантом будет ставший привычным большинству пользователей вариант работы через графический интерфейс. Последовательность действий такова:

В привычном GUI Ubuntu настройка времени помещена в апплет время и дата.

При нажатии правой кнопкой мыши по индикатору появляется контекстное меню. Нас интересует пункт «Параметры». Что естественно и логично, чтобы установить в Ubuntu время, нужно нажать кнопку «Установки времени» в свойствах его апплета. И в открывшемся окне поменять значения на интересующие.

Теперь добавим немного интересного – как сделать то же самое в консоли? Весьма просто и незамысловато:

01. запустить консоль

02. ввести

sudo date -s 21:00

03. текущее системное время изменено без лишних движений мышкой и открытия всяких разных окошек

Стоит уточнить один момент: команда sudo сообщает системе, что следующие за ней команды будут выполнены от имени суперпользователя. Соответственно, для того, чтобы все выполнилось, необходимо знать его пароль и ввести его при запросе. Этот пароль не имеет значения «по-умолчанию» и задается каждым конкретным пользователем при установке системы.

Раз уж мы все равно уже в консоли и нам известен пароль рута, стоит задуматься как поменять дату в Ubuntu. Очевидно, что дата как-то связана с командой date. Проверим:

sudo date -s “3/22/2015 11:11”

Все так же вводим пароль в ответ на запрос и в итоге получаем новое время и новую дату. Тут стоит сделать одно очень важное замечание: дата вводится в строго определенном формате. Он зависит от версии сборки и региональных настроек, но зачастую консоль понимает МЕСЯЦ/ДЕНЬ/ ГОД. Скорее всего, вам подойдет именно такой формат, но чтобы наверняка узнать это – введите в консоль все ту же команду date и посмотрите что вам сообщит система.

date

Sun march 22 12:12:12 MSK 2015

Как оказалось, управлять системными настройками не так уж и сложно. Но ручная установка времени Ubuntu не всегда бывает удобна. Да и вряд ли найдутся желающие постоянно помнить о том, что надо проверять точность хода системных часов. Процесс можно автоматизировать — есть в Ubuntu синхронизация времени по мировым атомным часам. Всего-то и сложности — знать, что нужно ввести в консоли.

Начать можно с того, чтобы единоразово синхронизировать время с сервером точного времени.

sudo ntpdate ntp.ubuntu

Команда заставляет ваш Linux Ubuntu изменить время и дату на то, что предоставляет поставщик услуг точного времени ntp.ubuntu. Их великое множество и в примере я указал пул серверов, предоставляющий время в Ubuntu по-умолчанию. Важно помнить, что синхронизация времени происходит с внешним сервером, поэтому она возможна только при наличии активного интернет-соединения.

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

sudo apt-get update

sudo apt-get install ntpd

Установку утилиты произвела вторая команда, а первая была использована для того, чтобы система проверила репозитории Ubuntu на наличие в них самых свежих пакетов. После того, как команды были обработаны и все установлено, нужно поправить файл конфигурации утилиты ntp.

sudo nano /etc/ntp.conf

В файле должны быть прописаны сервера для синхронизации. У меня это выглядит так:

# You do need to talk to an NTP server or two (or three).

server 0.pool.ntp.org iburstserver 1.pool.ntp.org iburstserver 2.pool.ntp.org iburstserver 3.pool.ntp.org iburst

Если каких-то серверов нет – рекомендую не лениться и дописать их. Потом сохранить изменения, нажав Ctrl-O и подтвердить изменения нажав Enter.

Перезапустим утилиту ntp, чтобы она подхватила новые параметры:

sudo service ntpd restart

Поздравляю! Теперь ваша система будет актуализировать свое время с интернетом. При этом делает это она не постоянно, а лишь изредка и при этом не потребляет много трафика и не влияет на скорость работы ваших интернет приложений.

kotubuntu.ru

System time (Русский) - ArchWiki

Эта страница нуждается в сопроводителе

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

В операционной системе время (часы) определяется четыремя понятиями: значение времени, стандарт времени, часовой пояс и, если необходимо, летнее время (Daylight Saving Time (DST)). В этой статье рассказывается о каждом из них, а также как прочитать/установить их значения.

Введение

Аппаратные часы встроены в ваш компьютер, предоставляют информацию о годе, месяце, дне, часе, минуте и секунде и работают, даже когда он выключен. Они могут вести отсчет местному (локальному) времени или времени в стандарте UTC. Подробнее на Википедии. Фактически, местное время - это то время, которое показывают ваши обычные часы (к примеру, любимые часы вашей бабушки), а время UTC, не вдаваясь в подробности, едино для всех жителей земного шара, точкой отсчета для которого является Гринвичский меридиан. По отношению ко времени UTC, ваше локальное время может отличатся на несколько часов. Поскольку вы читаете именно русскоязычный вариант статьи, то, скорее всего, ваше локальное время больше от трех до двенадцати часов по сравнению с UTC.

Все наиболее распространенные системы могут использовать локальное или UTС-время. По умолчанию, UNIX-подобные операционные системы (включая Mac OS) используют UTС, в то время как Windows использует локальное время. В случае если у вас на компьютере установлено несколько операционных систем, лучше всего будет использовать в них UTC чтобы избежать конфликтов.

В UNIX-подобных операционных системах аппаратные часы могут быть проверены и сконфигурированы командой hwclock.

Кроме аппаратных часов, Linux также имеет системные (программные) часы, которые работают независимо. Системные часы отслеживают время,часовой пояс и контролируют, используется ли в вашей локали (локаль, как вы помните, настраивалась при установке системы в фале /etc/locale.conf) летнее время. Демон /etc/rc.d/hwclock предоставляет работу с командой hwclock и устанавливает системное время по аппаратным часам при загрузке операционной системы и наоборот, корректирует аппаратное время при завершении ее работы (ведь при своей работе операционная система может узнать более точное время, например от NTP-сервера). Таким образом, пользователи должны включать демон 'hwclock' в массив DAEMONS в /etc/rc.conf, чтобы это происходило автоматически. В качестве альтернативы этому демону, пользователи часто используют NTP для синхронизации времени с т.н. серверами времени в интернете.

Стандарты времени

Все наиболее распространенные операционные системы могут использовать локальное или UTС-время. По умолчанию, UNIX-подобные операционные системы (включая Mac OS) используют UTС, в то время как Windows использует локальное время. В случае если у вас на компьютере установлено несколько операционных систем, лучше всего будет использовать в них UTC чтобы избежать конфликтов. GNU/Linux будет переходить на летнее время и обратно автоматически, только в том случае, если вы используете UTC, независимо от того, летнее или зимнее время сейчас. Если вы используете местное время, GNU/Linux не будет осуществлять переход, предполагая, что у вас несколько операционных систем и другая операционная система сделает это за нее. Если это не так, то вам придется переводить часы вручную.

Вы можете установить стандарт временного отсчета средствами командной строки. Для начала проверьте, какой стандарт вы выбрали, когда устанавливали систему:

$ grep ^HARDWARECLOCK /etc/rc.conf

Если вы используете также Windows, то лучшим выбором будет localtime. Чтобы изменить стандарт временного отсчета на локальное время, используйте:

# hwclock --localtime

Или установить стандарт UTC:

# hwclock --utc

После этих операций скорее всего придется обновить ваши аппаратные и системные часы. См. ниже #Установка времени.

Часовой пояс

Удостоверьтесь что вы правильно указали ваш часовой пояс в /etc/rc.conf, это значения используется не только для часов, но и для других программ. Чтобы проверить значение, введите:

$ grep ^TIMEZONE /etc/rc.conf

Вы можете просмотреть полный список часовых поясов в файле /usr/share/zoneinfo/ и выберите крупный город в одном с вами часовом поясе. Если вы плохо разбираетесь в географии, то вы всегда сможете посетить страницу в Википедии, на которой приведен полный список часовых поясов. Кроме указания ближайшего города, вы также можете выбрать часовой пояс непосредственно. Пример:

TIMEZONE="America/Chicago"

Выбранный часовой пояс будет подхвачен системой после перезагрузки. Для того, чтобы изменить часовой пояс немедленно, в должны создать ссылку или скопировать соответствующий файл в /etc/localtime:

# cp /usr/share/zoneinfo/America/Chicago /etc/localtime

Далее вам потребуется установить точное время на аппаратных часах.

Установка времени

Аппаратные часы могут быть установлены по системным. Посмотрите, какое время установлено на ваших аппаратных часах:

$ hwclock --show

И системных часах:

$ date

Чтобы установить аппаратные часы непосредственно:

# hwclock --set --date "MM/DD/YYYY hh:mm:ss"

Установить системные часы:

# date MMDDhhmmYYYY

Аппаратные часы можно установить по системным и наоборот:

# hwclock --systohc # hwclock --hctosys

Если нет файла rc.conf

Для того, чтобы сравнить системное время и UTC:

$ timedatectl status

Для установки системных часов:

# timedatectl set-time "2012-10-30 18:17:16"

Изменить Вашу зону и субзону:

# timedatectl set-timezone Zone/SubZone

Лист доступных зон:

$ timedatectl list-timezones

Пример установки зон:

# timedatectl set-timezone Europe/Moscow

Погрешность часов

Нет ничего идеального. В том числе и часов. Время на любых часах хоть немного но отличается от реального. Одними из наиболее точных считаются атомные часы. Кварцевые часы, используемые в компьютерах, также не являются абсолютно точными, зато имеют относительно постоянную погрешность.

Каждый раз перед выключением демон hwclock сравнивает аппаратное и системное время (последнее принимается за наиболее точное) и вычисляет погрешность аппаратных кварцевых часов в день. Вычисленное значение погрешности записывается в файл /var/lib/hwclock/adjtime. Если hwclock не использовался больше суток, то он, на всякий случай, вычисляет новое значение погрешности.

Специальный скрипт корректирует аппаратные часы в соответствии с вычисленной погрешностью каждый час. Если вы видите, что ваши аппаратные часы идут все более и более неверно, то, вероятнее всего, в файле /var/lib/hwclock/adjtime записано неверное значение погрешности.

Это происходит если на аппаратных часах время изначально было установлено неверно или ваш временной стандарт (см. выше) не такой как у другой операционной системы, используемой на компьютере. Чтобы исправить это, удалите /var/lib/hwclock/adjtime и настройте время на всех ваших часах.

Примечание: Если вы всегда выключаете свой компьютер чаще чем раз в сутки, погрешность, записанная в /var/lib/hwclock/adjtime не будет перепроверяться hwclock. Кварцевый генератор, конечно, надежная штука, но со временем параметры его могут меняться (например батарейка CMOS разряжается). Возможно, стоит иногда выключать компьютер реже чем раз в сутки. Тогда можно быть уверенным, что значение погрешности, по которому корректируются часы, будет самым новым, а часы самыми точными.

Системное время рассчитывается ядром, начиная с полуночи первого января 1st 1970 по стандарту UTC. Начальное значение системных часов рассчитываается исходя из показаний часов аппаратных (после корректировки погрешности и пересчета на местный часовой пояс UTC) при включении и идут независимо от аппаратных. Ядро Linux отслеживает системные часы, подсчитывая прерывания таймера. Как и аппаратные, они не являются идеально точными. Иногда системные часы могут потерять точность, если ядро сбрасывает прерывания. Но показания системынх часов можно сделать точными с помощью NTP. NTP будет регулировать частоту прерываний и количество тактов в секунду для уменьшения дрейфа системных часов. Эти значения могут быть скорректированы с помощью приложения adjtimex из AUR.

Примечание: Если вы не используете NTP, то ваши аппаратные часы будут более точными, чем системные. Соответственно описанный механизм корректировки будет только вносить дополнительную погрешность и его лучше отключить. Для этого можно закомментировать строку hwclock --systohc в файле {/etc/rc.d/hwclock. Теперь при выключении компьютера система не будет изменять значение ваших аппаратных часов.

Синхронизация времени

Протокол синхронизации времени (NTP) - это протокол для синхронизации часов компьютера с помощью пакетов в сетях с переменными задержками доставки данных. Вот реализации этого протокола:

  • Network Time Protocol daemon (Русский) - это Wikipedia:ru:эталонная реализация протокола, особенно рекомендуется к использованию на серверах времени. Он также регулирует частоту прерываний и количество тактов в секунду, чтобы уменьшить дрейф системных часов, и будет снова синхронизировать аппаратные часы каждые 11 минут.
  • sntp - это wikipedia:ru:SNTP клиент, который входит в пакет ntp. Он заменяет собой ntpdate и рекомендуется к использованию на не серверах.
  • systemd-timesyncd (Русский) - это простой wikipedia:ru:SNTP демон, реализующий только клиентскую часть, ориентируется только на запрос времени с одного удалённого сервера. Этот вариант подходит большинству пользователей.
  • OpenNTPD - это часть проекта OpenBSD, реализует как клиентскую, так и серверную часть.
  • Chrony - это клиент и сервер, который дружественен к роумингу и специально разработан для систем, которые не всегда онлайн.

Возможные проблемы

На некоторых ноутбуках (HP Compaq 6715s) была выявлена 1, 2 проблема. При этом системные часы спешили на два часа. После ввода команды:

$ hwclock --debug

Появляется следующий вывод консоли:

hwclock из util-linux 2.19.1 Используется /dev interface to clock. Дата последней корректировки отклонения - 1311726134 секунд после 1969 Дата последней калибровки - 1310756173 секунд после 1969 Аппаратные часы выставлены по местному времени Подразумевается, что аппаратные часы выставлены по местному времени. Ожидается тиканье часов... Истекло время ожидания тиканья часов select() в /dev/rtc # Собственно, строка с ошибкой ...synchronization failed

Подобная ошибка возникает при загрузке и выключении системы (ядро не может прочитать/изменить аппаратное время), а также при последующих операциях по конфигурированию времени. Вероятно, проблема в драйвере, включенном в ядро по умолчанию. Некоторые пользователи других дистрибутивов решали проблему использованием другого драйвера или добавлением ключей --directisa в скрипт демона.

Добавление демона hwclock в rc.conf по крайней мере решило проблему со спешащими часами. Тем не менее, любые запросы к аппаратным часам проходят один раз из семи. Если найдется решение проблемы, пожалуйста, свяжитесь с первым автором перевода этой статьи.

См. также

wiki.archlinux.org

Управление временем в linux — Пингвиньи радости

Материал из Пингвиньи радостей

Статья об управлении временем в linux

Управление временем в linux это комплекс мероприятий по настройке серверов и рабочих станций локальной сети для установки и поддержания точного времени.

Полный план мероприятий по управлению временем включает в себя

Описание управления временем в linux приведено на примере операционной системы Debian GNU/Linux.

Системное время

Системным временем называется дата и время используемые Операционной средой.

Системное время первоначально устанавливается на основании значений аппаратных часов и часового пояса и действует до первой синхронизации с сервером точного времени. Установка системного времени операционной среды запускает процесс синхронизации часов в локальной сети.

Аппаратные часы

Аппаратным временем называется дата и время используемое компьютером, когда он выключен.

Аппаратные часы устанавливаются и хранятся в БИОС компьютера.

Внимание! Операционная система Linux (в соответствии со стандартами) осуществляет хранение времени в аппаратных часах в формате UTC. В то время как Windows время из BIOS (сразу) считает локальным.

В некоторых случаях хранение времени в аппаратных часах в формате UTC может предоставлять определённые неудобства. Например при установке времени BIOS/CMOS вручную (в соответствии с наручными часами) придётся самостоятельно учитывать разницу в часовых поясах. Или например при совместном использовании на одном компьютере операционных систем Windows и linux.

Для изменения в Linux стандарта хранения времени в аппаратных часах

  • отказ от хранения времени в аппаратных часах в формате UTC
- для debian squeeze в файле /etc/default/rcS исправляется строка UTC=yes на UTC=no - для debian wheezy в файле /etc/adjtime исправляется строка UTC на LOCAL
  • применение нового стандарта хранения аппаратного времени
# ntdate server - получение точного времени с сервера времени # /etc/init.d/hwclock.sh restart - запись системного времени в BIOS/CMOS

Развёртывание сервера точного времени

Сервер точного времени локальной сети это рабочая станция, на которой работает Сервер времени, обеспечивающий связь с Сервером точного времени в интернет для периодичного обновления системного времени.

В качестве Сервера точного времени может быть использована например программа Chrony.

Настройка часовых поясов и "летнего времени"

Часовой пояс это геофизическое деление земного шара на части по 15 градусов каждая, начиная с Гринвича, в Англии.

Замечание: Уточнить текущее время с учётом часового пояса можно на странице timezoneconverter.com.

Настройка часового пояса необходима, если аппаратные часы хранят время в формате UTC, как это принято по умолчанию в linux и в месте установки рабочей станции осуществляется переход на "летнее/зимнее время".

Для установки часового пояса могут быть использованы команды

# tzselect - временная (до перезагрузки) установка часового пояса # dpkg-reconfigure tzdata - (долговременная) установка часового пояса с помощью программы tzdata

Ссылки:

Синхронизация времени в локальной сети

Синхронизация времени в локальной сети это процесс связи рабочей станции с помощью NTP-клиента с сервером точного времени в локальной сети для синхронизация с ним своего системного времени.

Для синхронизации времени могут быть использованы например утилита ntpdate или сервер времени ntp, работающий в режиме клиента.

Для синхронизации системного времени с помощью ntpdate

  • для "непрерывной" синхронизации с помощью cron, в например /etc/crontab добавляется строка
*/5 * * * * root ntpdate <ЛОКАЛЬНЫЙ СЕРВЕР ТОЧНОГО ВРЕМЕНИ>
  • для разовой синхронизации
- с помощью cron, в файл конфигурации добавляется например строка @reboot root ntpdate <ЛОКАЛЬНЫЙ СЕРВЕР ТОЧНОГО ВРЕМЕНИ> - с помощью rc.local, в файл добавляется например строка ntpdate <ЛОКАЛЬНЫЙ СЕРВЕР ТОЧНОГО ВРЕМЕНИ> - с помощью anacron

Синхронизация системного времени и аппаратных часов

Синхронизация системного времени и аппаратных часов это процесс установки аппаратных часов рабочей станции в соответствии с системным временем.

Такая синхронизация требуется например при настройке автовключения рабочих станций по времени, например при использовании компьютера в качестве будильника или при одновременном (поочерёдном) использовании на рабочей станции операционных сред Linux и windows.

Для установки аппаратных часов используется утилита hwclock:

# hwclock --systohc - установить аппаратные часы в соответствии с системным временем # hwclock --set --date="2011-01-25 08:55:01" - установка конкретного значения аппаратного времени Внимание! Если на рабочей станции для получения системного времени используется пакет ntp/xntpd, то аппаратное время будет обновляться автоматически каждые 11 минут.

Литература

Справочная информация

  • 13.02.2013: Управление временем в linux: создание статьи на примере debian squeeze
  • 03.06.2013: Управление временем в linux: актуализация описания для debian wheezy

tdkare.ru