Для определенных задач или приложений вам может потребоваться установить конкретную дату и время в целях тестирования или отладки. Если да, то это руководство для вас! Эта краткая статья предоставит вам пошаговые инструкции о том, как изменить системные часы с помощью командной строки в Linux.
Имеете ли вы дело с расхождениями в часовых поясах или просто хотите вручную настроить дату и время, этот учебник поможет вам легко достичь вашей цели.
Вы можете изменить системные часы из командной строки в Linux с помощью команды date
.
1. Установите дату и время:
Чтобы установить системные часы с помощью командной строки, команда будет:
sudo date -s "YYYY-MM-DD HH:MM:SS"
Замените YYYY-MM-DD HH:MM:SS
желаемыми датой и временем. Например, чтобы установить дату на 1 сентября 2024 года, в 12:34: 56, вы должны использовать:
sudo date -s "2024-09-01 12:34:56"
2. Синхронизируйте аппаратные часы:
После установки системной даты и времени вам следует обновить аппаратные часы, чтобы они соответствовали системным часам, используя команду hwclock
:
sudo hwclock --systohc
Не забудьте использовать sudo для запуска этих команд с правами администратора.
В этом примере я установил более старую дату для демонстрации. Когда вы перезапускаете свою систему Linux после установки старых даты и времени, она автоматически обновляется до текущих даты и времени.
Автоматическое обновление до текущей даты и времени при перезагрузке обычно происходит из-за того, что система считывает правильное время с аппаратных часов и/или синхронизируется с серверами NTP. Это гарантирует, что системные часы остаются точными и надежными.
На всякий случай, если дата и время не изменятся автоматически после перезагрузки, вы можете легко вернуться к текущим дате и времени, используя любой из следующих методов:
1. Получить дату и время из Google
Выполните следующую команду из вашего терминала:
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
Эта команда выполняет следующее:
wget
для получения заголовков с сервера Google, которые включают текущую дату и время.
2. Синхронизация с протоколом сетевого времени (NTP):
Самый простой способ вернуть дату и время в вашей системе к текущему времени — это синхронизировать их с NTP-сервером. В большинстве дистрибутивов Linux по умолчанию установлен ntpd
or chrony
, который может автоматически синхронизировать системные часы с NTP-серверами.
Используя ntpd
:
sudo systemctl start ntpd sudo systemctl enable ntpd
Используя chrony
:
sudo systemctl start chronyd sudo systemctl enable chronyd
Эти команды запустят службу NTP и позволят ей запускаться при запуске, гарантируя, что ваши системные часы всегда будут синхронизированы с правильным временем.
3. Использование ntpdate
:
Если у вас не запущен демон NTP, вы можете использовать команду ntpdate
для установки времени с сервера NTP:
sudo ntpdate pool.ntp.org
Эта команда установит дату и время в вашей системе на текущее время в соответствии с NTP-сервером.
4. Использование timedatectl
:
В современных дистрибутивах Linux, использующих systemd
, вы можете использовать команду timedatectl
для установки даты и времени и включения синхронизации NTP:
sudo timedatectl set-ntp true
Эта команда включит синхронизацию NTP и автоматически установит дату и время в вашей системе на текущее время.
5. Установите дату и время вручную:
Если вы предпочитаете вручную установить дату и время на текущие значения, вы можете снова использовать команду date
. Однако вам необходимо знать текущую дату и время. Вы можете узнать текущую дату и время из надежного источника, такого как веб-сайт или другой компьютер.
Как только вы определите правильные дату и время, просто используйте команду date
, как мы объяснили в предыдущем разделе.
sudo date MMDDhhmmYYYY.ss
где:
Например:
sudo date 090314302024.00
Эта команда установит дату на 3 сентября 2024 года, в 14:30.
После установки времени вы можете захотеть записать системные часы в аппаратные часы:
sudo hwclock --systohc
Это гарантирует, что новое время сохраняется при перезагрузках.
Используя один из этих методов, вы можете легко вернуть дату и время в вашей системе к текущим значениям.