Хоча 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-накопичувача), але, з мого досвіду, це не потрібно. Погані речі можуть трапитися, але погані речі, які трапляються, все одно виправляються перезавантаженням.