Linux date установка времени: Как изменить дату и время в консоли linux

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

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

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

Содержание статьи:

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

date

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

sudo hwclock -r

 

 

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

date --set="строка"

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

LANG=en_US 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 не изменяется, чтобы сохранить изменения используйте команду:

sudo hwclock -w

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

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 list-timezones

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

Выводы

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

 

Linux установка даты и времени

Содержание статьи

  • 1 Какие часы бывают в Linux
  • 2 Установка времени в ОС Linux
  • 3 Установка временной зоны (timezone)
  • 4 Как задать время через консоль в Linux?

Какие часы бывают в Linux

Немного теории. В любом компьютере есть два вида часов. Одни аппаратные (ЧРВ — часы реального времени или RTC — real time clock), которые работают даже при выключенном блоке питания, на это у них есть батарейка на материнской плате. Другие программные, то есть часы операционной системы. Показания этих часов могут различаться. При этом программные часы опираются на показания аппаратных при старте операционной системы. А в дальнейшем могут синхронизироваться через интернет с эталонными и корректировать ход аппаратных.
В большинстве случаев если компьютер работает под управлением операционной системой Windows показания аппаратных и программных часов совпадают. В Linux же чаще всего аппаратные часы настраивают по гринвичу (времени нулевого меридиана), а программные по необходимому смещению для часового пояса где расположен сервер.
Абсолютное большинство программ (приложений и сервисов) в своей работе опираются на показания системных (программных) часов.

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

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

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

Временная зона под Linuxом устанавливается через символическую ссылку, из /etc/localtime на файл из дирректории /usr/lib/zoneinfo(или /usr/share/zoneinfo), чем указывается в какой временной зоне вы находитесь. Например я живу в Киев (Киевский часовой пояс EET) я должен сделать ссылку /etc/localtime на файл /usr/lib/zoneinfo/Europe/Kiev. Для этого даем команду:
ln -sf ../usr/share/zoneinfo/Europe/Kiev /etc/localtime
Замените your/zoneна соответствующую вашему месту расположения зону, например Europe/Moscow или Australia/Perth. Чтобы узнать какие временные зоны доступны посмотрите в дирректорию /usr/lib/zoneinfo(или /usr/share/zoneinfo).

Как задать время через консоль в Linux?

Как задать время через консоль в Linux? Как установить дату в Linux?
Кроме графического интерфейса, у вас есть возможность делать все необходимые действия через терминал. Для этого есть утилита date.
Самое первое, что может нам понадобиться — просмотр текущей даты и времени. Узнаём время с помощью команды
$ date
Втр Сен 17 12:36:46 UTC 2017
Linux установка даты
date +%Y%m%d -s "20170917"
Linux задать время из консоли
date -s "16:17:00"
Задать время и дату одновременно:
date -s "17 SEP 2017 16:17:00"
Если указать только дату без времени, то время будет установлено в 0 часов 0 минут:
date -s "17 SEP 2017"
Выдаст результат:
Вск Сен 13 00:00:00 UTC 2017
Однако, сразу после этих команд, стсемное время возвращается к предыдущему значению. Поэтому нужно вначале установить аппаратные часы. Узнать, сколько времени на аппаратных часах, можно командой:
hwclock
ранее эта команда называлась clock.
Установить аппаратные часы можно командой:
hwclock --set --date="2011-08-14 16:45:05"
После чего надо засинхронизировать системные часы с аппаратными:
hwclock -s
По идее, если временная зона настроена как локальная, после этой команды время на компьютере будет таким же как и на аппаратных часах.
Если вы сталкиваетесь с ошибкой:
date: cannot set date: Operation not permitted
Учтите, что время и дату имеет право изменять только root-пользователь. Поэтому задавайте время с sudo:
sudo date +%Y%m%d -s "20170917"
Текущее системное время отображается в строке Local Time. Чтобы изменить дату, используйте опцию -set-time. Синтаксис передаваемого ей параметра такой: ГГГГ-ММ-ДД ЧЧ:ММ:СС. Думаю тут понятно и без комментариев.
Дополнительную информацию вы можете получить командой
date --help

Как установить дату и время в Linux

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

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

Давайте посмотрим, как вы можете просматривать, настраивать или изменять, а также устанавливать время и дату в Linux из командной строки с помощью timedatectl команда.

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

Для обеспечения точного времени в Linux используются два вида часов:

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

По умолчанию ваше системное время хранится в формате универсального скоординированного времени (UTC). Затем ваша система Linux преобразует UTC в правильное местное время в зависимости от вашего региона или часового пояса. Местное время отображается на рабочем столе.

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

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

 timedatectl 

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

Как настроить или изменить время в Linux

Чтобы установить или изменить время, используйте команду timedatectl вместе с подкомандой set-time :

 sudo timedatectl set-time чч:мм:сс 

Для установки времени или даты необходимы повышенные привилегии.

В вышеупомянутой команде hh означает часы, mm — минуты и ss — секунды. Время, которое вы указываете, должно быть в 24-часовом формате.

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

 sudo timedatectl set-time 00:00:00 

Команда обновляет как часы реального времени, так и системные или программные часы. Однако вы не сможете изменить время или дату, если в вашей системе включен протокол сетевого времени (NTP).

Как включить/отключить NTP в Linux

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

Чтобы отключить NTP в Linux, выполните следующую команду:

 sudo timedatectl set-ntp false 

Чтобы повторно активировать или включить NTP, просто запустите:

 sudo timedatectl set-ntp true 

После включения система автоматически настраивается и синхронизировать время с настроенным временем сервера.

Подкоманда set-ntp не будет работать, если ваша система не поддерживает NTP.

Как установить дату в Linux

Чтобы изменить дату на вашем компьютере, вы можете запустить команду timedatectl с подкомандой set-time в следующем формате:

 sudo timedatectl set-time ГГГГ-ММ -DD ​​

…где YYYY — год, MM — месяц и DD — день.

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

 sudo timedatectl set-time "2000-01-01 23:00:01" 

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

Изменение часового пояса в Linux

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

 timedatectl list-timezones 

Используйте клавишу F на клавиатуре для прокрутки вперед и B клавиша для прокрутки списка часовых поясов назад. Кроме того, вы можете использовать клавиши со стрелками для прокрутки.

Определив свой часовой пояс, вы можете, например, переключиться на часовой пояс Африки/Блантайра с помощью следующей команды: timedatectl , введите следующую команду:

 timedatectl help 

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

 man timedatectl 

Альтернативные утилиты часов в Linux

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

Другими традиционными утилитами настройки часов в Linux являются hwclock и date 9.0008 команды.

Изменение даты с помощью команды date вместе с часовым поясом

Как изменить дату с помощью команды date с изменением часового пояса. Поскольку «IST» в качестве часового пояса не устанавливает стандартное время Индии (то есть UTC +05:30) (я ищу решение, специфичное для CentOS 7)

1

В большинстве систем Unix системные часы должны быть установлены на время UTC. Затем часовой пояс должен быть установлен на соответствующее значение, либо путем установки TZ для переменной среды, например, Asia/Calcutta (для каждого пользователя) или путем установки системного часового пояса. Команда date не используется для установки часового пояса.

Установка системного часового пояса может быть выполнена по-разному на разных Unix. В Ubuntu это делается с помощью команды dpkg-reconfigure tzdata . В OpenBSD это делается путем создания символической ссылки из /etc/localtime на правильный файл часового пояса под 9.0145 /usr/share/zoneinfo (например, /etc/localtime -> /usr/share/zoneinfo/Asia/Calcutta ).