This is still the header! Main site

Mounting is Outdated

2021/12/28
This is post no. 59 for Kev Quirk's #100DaysToOffload challenge. The point is to write many things, not to write good ones. Please adjust quality expectations accordingly :)

I do remember encountering the concept the first time. It felt really cool. Unlike stupid DOS / Windows drive letters, on Linux you can just construct your own file system tree. You can mount your CD-ROM wherever you want! and it'll behave if it was a single file system. How cool is that?

Quite some time later... mounting file systems is still there. Of course, you're doing it in a neat, user-friendly way: you can just click the relevant device in your file manager of choice, you can browse its contents almost right away, and you even get a little "eject" icon for it. It's mostly the same for network file systems. Isn't it great that Linux is so user friendly these days?

You can even auto-mount some file systems if you want to, if you have the right config files.

... and yet...

... just look at Windows.

Yes, there is "mapping of drive letters" still. Actually, you can mount file systems too now! In practice though... you plug in a USB drive; a letter shows up, you go & browse. Unplugging could be nicer, but... generally, users do not need to think about where their new drive is mounted.

It's even more prominent with network file systems. You can just type "//some.server.net/share/directory/file.txt anywhere, and it will end up being opened. There is no separate step of thinking of a mount point (... or putting up with those ugly ".gvfs/" ones), and then opening a file. No need to unmount, either. From a practical perspective, it's just there, whenever you need it.

Even automounters are weird. I'm not drastically sure whether you can get away with throwing in an automounted, deep file path right away (didn't work the last time I tried), but... then there is the part where it doesn't unmount since you're still using it.

Why is this a problem?

Actually, it's somewhat of a symptom of an issue that is one of the reasons why Linux isn't especially more popular on the desktop.

Namely... the actual design is 70s UNIX. Back then, it all made sense: on a big UNIX box, it was pretty much always the sysadmin who was adding and removing file systems; also, it wasn't happening a lot.

Meanwhile, people who are constructing easy-to-use Linux UI focus on how to make this easy to do. As in: how to be a 70s UNIX sysadmin in a point-and-click way. Plaster it over by pretty lists of mounts and automounter services and similar things.

What we'd really need is going deeper. Instead of having your desktop environment mount things, write a system service, tweak the kernel, make it about as seamless as the Windows version, which, I'm reasonably sure, is still doing very similar things in the background. Add some reasonable default mount points, and let users browse actual network machines in a way that's not a file-browser-only hack.

As if... we were focusing on how to make it easy to do things that we wouldn't need to be doing at all.

I'm kind of thinking of moving towards Plan 9. Or the HURD's fancy file system server processes. From the ground up. Which... is, of course, a lot of ground to cover, but... we got to get through it sometime?

... comments welcome, either in email or on the (eventual) Mastodon post on Fosstodon.