Mailinglist Archive: opensuse-support (220 mails)

< Previous Next >
Re: [opensuse-support] Re: user disappeared

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
"transactional" works.

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
description below.)

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:
1 current
20 pre
21 post

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:
19 old
20 current
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 [1]
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.


Christian Boltz

[1] "manual" as in "(simplified) not done by the package management", so
running "useradd" also counts as "manual" in this case

< Previous Next >
Follow Ups