4 ms·
So basically deleting the file as the last step before a shut down or reboot will work, is that correct?
by patrickg_zill 8y ago
So basically deleting the file as the last step before a shut down or reboot will work, is that correct?
- mirimir 8y agoI'll test that. Edit: OK, so I created a Debian VM, noted /etc/machine-id, deleted it, and rebooted. And found that it was still missing. Running systemd-machine-id-setup generated a new machine-id from the D-Bus machine ID. And it was the same as the initial one. But I also see in man machine-id: > The machine-id may also be set, for example when network booting, by setting the systemd.machine_id= kernel command line parameter or passing the option --machine-id= to systemd. A machine-id may not be set to all zeros.
- patrickg_zill 8y agoDoes something like dd if=/dev/urandom bs=1 count=16 | hexdump Give you something that you can use?
- mirimir 8y agoWell, the machine-id of that Debian VM was ... 38d05397c25548b4f4bda7751b5062 ... and ... $ FOO=`cat /dev/urandom | tr -dc a-z0-9 | head -c${1:-30}` $ echo $FOO 6we4gvnmx00w208ffty6i11m82rw6d But I have no clue whether systemd would be happy with that. Maybe later I can test more. Edit: Oops. Make that ... $ FOO=`cat /dev/urandom | tr -dc abcdef0-9 | head -c${1:-30}` $ echo $FOO b486935dbb9e9fe603328a19e2b5b4
- deleted 8y ago[deleted]
- justinclift 8y agoMaybe use pwgen? Something like: $ pwgen -1s 31 qHfKU46H2RA2WUr0EZ1zBHfIBLKZKuT
- mirimir 8y agoI think that it needs to be hexadecimal. But not sure.
- justinclift 8y agoNo worries. :)
- JdeBP 8y agoIncorrect. Machine IDs are stored in several places, some of which are not even files. * http://jdebp.uk./Softwares/nosh/guide/commands/machine-id.xml#STORAGE http://jdebp.uk./Softwares/nosh/guide/commands/machine-id.xm... They can be resurrected if not all storage locations are dealt with. Moreover, some systems use things like the SMBIOS product UUID. * http://jdebp.uk./Softwares/nosh/guide/commands/setup-machine-id.xml#FALLBACKS http://jdebp.uk./Softwares/nosh/guide/commands/setup-machine... The correct approach is not deleting files. * http://jdebp.uk./Softwares/nosh/guide/commands/erase-machine-id.xml http://jdebp.uk./Softwares/nosh/guide/commands/erase-machine... * https://lists.debian.org/debian-user/2019/03/msg00550.html https://lists.debian.org/debian-user/2019/03/msg00550.html
- mirimir 8y agoThanks. So at boot, one would run "erase-machine-id". Then create a random 30-character hexadecimal number. And then either set "the systemd.machine_id= kernel command line parameter" to it. Or pass it via "the option --machine-id= to systemd".
- JdeBP 8y agoNo. % system-control cat machine-id start:#!/bin/nosh start:true stop:#!/bin/nosh stop:envdir env stop:erase-machine-id run:#!/bin/nosh run:#Set up and tear down the machine ID run:envdir env run:setup-machine-id restart:#!/bin/sh restart:exec false # ignore script arguments %
- mirimir 8y agoOK, thanks. So "setup-machine-id". Does that generate a value that's unrelated to any preexisting versions, analogs, etc? I ask because, when I deleted /etc/machine-id and ran "systemd-machine-id-setup", it generated a new machine-id by copying the D-Bus machine ID.