Команда для изменения системной даты — date
.
Существует два способа вызова команды даты(в Linux):
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Проще всего использовать date -s
, так как он позволяет использовать простыеотносительные даты
$ date -s yesterday; date
date: cannot set date: Operation not permitted
Sat Jan 5 07:21:07 EST 2019
Sun Jan 6 07:21:07 EST 2019
Дата не изменилась, так как она выполнялась с ограниченным пользователем $
. Если вы действительно хотите изменить дату, используйте root(#
)или sudo:
$ sudo date -s yesterday; date
Sat Jan 5 07:21:07 EST 2019
Sat Jan 5 07:21:07 EST 2019
Таким образом, изменить любую часть относительной даты так же просто, как назвать ее:
$ date -s "5 years ago"
Mon Jan 6 08:26:26 EST 2014
$ date -s "+6 months"
Sat Jul 6 08:28:39 EDT 2019
$ date -s "+3 hours -13 minutes"
Sun Jan 6 11:16:59 AST 2019
Абсолютные даты немного сложнее, так как они требуют большей детализации:
$ date -s "2001-07-23 10:11:12"
Или вы можете использовать команду даты дважды:
$ date -s "$(date +'%Y-%m-%d %H:%M:%S')"
замените любой из %
допустимым значением, и дата будет установлена (только как корень ).
$ date -s "$(date +'%Y-11-%d %H:%M:%S')"
Wed Nov 6 08:37:15 EST 2019
Вторая форма вызова даты используется для прямого изменения системной даты.
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Так:
date 11230812 # MMDDhhmm
Устанавливает дату 23 ноября в 08:00 и 12:00.
BSD имеет похожую команду , но другой формат ([[[[[cc]гг]мм]дд]ЧЧ]ММ[.ss] ).
Попробуйте date
как пользователь с ограниченными правами, чтобы увидеть, что он будет делать (без каких-либо изменений):
$ date 11230812
date: cannot set date: Operation not permitted
Sat Nov 23 08:12:00 EST 2019
Или, если вы действительно хотите изменить дату, как root:
# date 11230812
# date
Sat Nov 23 08:12:00 EST 2019
Обратите внимание, что это повлияет на такие службы, как NTP или chrony. И, если перезапустить, сбросит дату обратно на реальную.
Добавьте YY для установки года:
$ date 1123081222
date: cannot set date: Operation not permitted
Wed Nov 23 08:12:00 EST 2022
Или CCYY для установки года и века:
$ date 112308121982
date: cannot set date: Operation not permitted
Tue Nov 23 08:12:00 EST 1982
mDNS использует локальный IP-адрес многоадресной рассылки (IPv4 :224.0.0.251
, IPv6 :ff02::fb
, UDP -порт 5353 )с TTL, фиксированным на 1, чтобы не маршрутизироваться. Вам нужен прокси-сервер mDNS, анонсирующий службу и целевые IP-адреса устройств.
Подойдет Raspberry Pi или OrangePi Zero; инструкции можно найти здесь(извините, только на немецком языке)