Truncate /etc/machine-id instead of deleting it.
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Fri, 25 Apr 2014 17:02:06 +0000 (18:02 +0100)
committerDaniel Baumann <mail@daniel-baumann.ch>
Mon, 28 Apr 2014 17:45:52 +0000 (19:45 +0200)
If /etc/machine-id exists but is empty, systemd will do tricks
with bind-mounts to ensure that a valid transient UUID is bind-mounted
over it, which is exactly what we want for a live system.

If /etc/machine-id does not exist, systemd-journald
will just fail, which is undesirable.

share/hooks/0180-remove-systemd-machine-id.hook.chroot

index 52ba38f..ed5d6bf 100755 (executable)
@@ -2,8 +2,12 @@
 
 set -e
 
-# Remove systemd machine id.
-#
-# This removes systemd machine id that cache that makes each system unique.
+# Blank out systemd machine id. If it does not exist, systemd-journald
+# will fail, but if it exists and is empty, systemd will automatically
+# set up a new unique ID.
 
-rm -f /etc/machine-id
+if [ -e /etc/machine-id ]
+then
+       rm -f /etc/machine-id
+       : > /etc/machine-id
+fi