Как изменить дату и время в консоли linux
Не каждый день возникает необходимость изменять время на компьютере. Как правило оно синхронизируется с NTP сервером времени через интернет. Но время может не сбиваться даже если отсутствует подключение к интернету. Это происходит потому, что установленное время в операционной системе при выключении компьютера записывается в BIOS или UEFI (программное обеспечение материнской платы) и при загрузке компьютера возвращается обратно в операционную систему. BIOS и UEFI хранят многие системные настройки необходимые для запуска компьютера, в том числе ведут постоянный отсчет установленной даты и времени пока компьютер выключен.
По многим причинам время может сбиваться и в таких случая может потребоваться его корректировка. Посмотреть или изменить дату и время в консоли Linux можно с помощью команды date.
Чтобы посмотреть текущую дату и время linux нужно выполнить команду date без аргументов.
date Ср 31 мар 2021 20:49:25 +03
Для изменения текущей даты и времени команда date выполняется с аргументом формата MMDDhhmmYYYY.ss, где:
- MM — месяц;
- DD — день;
- hh — часы;
- mm — минуты;
- YY — год;
- ss — секунды.
Изменим только время, установив 12 часов 30 минут, а дату оставим прежней.
sudo date 033112302021.00 Ср 31 мар 2021 12:30:00 +03
Изменение даты и времени необходимо выполнять в привилегированном режиме, поэтому необходимо использовать sudo
Командой date с таким аргументом довольно неудобно пользоваться — все символы сбиты в кучу, порядок записи значений даты и времени трудно запомнить.
Существует более удобный способ изменить время и дату в linux, для это необходимо использовать date совместно с аргументом —set
sudo date --set "2020-05-01 10:55:36"
При таком формате записи отпадает необходимость разъяснять где находится дата (год-месяц-день) и время (часы:минуты:секунды).
Linux изменить время консоли
Библиотека сайта rus-linux.net
ntp . Получите ее из репозитария. После того, как она будет установлена, вы можете настроить ее следующим образом:
Отредактируйте файл /etc/ntpd.conf . Он будет выглядеть следующим образом:
# С параметрами по умолчанию, устанавливаемыми ниже, программа ntpd будет выполнять синхронизацию ваших часов. # # Подробности смотрите: # - страница man для ntp.conf # - http://support.ntp.org/bin/view/Support/GettingStarted # - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon # Используемые общедоступные сервера пулов NTP; смотрите http://www.pool.ntp.org/ server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org # Доступ на чтение только из localhost restrict default noquery nopeer restrict 127.0.0.1 restrict ::1 # Месторасположение файлов drift и log driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntp.log # ЗАМЕЧАНИЕ: Если у вас работает программа dhcpcd и у вас указаны строки такие как 'restrict' и 'fudge', указываемые # здесь, удостоверьтесь, что в /etc/conf.d/net для перемннных dhcpcd_ethX добавлены параметры '-Y -N'
Удостоверьтесь, что вы запустили демон, и сделайте так, чтобы он автоматически запускался при загрузке системы.
Для Arch Linux это: /etc/rc.d/ntpd start ; для Debian и производных систем: /etc/init.d/ntpd start
Обновление из командной строки времени по значению, получаемому с сервера времени
Вы можете обновлять время вручную без использования демона ntpdate
Вы получите что-то вроде следующего:
19 Apr 15:45:23 ntpdate[10948]: step time server 129.6.15.28 offset -45.697084 sec
Если вы используете Gnome, щелкните правой кнопкой мыши по изображению часов и выберите пункт настройки adjust, или в меню выберите пункт System > Administration > Time and Date (Система > Администрирование > Время и дата). Вам, возможно, будет предложено ввести пароль.
Вы увидите окно, похожее на следующее:
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