[systemd-devel] How to factory reset?

Tobias Hunger tobias.hunger at gmail.com
Tue Mar 10 14:23:23 PDT 2015


On Tue, Mar 10, 2015 at 9:33 PM, Tobias Hunger <tobias.hunger at gmail.com> wrote:
>> presets and machined ID are applied by PID 1, before it begins with
>> starting any units, hence *really* early on. Note though that actually
>> /etc/machine-id is used as flag for "is /etc empty". If the file
>> exists it is assumed that /etc is provisioned properly. If it is
>> missing PID 1 will generate the machiend id and apply presets.
>
> An OS installer could put the machine-id into /usr just fine (and so
> can I) and systemd could just get it from there if available before
> generating a new one.
>
> It would be nice if the machine-id did not change during to a factory
> reset: It is used in the logs and changing it will basically make
> historical log data much harder to analyze. IIRC networkd also uses it
> to generate persistent MAC addresses for containers and such.
>
> So far this seems to be the only critical piece of information that
> can not get restored via tmpfiles.d.

Thinking about this a bit longer: /usr does not seem like a good idea.
The machine-id is supposed to be unique and usr-images are meant to be
reused.

Maybe provide a kernel command line option to force the machine-id if
none is set yet?

Best Regards,
Tobias


More information about the systemd-devel mailing list