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

Reply via email to