Linux часу что это

Linux часу что это

В этом документе описано, как вы можете установить ваши часы в Линуксе, как установить временную зону (timezone) и другую связанную с этим информацию.

В вашем компьютере есть две разновидности часов: имеющие независимое питание и всегда запущенные (их называют по разному: «аппаратные» («hardware»), «BIOS», или «CMOS»-часы), и другие, которые определяются операционной системой, запущенной на вашем компьютере («системные» часы). Аппаратные часы в основном используются для установки системного времени в момент загрузки ОС, и с этого момента до момента перезагрузки ОС или выключения питания компьютера для определения времени будут использоваться системные часы.

В Линуксе вы имеете выбор: установить в аппаратных часах всемирное время (UTC/GMT) или локальное время (local time). Наилучший вариант — установить всемирное время (UTC), что позволит автоматически учитывать переход на зимнее/летнее время. Единственное неудобство от установки всемирного времени в аппаратных часах — это в случае использования на этом же компьютере другой ОС (в случае использования dual boot), которая считает, что аппаратные часы установленны в локальное время, поэтому время в этой систему будет неверным.

Установка временной зоны (timezone)

Временная зона под Линуксом устанавливается через символическую ссылку, из /etc/localtime на файл из дирректории /usr/lib/zoneinfo (или /usr/share/zoneinfo ), чем указывается, в какой временной зоне вы находитесь. Например, я живу в Новгороде (Московский часовой пояс), я должен сделать ссылку /etc/localtime на файл /usr/lib/zoneinfo/Europe/Moscow . Для этого даем команду:

ln -sf ../usr/share/zoneinfo/your/zone /etc/localtime

Замените your/zone на соответствующую вашему месту расположения зону, например Europe/Moscow или Australia/Perth . Чтобы узнать какие временные зоны доступны, посмотрите в дирректорию /usr/lib/zoneinfo (или /usr/share/zoneinfo ).

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

Когда линукс загружен, один из скриптов инициализации запускает программу /sbin/clock (или /sbin/hwclock в RedHat’e) чтобы установить системные часы в соответствии с аппаратными часами. clock считает, что аппаратные часы установленны на локальное время, чтобы указать что используется всемирное время используют ключ -u . Далее для RedHat Линукса надо в скрипте /etc/sysconfig/clock установить переменную « UTC » в значение «UTC=true» или «UTC=false». Для случая Debian’a это переменная « GMT »в файле /etc/init.d/boot, а значения ее : «GMT=»-u» » в случае использования всемирного времени и или «GMT=»» » в случае использования локального времени

Установка системных часов

Для установки системных часов в Линуксе используется программа date . Для примера — чтобы установить текущее время (системное!) и дату на 31 июля, 23:16, наберите « date 07312316 » (обратите внимание, что время дано в 24-часовой записи). Если вы хотите изменить год, то наберите « date 073123161998 ». Для установки секунд набирите « date 07312316.30 » или « date 073123161998.30 ». Чтобы узнать системное время, запустите date без аргументов.

Читайте также:  Linux gpg public key

Установка аппаратных часов

Для установки аппаратных часов, установите сначала системное время, а потом уже аппаратное, используя программу « /sbin/clock -w » (или« /sbin/clock -wu » в случае использования всемирного времени). Чтобы узнать аппаратное время, запустите clock без параметров. Если аппаратные часы установлены в локальное время, а вы хотите увидеть всемирное, наберите « /sbin/clock -u »

В некоторых приложениях время показывается неверно

Если какое-то приложение (такое как date ) показывает верное время, но остальные — нет, то вы наверно неправильно установили информацию о временной зоне. Чтобы исправить ситуацию, просто создайте правильную ссылку на нужную временную зону.

Итог

  • /etc/init.d/boot (/etc/sysconfig/clock) устанавливает локальное или всемирное время
  • Символическая ссылка /etc/localtime на /usr/lib/zoneinfo/. используется для установки временной зоны.
  • Запуск « date MMDDhhmm » для установки текущего системного времени
  • Запустите « /sbin/clock -w [-u] » для установки аппаратных часов

Небольшое замечание

Ядро Linux’а всегда хранит и вычисляет врямя как число секунд прошедших с полночи 1-го января 1970 года, в независимости от того, установлены ваши часы на локальное или всемирное время. Преобразование в локальное время производится в процессе запроса.

Поскольку колличество секунд с 1-го января 1970 года всемирного времени сохраняется как знаковое 32-битное целое (это справедливо для Linux/Intel систем), ваши часы перестанут работать где-то в 2038 году. Linux не имеет проблеммы 2000-го года, но имеет проблему 2038 года. К счастью, к тому времени все linux’ы будут запущены на 64-х разрядных системах. 64-х битное целое будет содержать наши часы приблизительно до 292271-миллионного года.

Обратите внимание на другие программы

  • rdate — получает текущее время на удаленной машине; может быть использована для установки системного времени.
  • xntpd — похожа на rdate , но она более аккуратна и вы должны иметь постоянное сетевое соединение. xntpd запускается на продолжительный срок и следит за сетевыми задержками и «уходом» часов, для работы с ней используется программа ( ntpdate ), устанавливающая текущее время точно так же, как это делает rdate.

Источник

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

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

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

Читайте также:  Remove not empty folder linux

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

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

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

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

Переход к параметрам для настройки времени в Linux через графическое меню

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

  • Перейдите в раздел «Сведения о системе». Переход к сведениям о системе для настройки времени в Linux через графическое меню
  • Здесь вас интересует категория «Дата и время». Переход к настройкам даты и времени Linux
  • Обратите внимание на пункты автоматического определения даты и времени. Они используют интернет для выставления оптимальных настроек, которые зависят от выбранного часового пояса. Вы можете активировать или отключить эти настройки, передвинув ползунки. Отключение или включение автоматического определения даты и времени в Linux
  • При их отключении строки с датой, временем и часовым поясом активируются, а это значит, что теперь ничего не помешает вам установить пользовательские параметры. Ручная настройка времени и часового пояса через графическое меню Linux
  • В окне местоположения выберите точку на карте или используйте поиск. Окно для выбора часового пояса через графическое меню Linux
  • Дополнительно в «Дата и время» указывается формат. По умолчанию он 24-часовой. Выбор формата отображения времени через графическое меню Linux

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

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

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

    1. Начните с запуска «Терминала». Сделать это можно, например, нажав на соответствующий значок в меню приложений. Запуск терминала для использования команд времени в Linux
    2. Введите команду date , чтобы определить текущую дату и время. Ввод команды для просмотра текущей даты в терминале Linux
    3. В новой строке отобразится интересующая вас информация в стандартном формате. Просмотр текущей даты через терминал Linux
    4. Через стандартную команду можно и изменить часовой пояс. Сначала нужно просмотреть доступный список поясов и запомнить название требуемого. Напечатайте timedatectl list-timezones и нажмите на Enter. Вызов команды для просмотра часового пояса через терминал в Linux
    5. Перемещайтесь вниз по списку с помощью клавиши Пробел. После того, как вы найдете нужный пояс и запомните правило его написания, нажмите на Q для выхода. Просмотр списка часовых поясов через терминал в Linux
    6. Команда sudo timedatectl set-timezone America/New_York отвечает за смену часового пояса на выбранный. Вместо America/New_York вам следует написать определенный ранее вариант. Ввод команды для изменения текущего часового пояса через терминал в Linux
    7. Для подтверждения действия придется ввести пароль суперпользователя, поскольку команда была выполнена с аргументом sudo. Ввод пароля Linux для изменения часового пояса через терминал

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

    Читайте также:  Install epm on linux

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

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

    1. Для определения текущего статуса timesyncd используйте команду timedatectl в консоли. Вызов команды для проверки текущего состояния сервиса синхронизации времени Linux
    2. В новых строках вы получите все необходимые сведения, куда относится локальное время, установленная зона и данные о синхронизации и активности самого сервиса. Просмотр информации о текущем состоянии сервиса синхронизации времени Linux
    3. Если вы видите, что этот инструмент сейчас отключен по каким-то причинам и хотите запустить его, чтобы наладить синхронизацию, используйте строку sudo timedatectl set-ntp on . Команда для активации работы сервиса синхронизации времени в Linux

    Установка NTPD

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

    1. Для начала отключите стандартную утилиту, введя sudo timedatectl set-ntp no . Ввод команды для отключения сервиса синхронизации времени в Linux
    2. Придется подтвердить подлинность учетной записи путем написания пароля суперпользователя. Подтверждение пароля для отключения сервиса синхронизации времени в Linux
    3. После вы можете использовать уже знакомую команду timedatectl для того, чтобы убедиться в отключенном состоянии инструмента. Проверка информации о текущем состоянии сервиса после отключения Linux
    4. Перед началом установки нового программного обеспечения рекомендуется произвести инсталляцию последних обновлений. Осуществляется это через sudo apt update . Команда для установки обновлений Linux перед установкой программ
    5. По окончании этого процесса используйте команду sudo apt install ntp . Команда для установки нового сервиса синхронизации времени
    6. Подтвердите уведомление о необходимости скачивания архивов. Подтверждение установки нового сервиса синхронизации времени Linux
    7. Ожидайте завершения скачивания и инсталляции пакетов. Ожидание завершения установки нового сервиса синхронизации времени Linux
    8. Теперь можете использовать новый протокол, вводя соответствующие атрибуты в «Терминал». Просмотр основных сведений происходит через ntpq -p . Использование нового сервиса для синхронизации времени в Linux

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

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

    Источник

  • Оцените статью
    Adblock
    detector