On Tue, Jan 16, 2024 at 02:17:05PM +0100, hw wrote:
> On Tue, 2024-01-16 at 08:03 -0500, Greg Wooledge wrote:
> > On Tue, Jan 16, 2024 at 01:43:23PM +0100, hw wrote:
> > > There's only a bunch of links in that directory, apparently all
> > > pointing to files that don't exist.  Don't you have that?
> > 
> > unicorn:~$ ls -l /run/user/1000/systemd/units
> > total 0
> > lrwxrwxrwx 1 greg greg 32 Jan  4 10:33 invocation:at-spi-dbus-bus.service 
> > -> bfec6466520a4586b8c9205c235ccc92
> > [...]
> > I guess that's normal, then.  It seems they're using the symlink target
> > as the actual *data*, not a link to another file that contains the data.
> > Why?  I have no idea.  I seem to recall one of the BSDs doing something
> > like this, but I never fully understood the rationale.  Something about
> > atomic operations, maybe?
> > 
> 
> I consider it as alarming rather than normal when I can't access data
> on my own computer.

You can access it just fine.  You just don't *understand* it.  (Neither
do I.)

> And I do want to know what this unit file for firefox contains and
> does and how it is being brought about.

If it's a symlink whose name begins with "invocation:" and whose target
is a 32-hex-digit (128-bit) value, like the one shown above, then
you are seeing everything there is to see.  I don't know what the 128-bit
number is used for, but that number *is* the data.  Of that, I'm certain.

I did a bit of Google searching, and I think this is something called
an "InvocationID".

> > lrwxrwxrwx 1 greg greg 32 Jan  4 10:33 invocation:at-spi-dbus-bus.service 
> > -> bfec6466520a4586b8c9205c235ccc92

unicorn:~$ systemctl --user show -p InvocationID at-spi-dbus-bus.service
InvocationID=bfec6466520a4586b8c9205c235ccc92

<https://sleeplessbeastie.eu/2022/07/01/how-to-display-systemd-journal-for-specific-service-since-it-started/>
describes this as "a unique 128-bit ID identifying each runtime cycle
of the unit".

There is also a man page systemd-id128(1) ("man systemd-id128") but it
doesn't describe things in a way I can currently understand.  It seems
to reference another page sd-id128(3) which I do not have, but which
I can find online at
<https://manpages.debian.org/bookworm/libsystemd-dev/sd-id128.3.en.html>

... which, OK, that's pretty boring.  What I cannot find anywhere is
a basic explanation of *what this ID is used for*.

Maybe it's just a fancy PID?  I dunno, it's all very shrouded in mystery.

Reply via email to