Chociaż systemd-machine-id-setup
i systemd-firstboot
są świetne dla systemów korzystających z systemd, /etc/machine-id
nie jest plikiem systemowym, pomimo znacznika. Jest również używany w systemach, które nie używają systemd. Alternatywnie możesz użyć dbus-uuidgen
narzędzia:
rm -f /etc/machine-id
i wtedy
dbus-uuidgen --ensure=/etc/machine-id
Jak wspomniano Stephen Kitt, systemy Debian mogą mieć zarówno plik, jak /etc/machine-id
i /var/lib/dbus/machine-id
plik. Jeśli oba istnieją jako zwykłe pliki, ich zawartość powinna się zgadzać, dlatego też usuń /var/lib/dbus/machine-id
:
rm /var/lib/dbus/machine-id
i utwórz go ponownie:
dbus-uuidgen --ensure
To ostatnie polecenie domyślnie używa /var/lib/dbus/machine-id
jako nazwy pliku i kopiuje identyfikator komputera z nowo wygenerowanego /etc/machine-id
.
dbus-uuidgen
Inwokacja może lub nie może być już częścią zwykłej sekwencji rozruchowej. Jeśli jest to część sekwencji rozruchowej, usunięcie pliku i ponowne uruchomienie powinno wystarczyć. Jeśli musisz dbus-uuidgen
sam uruchomić , zwróć uwagę na ostrzeżenie na stronie podręcznika:
Jeśli spróbujesz zmienić istniejący identyfikator komputera w działającym systemie, prawdopodobnie spowoduje to złe rzeczy. Nie próbuj zmieniać tego pliku. Nie rób też tego samego na dwóch różnych systemach; musi być inny za każdym razem, gdy działają dwa różne jądra.
Po wykonaniu tej czynności zdecydowanie nie kontynuuj korzystania z systemu bez ponownego uruchamiania. Jako dodatkowy środek ostrożności możesz zamiast tego ponownie uruchomić komputer w trybie ratunkowym (lub, jak sugerowałeś, uruchomić komputer z pamięci USB na żywo), ale z mojego doświadczenia nie jest to konieczne. Złe rzeczy mogą się zdarzyć, ale i tak złe rzeczy są naprawiane przez restart.