On Wed, Jan 17, 2024 at 11:19:50AM +0100, hw wrote:
> On Tue, 2024-01-16 at 08:41 -0500, Greg Wooledge wrote:
> > 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

> > You can access it just fine.  You just don't *understand* it.  (Neither
> > do I.)
> 
> If I could access it, I could display the file.  If there is no file,
> then these directory entries shouldn't exist.

I don't know how to make it any clearer.  THE SYMBOLIC LINK TARGET IS
THE CONTENT.  They are storing this "Invocation ID" inside the symbolic
link itself.

This is what they chose to do.  I don't know WHY.  But you can clearly
see what they're doing.

> > 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
> 
> That is not useful:
> 
> 
> systemctl --user show -p InvocationID at-spi-dbus-bus.service 
> InvocationID=4bd113a0ec4c4f1eab6c51da8a43c1af
> Invalid unit name "InvocationID=4bd113a0ec4c4f1eab6c51da8a43c1af" escaped as 
> "InvocationID\x3d4bd113a0ec4c4f1eab6c51da8a43c1af" (maybe you should use 
> systemd-escape?).
> InvocationID=b6e84c2dd18b4d9f84436580113abaca
> 
> InvocationID=

What were you trying to do?  You took my command and mangled it.  You
appended the *output* of my command as an *argument* to your command,
substituting my 128-bit InvocationID with one of your own.  Why?

> Neither the user, nor root gets anything from this.  What is it
> supposed to show?

You got the InvocationID of the at-spi-dbus-bus.service unit.  You
also got an error message because of the mangled argument you passed,
and an extra blank InvocationID= line as output from that same mangled
argument, because it wasn't a running unit's name.

When I ran *my* command, I was simply demonstrating that the "systemctl"
command, when asked for the InvocationID of a unit, gives the same
128-bit number that you can see with ls -l.

That's all.  Nothing more complicated than that.

THE 128-BIT HEX NUMBER IS THE CONTENT.  IT IS THE DATA.  IT IS WHAT YOU
SEEM TO BE LOOKING FOR.  THAT'S ALL THERE IS.  THERE IS NO ADDITIONAL
PAYLOAD TO BE FOUND.

THE SYMBOLIC LINKS ARE *SUPPOSED* TO BE DANGLING.  THEY ARE NOT MEANT
TO BE catTED.

> > Maybe it's just a fancy PID?  I dunno, it's all very shrouded in mystery.
> 
> See, you're starting to understand how this is alarming :)

If you want to know what the InvocationID IS USED FOR, ask on the
systemd mailing lists, because clearly we don't know.

If you want to know WHY they chose to store the InvocationID inside
the target of a symbolic link, instead of as regular file content,
ask on the systemd mailing lists, because clearly we don't know.

If you want to know why things that you've never seen before are
alarming to you, ask your therapist, because... well, you get the picture,
I hope.

Reply via email to