Меню

Linux время синхронизировать с компьютером



Управление временем в linux

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

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

  • отказ от хранения времени в аппаратных часах в формате UTC
  • применение нового стандарта хранения аппаратного времени

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

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

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

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

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

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

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

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

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

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

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

  • для «непрерывной» синхронизации с помощью cron, в например /etc/crontab добавляется строка
  • для разовой синхронизации

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

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

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

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

Источник

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

Довольно часто (если не сказать, что всегда) при настройке нового сервера необходимо настроить синхронизацию времени и очертить правильный часовой пояс. В Linux это совсем не сложно и очень быстро. Я не буду обрисовывать как это делается с помощью графических утилит, так как на серверах их нет по определению, а вот терминал есть везде, где имеется Linux.

Шаг первый:
Проверяем текущие дату и время.

# date
Пнд Янв 9 09:50:25 CET 2012

CET — и имеется наш текущий часовой пояс, установленный в системе. Так как мне, например, необходимо время московское, то мы и станем устанавливать московское время.
Список всех доступных часовых поясов можно отыскать в каталоге /usr/share/zoneinfo.

Шаг второй:
Создаём резервную копию файла нынешных настроек.
Этот шаг, в принципе, можно пропустить, но меня будет мучать совесть, когда Вы этого не сделаете.

# sudo mv /etc/localtime /etc/localtime-backup

Шаг третий:
Создаем символическую ссылку на нужный нам timezone:

# sudo ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Хочется предостеречь от довольно частой ошибки, ни в коем случае нельзя просто скопировать этот файл, так как когда Вы его скопируете с помощью команды cp, то любое обновление данной timezone пройдёт для Вас незамеченным. А я мыслю все помнят изменения с переводом времени в 2011 году?

Шаг четвёртый:
Дублируем свойство параметра ZONE в файле /etc/sysconfig/clock и устанавливаем его равным «Europe/Moscow».

Читайте также:  Синхронизация игр android с google

# sudo vi /etc/sysconfig/clock

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

Шаг пятый:
Аппарат аппаратных часов.
Для установки аппаратных часов существуют две команды: setclock и hwclock.
setclock — это высокоуровневая версия hwclock, какая не требует никаких параметров для запуска. Она сама выбирает какие параметры передать hwclock на основе сделанных нами выше настроек операционной системы.

Использование setclock лучше, однако не во всех системах она установлена. Увы…

hwclock — устанавливает параметры аппаратных часов на основе переданных ему данных.

Использование:
Считываем системное время:

# sudo hwclock
Пнд 09 Янв 2012 14:09:46 -0.239259 сек

Устанавливаем время аппаратных часов равное системному:

sudo hwclock —systohc

Ставим время (форма протекания физических и психических процессов, условие возможности изменения) аппаратных часов равное UTC, но на основании системного времени:

sudo hwclock —systohc —utc

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

sudo hwclock —set —date «09 Jan 2012 14:11»

Шаг шестой:
Аппарат пакета ntpdate, если он не установлен, конечно.

# sudo yum install ntpdate

Шаг седьмой:
Прирученная синхронизация времени.

# sudo ntpdate pool.ntp.org

9 Jan 14:21:47 ntpdate[2063]: adjust time server 178.63.64.14 offset 0.000866 sec

Перечень достаточно большого количества ntp серверов можно найти по следующей ссылке The Public NTP Time Server Lists.
Отредактировать перечень серверов или же добавить свой можно в файле конфигурации ntpd: /etc/ntp.conf.

server pool.ntp.org prefer
server another.ntp.server

# sudo vi /etc/ntp.conf

Шаг в-восьмой:
Настройка автоматической синхронизации времени.
Для автоматической синхронизации времени достаточно всего только запустить демон ntpd.

# sudo service ntpd start

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

# sudo chkconfig —level 2345 ntpd on

Шаг девятый, факультативный:
Наблюдение за синхронизацией.

Источник

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

Правильная синхронизация времени в Linux — залог корректной работы преимущественного большинства приложений и сервисов, что особенно касается тех инструментов, которые хоть как-то связаны с интернетом. Во всех дистрибутивах данной операционной системы за синхронизацию даты и времени отвечает специальная утилита. Она находится в активном состоянии по умолчанию, поэтому у пользователей нет необходимости как-то ее настраивать или изменять. Однако иногда такая надобность все же появляется из-за разных причин, например, случайных сбоев. Сегодня мы хотим рассмотреть принцип этой конфигурации и смену сервиса синхронизации на более привычный для многих юзеров.

Синхронизируем время в Linux

Для начала давайте уточним, что затронуть абсолютно все дистрибутивы в рамках одной статьи не получится, поэтому за пример мы возьмем самую популярную сборку — Ubuntu. В остальных ОС все происходит практически идентично, а различия наблюдаются лишь в элементах графического интерфейса. Однако если вы в этой статье не найдете интересующей информации, придется воспользоваться официальной документацией дистрибутива, чтобы справиться с поставленной задачей.

Настройка даты через графический интерфейс

Перед тем, как мы приступим к разбору сервисов для синхронизации времени, давайте рассмотрим важную для новичков настройку. Большинство начинающих обладателей Linux предпочитают использовать графическое меню для конфигурации необходимых параметров, это относится и к времени. Весь процесс осуществляется следующим образом:

  1. Откройте меню приложений и отыщите там «Параметры».

Перейдите в раздел «Сведения о системе».

Здесь вас интересует категория «Дата и время».

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

В окне местоположения выберите точку на карте или используйте поиск.

Дополнительно в «Дата и время» указывается формат. По умолчанию он 24-часовой.

Как видите, ничего сложного во взаимодействии с графическим интерфейсом нет. Однако недостаток этого способа заключается в том, что в меню отсутствуют важные параметры управления сервисом синхронизации, поэтому в определенных ситуациях использовать «Параметры» не получится.

Стандартные команды для управления временем

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

    Начните с запуска «Терминала». Сделать это можно, например, нажав на соответствующий значок в меню приложений.

Читайте также:  Как синхронизировать закладки в itunes

Введите команду date , чтобы определить текущую дату и время.

В новой строке отобразится интересующая вас информация в стандартном формате.

Через стандартную команду можно и изменить часовой пояс. Сначала нужно просмотреть доступный список поясов и запомнить название требуемого. Напечатайте timedatectl list-timezones и нажмите на Enter.

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

Команда sudo timedatectl set-timezone America/New_York отвечает за смену часового пояса на выбранный. Вместо America/New_York вам следует написать определенный ранее вариант.

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

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

Взаимодействие с сервисом timesyncd

Выше мы посоветовали изучить сведения о timedatectl через официальную документацию, но предлагаем еще на минуту остановиться на этом, чтобы ознакомиться с сервисом timesyncd. Именно эта утилита отвечает за синхронизацию времени в операционной системе по умолчанию.

    Для определения текущего статуса timesyncd используйте команду timedatectl в консоли.

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

Если вы видите, что этот инструмент сейчас отключен по каким-то причинам и хотите запустить его, чтобы наладить синхронизацию, используйте строку sudo timedatectl set-ntp on .

Установка NTPD

Последний раздел нашего сегодняшнего материала будет посвящен замене упомянутого выше сервиса синхронизации времени на более надежный протокол NTPD (Network Time Protocol daemon). Именно его раньше задействовали во многих дистрибутивах по умолчанию и хвалили за корректное взаимодействие с особо чувствительными ко времени приложениями. Инсталляция и замена сервиса происходит так:

    Для начала отключите стандартную утилиту, введя sudo timedatectl set-ntp no .

Придется подтвердить подлинность учетной записи путем написания пароля суперпользователя.

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

Перед началом установки нового программного обеспечения рекомендуется произвести инсталляцию последних обновлений. Осуществляется это через sudo apt update .

По окончании этого процесса используйте команду sudo apt install ntp .

Подтвердите уведомление о необходимости скачивания архивов.

Ожидайте завершения скачивания и инсталляции пакетов.

Теперь можете использовать новый протокол, вводя соответствующие атрибуты в «Терминал». Просмотр основных сведений происходит через ntpq -p .

Network Time Protocol daemon будет активирован автоматически, поэтому никаких дополнительных команд вводить не нужно. Вы можете сразу же приступить к тестированию проблемных приложений или выполнять другие действия, ради которых и осуществлялась инсталляция нового сервиса синхронизации времени.

Как видите, синхронизация времени и даты в Linux осуществляется автоматически, поэтому очень редко случаются ситуации, когда требуется активировать этот параметр или поменять другие опции. Теперь, изучив представленный материал, вы знаете, что существуют разные инструменты синхронизации, а настройка также может осуществляться через графическое меню.

Источник

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

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

В этой статье мы рассмотрим как выполняется установка времени Linux различными способами, через терминал, графический интерфейс и так далее. Но сначала нам нужно понять как работает время.

Как работает время на компьютере?

Статья ориентирована на новичков, в первую очередь на них, потому что профессионалы уже и так знают как это сделать. Поэтому сначала рассмотрим как работает время в Linux. Когда компьютер работает часы идут, это ясно, но когда вы его отключаете, а затем включаете снова часы показывают не то время, на котором остановились, а правильное время. Это происходит потому, что часы на материнской плате идут постоянно. Таймер питается от той же батарейки, что и энергозависимая память BIOS.

Операционная система передает значение таймера в память BIOS при выключении и берет его оттуда при включении. Отсюда берутся проблемы со временем при двойной загрузке Windows и Linux, но эта тема раскрыта в другой статье — сбивается время в Ubuntu и Windows. Другая проблема почему может сбиваться время — это неверно установленный часовой пояс. Если вы установили часовой пояс linux неверно, то часы будут постоянно синхронизироваться через интернет и идти неверно.

Читайте также:  Как сделать синхронизацию по задней шторке

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

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

Вы можете видеть текущее время прямо на вашем рабочем столе, в KDE часы добавлены на панель, да и в Gnome, они размещены по центру панели по умолчанию:

Если навести курсор на время, вы увидите более подробную информацию, область уведомлений и календарь.

Но настроить время здесь уже не получится. Для этого нужно открывать настройки системы. Мы будем рассматривать настройки для Gnome. Откройте меню Dash и наберите в строке поиска «Параметры»:

Дальше откройте «Дата и время»:

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

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

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

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

Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date. Сначала смотрим текущее время:

У утилиты есть множество опций отображения и настроек, но мы не будем их рассматривать. Есть еще одна команда, которая позволяет посмотреть системное время linux:

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

В качестве строки можно брать ту, которую возвращает команда date без параметров, только она должна быть на английском, поэтому сразу смотрим:

sudo date —set «Wed Sep 6 20:43:36 EEST 2017»

Если у вас включена коррекция даты через интернет, то ее нужно отключить перед этим, потому что вы даже заметить изменений не успеете, как сервер времени linux установит правильное время. Можно сократить эту строку:

sudo date —set «Sep 6 20:43:36 2017»

Это даст тот же результат. Еще один вариант — указать формат данных, которые вы собираетесь передавать с помощью модификаторов, например, изменить время linux:

sudo date +%T -s «20:43:36»

Здесь формат очень прост — часы:минуты:секунды. Можно давать время в 12 часовом формате, для этого добавьте модификатор %p:

date +%T%p -s «8:43:36PM»

Вы изменяете текущее время, но аппаратное системное время linux не изменяется, чтобы сохранить изменения используйте команду:

Еще один новый инструмент от systemd для управления временем — timedatectl. С помощью него можно выполнить те же операции, сначала смотрим доступную информацию о времени:

Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев. Например:

sudo timedatectl —set-time «2017-09-06 20:43:36»

Можно задать только время, тогда нужно использовать синтаксис времени ЧЧ:ММ:СС, например:

sudo timedatectl —set-time «20:43:36»

Еще раз говорю, что если включена синхронизация по сети, то вы не сможете изменить время. Но с помощью timedatectl ее можно отключить:

sudo timedatectl set-ntp no

Или включить обратно:

sudo timedatectl set-ntp yes

C помощью этой же команды можно не только установить время linux, но и настроить часовой пояс, для этого используйте опцию set-timezone:

sudo timedatectl set-timezone ‘Russia/Moscov’

Вы можете посмотреть список доступных часовых поясов командой:

Видео о настройке времени с помощью timedatectl:

Выводы

Вот и все. Теперь вы знаете как выполняется установка времени linux. Как видите, это очень просто, вы можете использовать различные способы, в зависимости от того, что вам будет удобнее. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

Adblock
detector