W dniu 26.01.2019 o 17:54, Christian Boltz pisze:
Am Donnerstag, 24. Januar 2019, 21:54:42 CET schrieb Adam Mizerski:
In snapshots there's nothing wrong. The last
shapshot has "freenet"
user in /etc/passwd. But the problem I see is that, unlike on normal
openSUSE installation, "transactional server" makes no "post"
That's probably caused by the difference in how "normal" and
In a "normal" system, your system always boots from the same snapshot -
typically snapshot 1. (Maybe this changes if you use "snapper rollback",
but I'd have to test that - let's just ignore this detail in the
When you start zypper, it first does a "pre" snapshot, and after
installing packages etc. (in the current snapshot, typically 1), it does
a "post" snapshot. You can think of these snapshots as a backup of your
system before and after running zypper.
Typically, you'll have something like this:
When rebooting, you'll be in snapshot 1 again.
With the transactional setup, things work differently.
When you start zypper, it creates a snapshot (for better understanding
you should call it the "future" snapshot instead of "pre").
The difference is that your currently running system doesn't get
changed. Instead, the package installation is done _inside the "future"
snapshot_. At the end, the to-be-booted snapshot gets set as new
This will typically look like this:
21 future (copy of 20 + package updates)
When rebooting, your system will boot the new ("future"/21) snapshot,
and snapshot 20 becomes an "old" snapshot.
Does this explain the differences?
I think it does. Thanks.
And it looks
like the last update broke freenet. In logs,
exactly after transactional-update made a new shapshot, when shutting
down, systemd complains about freenet user.
IIRC, the changes you colletced in the overlayfs (like manual 
changes to /etc/passwd) also get merged into the future snapshot when
creating that snapshot (and the overlayfs gets emptied when booting the
future snapshot). This _could_ also mean that changes between creating
the snapshot and rebooting get lost - but I don't know transactional
systems good enough to be sure about that.
Based on your freenet.service (using /home/... paths), I'd guess that
you create the freenet user manually - correct?
Yes, I created the user manually.
Did you create the user this before or after you did
the update? (Hint:
if in doubt, check the logs in the snapshot where the user exists, and
compare the timestamps to /var/log/zypp/history.)
I created the user and service at least month ago. It survived many
updates and reboots.
 "manual" as in "(simplified) not done by the package management",
running "useradd" also counts as "manual" in this case