Thoughts on Linux partitioning

A short entry from the technological side.

Over time, I have had some experiences with partitioning, and there is one thing which I come across very often, but which has bitten me so many times I think it deserves dishonorable mention: The thought of recycling a /home folder among various distributions and various versions of the same distribution.
On the face of it, /home/yourname holds your files, and there is no place like ~ and all that. It does, however, merit a closer look – because /home holds all of – or at least most of – your settings.
What this means is that if you have an Ubuntu installation with a separate /home partition and then install, say, Fedora, those two will share the home folder, and if you are like me, you will use the same username to identify yourself. In other words, you will be using the same /home/yourname.
This means it will try to use your settings files when it comes up. All these files may be hidden, but they will influence the setup of the desktop you are logging into – any program which is also in you new distribution will take settings from the old one. This can be color schemes, to take a more harmless example (though I can not without pain imagine using Fedora, Mint or Opensuse with purple hues) – but you may come across a versioning conflict that will break your existing config files.
Though these things rarely happen, the potential for trouble is considerable.

And so, I have concluded that the best for me is to keep an individual storage partition. I put it on /mnt/storage, but that is of less consequence. In /mnt/storage, I have my library of texts, documentation and stuff I have written myself; I have my collection of audio: Audiobooks, podcasts and music; I have my collection of scripts; I have my collection of videos; I have my “Installers” folder with a collection of downloaded ISO images I need more than once, tarballs of certain drivers I need and the like. I have my collection of images, which is everything from screenshots over webcomics to my son being born. And there is my “Workshop” folder containing my half-baked scripts, my .po folders from the software projects I maintain translations for.
Once I install a new distribution, I create symlinks to my stored files in /home. And so, /home/morten/video to /mnt/storage/video will point to /mnt/storage/video, /home/morten/podcasts/ will point to /mnt/storage/audio/podcasts et cetera.
What this means is that my /home/morten will be unique for this distribution installation, but the files I need will be accessible regardless of what I have chosen to boot – the settings in the /home folders will not influence each other. If you have some more sensitive files, say, your script folder, you can make it read-only, so it is always available, but you can’t break it without concentrated effort; but that is a general consideration, not influenced by your partitioning.
There are, of course, several approaches to this issue, but I find this solution to be simple and functional.

4 thoughts on Thoughts on Linux partitioning

  1. Finally, the 140 character boundary has been broken! :) As one of the people who started this discussion on identi.ca, it is very nice to see a complete description of the way you’ve got things set up. I’d like to expand on my thoughts, too, and this seems to be the perfect place to do so.

    I am one of those who swears by using two partitions: / and /home. Unlike mjjzf, though, I have never run into any problems with settings – in fact, it’s not losing all of my settings that pushes me to use this method more than anything else! When I want to upgrade my distribution (Ubuntu, as if you couldn’t tell by my username!), it’s as easy as wiping / and installing the new version. Of course, any installable programs’ icons will have disappeared from my taskbar (I like to keep shortcuts for gramps, liferea, tellico, glabels, terminator, etc up on my taskbar), but they immediately return once I have reinstalled the program from the repos.

    The only things I have to do are redo config files stored in /etc (such as ddclient and something else which is escaping me right now), because I always forget to back them up before doing my upgrade. :)

    I had no problem using my technique going from one version of Ubuntu to the next, as the core settings file/config for any program generally remains the same – or if there are major changes, as I remember there were when rtorrent included various new features such as DHT, backwards compatible. If something was to mess up, it would only require deleting .whatever in my home directory (whether that’s a config file or a whole hidden config subdirectory) and the next time I’d run the program, it would generate a generic version.

    That said, I do agree that it’s often a mess if you distro hop!! I remember the day I went from Ubuntu to Fedora and used the same /home. Instead of “user” being the owner of all files, the permissions were really messed up… “1000″ was the owner of everything, if I remember correctly. As a person who has almost always used either Debian or Ubuntu, I didn’t realize that there would be a different way of handling permissions like that. I should mention that swapping between any version of Debian and Ubuntu (while sharing a /home directory) never seemed to generate any problems, though.

    Anyway, I don’t want to go on and on endlessly. :) I really do find it interesting, though, that there are such different perspectives on things – although that seems to be the essence of linux. There’s no better OS for doing the same thing in a hundred different ways. :)

    Thanks for taking this out of the realm of 140 characters… I had already asked about this on Ubuntu Forums (http://ubuntuforums.org/showthread.php?t=1488099) as I was very curious to see what kind of discussion it would generate, and I really didn’t think it was possible due to the nature of identi.ca.

    I think that your method of using symlinks is definitely the safest and easiest thing for distrohoppers.

    Interesting blog, by the way! I’ve got you bookmarked and will look forward to coming back for more of your insights.

  2. mjjzf, I agree with your observations. After some bad experience with /home partition I started to do more or less the same things you are doing, and it works very well. Another point is that in a dual boot machine with Linux and Windows you can have the /storage partition formated NTFS for good access from both OS.

    Now this reminds me that I formated my windows partition a few mounts ago, so I don’t need the NTFS partition anymore. I guess I can now format it EXT4. I’m sure that in addition to freedom, it has other advantages.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>