Aunque systemd-machine-id-setup
y systemd-firstboot
son excelentes para sistemas que usan systemd, /etc/machine-id
no es un archivo systemd, a pesar de la etiqueta. También se usa en sistemas que no usan systemd. Entonces, como alternativa, puede usar la dbus-uuidgen
herramienta:
rm -f /etc/machine-id
y entonces
dbus-uuidgen --ensure=/etc/machine-id
Como mencionó Stephen Kitt, los sistemas Debian pueden tener tanto un /etc/machine-id
como un /var/lib/dbus/machine-id
archivo. Si ambos existen como archivos normales, su contenido debe coincidir, por lo que también eliminará /var/lib/dbus/machine-id
:
rm /var/lib/dbus/machine-id
y volver a crearlo:
dbus-uuidgen --ensure
Este último comando implícitamente se usa /var/lib/dbus/machine-id
como el nombre del archivo y copiará la ID de la máquina del ya generado recientemente /etc/machine-id
.
La dbus-uuidgen
invocación puede o no ser parte de la secuencia de arranque normal. Si es parte de la secuencia de arranque, eliminar el archivo y reiniciar debería ser suficiente. Si necesita ejecutarse dbus-uuidgen
, preste atención a la advertencia en la página del manual:
Si intenta cambiar una identificación de máquina existente en un sistema en ejecución, es probable que sucedan cosas malas. No intentes cambiar este archivo. Además, no haga lo mismo en dos sistemas diferentes; debe ser diferente cada vez que se ejecutan dos núcleos diferentes.
Entonces, después de hacer esto, definitivamente no continúe usando el sistema sin reiniciar. Como precaución adicional, puede reiniciar primero en modo de rescate (o como sugirió, iniciar desde una memoria USB en vivo), pero desde mi experiencia, eso no es necesario. Pueden ocurrir cosas malas, pero las cosas malas que suceden son reparadas por el reinicio de todos modos.