Хотя systemd-machine-id-setup
и systemd-firstboot
отлично /etc/machine-id
подходит для систем, использующих systemd, это не системный файл, несмотря на тег. Он также используется в системах, которые не используют systemd. В качестве альтернативы вы можете использовать dbus-uuidgen
инструмент:
rm -f /etc/machine-id
а потом
dbus-uuidgen --ensure=/etc/machine-id
Как упомянул Стивен Китт, системы Debian могут иметь как файл , так /etc/machine-id
и /var/lib/dbus/machine-id
файл. Если оба существуют как обычные файлы, их содержимое должно совпадать, поэтому там также удалите /var/lib/dbus/machine-id
:
rm /var/lib/dbus/machine-id
и воссоздайте его:
dbus-uuidgen --ensure
Эта последняя команда неявно использует в /var/lib/dbus/machine-id
качестве имени файла и будет копировать идентификатор машины из уже созданного /etc/machine-id
.
dbus-uuidgen
Вызов может или не может уже быть частью обычной последовательности загрузки. Если это часть последовательности загрузки, то удаления файла и перезагрузки должно быть достаточно. Если вам нужно запустить dbus-uuidgen
себя, обратите внимание на предупреждение в справочной странице:
Если вы попытаетесь изменить существующий идентификатор машины в работающей системе, это, вероятно, приведет к плохим вещам. Не пытайтесь изменить этот файл. Кроме того, не делайте это одинаковым в двух разных системах; он должен отличаться каждый раз, когда работают два разных ядра.
Поэтому после этого определенно не продолжайте использовать систему без перезагрузки. В качестве дополнительной меры предосторожности вы можете вместо этого сначала перезагрузиться в режиме восстановления (или, как вы предложили, загрузить с USB-флешки), но, по моему опыту, в этом нет необходимости. Может случиться что-то плохое, но все равно плохие вещи исправляются перезагрузкой.