Linux – Super users and the home directory


The UNIX concept of a home folder was great when users shared a single computer and had no idea where or how their files were stored in the system, but does it really make sense when a typical computer is used exclusively by a single person?

Having switched to a mac earlier this year I find this the hardest paradigm to wrap my head around as I use UNIX as my main desktop system. (I have used Linux and BSD as a server and "playground" for several years so I realise the benefits for server use).

  • As a superuser I use several external drives, memory sticks, backup devices etc. In fact, most of my data is there, not in the home directory.

  • I regularly reinstall my system, so I don't want my OS and data to reside on the same partition.

  • The home directory, even if I put it on a separate partition, is not big enough to store all the data I want to have at my fingertips.

  • The home directory is also used by the system and misc apps that have already occupied a bunch of folders.

The list goes on. All in all I get the feeling that I am working against the system instead of with it. Am I just damaged from years of DOS/Windows and just not "getting it", or is the structure simply not ideal for this kind of use?

How do you make the old concept of a home folder work with you instead of against you, considering how computers are used today? Tips, tricks, hidden benefits I have overseen?

Edit: Clarification

First of all, thanks for some thorough replies. I realise I made a mistake using the term "super user" in my question, as I did not mean in the "root" sense of the word. I am not running my machines as root.

I meant "super-user" in the sense that contrary to a normal user I do my own backups, I reinstall my machine fairly often, I dual-boot, I develop, run souce control software, I spread data over multiple drives for redundancy and so on. Normal users put their files where the system suggests, rarely if ever reinstall, keeps the default configuations of everything and so on. The difference there is what I meant by "super user". Sorry for being unclear.

I am also well aware of the ability to mount drives and partitions wherever I want. I do this already, but I ask myself – what do I gain from all this messing about? I keep my home over a reinstall, true – but the home directory has stuff I might want to get rid of alongside stuff I want to keep.

From windows I grew to hate the "my documents" mess, which always felt like a clumsy effort to copy the "home" mechanism from UNIX. As I now use a UNIX machine I am surprised that it seems that it's the mechanism itself that is clumsy. My home directory in OS X is as annoying a "home" as "my documents" in windows.

It's not a problem, as I gravitate towards simply ignoring the home directory completely. But is there something I am missing?

Best Answer

Symbolic links. Or cd to a particular location. Whatever.

Windows uses the same concept of home directories, for what it's worth. That's where your user profile lives -- all your user's customizations, configurations, bookmarks files, whatever. Windows puts it in C:\Documents and Settings\%username%, Linux puts it in /home/$username, OSX uses (what? /Users/$username? I'm not sure).

But the home directory really doesn't need to be for a user's data. It's for per-user configuration files. Your data can be anywhere. If you're a sole user, you could even have your external drives mounted directly under your $HOME directory in whatever fashion you like.

Personally, I use symbolic links, and mount all data-oriented partitions under /media. I have a /personal folder that organizes symlinks directly into the /media tree for most-used data, and duplicate those symlinks (or shortened versions of them) under my $HOME directory.

As a Superuser, you can use whatever form you like.