On Wed, Jan 12, 2022, at 4:24 AM, Panu Matilainen wrote:
Oh, right. More hidden agenda behind this thing. When looking at it with
these glasses on, it explains quite a few things about the change
proposal, such as completely ignoring the fact that nearly all packages
put something in /etc.
Right. rpm-ostree uses ostree, which introduces /usr/etc which are the pristine default
config files. /etc is 3-way merged by ostree. One of the major benefits of this that I
really love is `ostree admin config-diff` - at any point we can show you machine-local
changes from the default, and it's trivial to reset back to defaults without
redownloading a whole RPM.
The semantics of /etc are also one of the things that is very different between ostree and
other image based update systems, including the "systemd upstream vision"
introduced a while back, which is basically that /etc starts empty, can be populated
dynamically, but is otherwise not touched across system upgrades. The core problem with
this is it introduces a new major hysteresis point which is your copy of /etc is mostly
from the initial installed OS version. You don't get *new default* config files, and
even worse, packages that drop config files still linger around in this model.
I personally think ostree's handling of /etc is one of the things that makes it feel
much more like a Unix system than other image based update systems.
There's no hidden agenda - the goal is to support image based updates as well as
client side snapshots, factory reset, etc. And we're shipping today versions of
Fedora that do a lot of this, and we want to continue to improve it.