Хоча systemd-machine-id-setup
і systemd-firstboot
чудово підходить для систем, що використовують systemd, /etc/machine-id
це не системний файл, незважаючи на тег. Він також використовується в системах, які не використовують systemd. Тому в якості альтернативи ви можете використовувати dbus-uuidgen
інструмент:
rm -f /etc/machine-id
і потім
dbus-uuidgen --ensure=/etc/machine-id
Як згадував Стівен Кітт, системи Debian можуть мати і a, /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-накопичувача), але, з мого досвіду, це не потрібно. Погані речі можуть трапитися, але погані речі, які трапляються, все одно виправляються перезавантаженням.