Cloné un disco (SSD) y puse el disco clonado en otra máquina. Ahora ambos sistemas tienen el mismo valor en /etc/machine-id. ¿Hay algún problema simplemente editar /etc/machine-idpara cambiar el valor? ¿Puedo hacer esto mientras el sistema está funcionando (o necesito arrancar desde un USB en vivo)?
¿Es systemd-machine-id-setupuna mejor alternativa?
El uso ingenuo de systemd-machine-id-setupno funciona. Intenté estos pasos:
nano /etc/machine-id (to remove the existing value)
systemd-machine-id-setup
> Initializing machine ID from D-Bus machine ID.
cat /etc/machine-id
El nuevo valor es el mismo que el antiguo.

machine-id?Respuestas:
Aunque
systemd-machine-id-setupysystemd-firstbootson excelentes para sistemas que usan systemd,/etc/machine-idno es un archivo systemd, a pesar de la etiqueta. También se usa en sistemas que no usan systemd. Entonces, como alternativa, puede usar ladbus-uuidgenherramienta:y entonces
Como mencionó Stephen Kitt, los sistemas Debian pueden tener tanto un
/etc/machine-idcomo un/var/lib/dbus/machine-idarchivo. Si ambos existen como archivos normales, su contenido debe coincidir, por lo que también eliminará/var/lib/dbus/machine-id:y volver a crearlo:
Este último comando implícitamente se usa
/var/lib/dbus/machine-idcomo el nombre del archivo y copiará la ID de la máquina del ya generado recientemente/etc/machine-id.La
dbus-uuidgeninvocació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 ejecutarsedbus-uuidgen, preste atención a la advertencia en la página del manual: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.
fuente
/var/lib/dbus/machine-idy/etc/machine-ides un systemd-ism (que es compatible con D-Bus)./etcdirectamente hoy en día (no se necesita un enlace simbólico), puede colocarse allí solo por simplicidad: hay más código por ahí que solo verifica/etcque eso solo verifica/var/lib/dbus.systemd-machine-id-setupencontrar una copia del valor original allí. Ese es básicamente el comportamiento predeterminado a menos que una distribución cree especialmente el enlace simbólico.La opción más fácil es eliminar
/etc/machine-iden el disco clonado y reiniciar;systemd-machine-id-setupgenerará uno nuevo para usted (deberá ejecutarlo manualmente si esto no sucede automáticamente). También es posible que deba eliminar/var/lib/dbus/machine-id(si no es un enlace simbólico/etc/machine-id); en ese caso, asegúrese de que la nuevamachine-idrealidad es nueva, y copiar los archivos de modo que/etc/machine-idy/var/lib/dbus/machine-idcontienen el mismo valor.Como descubrió, la ejecución
systemd-machine-id-setupen un sistema que se inició con un/etc/machine-idarchivo simplemente restaurará el identificador con el que se inició (desde la identificación de la máquina D-Bus). Esta es la opción 1 en la página de manual a la que se ha vinculado. Eliminar el archivo (s) y reiniciar ejercerá la opción 4.Para el beneficio de los lectores que planean clonar un disco de esta manera, el enfoque recomendado con systemd, al menos en sistemas donde
systemd-firstbootestá disponible, es usar eso en su lugar:/mnt. ej. );Inicializar la identificación de la máquina:
Puedes usarlo
systemd-firstbootpara configurar otros parámetros mientras estás en él (nombre de host, contraseña de root, etc.).fuente
/etc/machine-idno se recrea automáticamente si se elimina, tampocosystemd-firstbootestá disponible. Entonces, una vez que elimine ese archivo, debe recrearlo manualmente usandosystemd-machine-id-setup(y quizás reiniciar, también)./var/lib/dbus/machine-ides solo un enlace simbólico/etc/machine-id, por lo que no es necesario copiar el contenido de un archivo a otro.machine-idD-Bus único ya que D-Bus es solo un mecanismo de IPC dentro del sistema?