On Wed, 2024-01-17 at 11:19 +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 > > > > [...] > > > > 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.) > > If I could access it, I could display the file. If there is no file, > then these directory entries shouldn't exist.
Filesystem directories entries hold more than file and directory objects. As well as symbolic links, there's named FIFOs, named sockets, and devices. E.g. $ mkfifo a-fifo $ nc -lkU a-socket& $ ln -T target -s a-link $ ls -l a-* prw-r--r-- 1 tixy tixy 0 Jan 17 12:07 a-fifo lrwxrwxrwx 1 tixy tixy 6 Jan 17 12:08 a-link -> target srwxr-xr-x 1 tixy tixy 0 Jan 17 12:07 a-socket -- Tixy