Quick Linux Install Tip – Drives

One of the best things about Linux is that you can use a drive as home. It’s easy to simply let the Linux installer configure your drives, but is it the best solution? I don”t think so. Either way, this is how I do things.

Note: If you just want to use a full drive, you are on a laptop without the ability to add many drives, either configure home to it’s own partition at install time or reconfigure it to use it’s own partition using gparted and mount the new partition as /home. Don’t forget to copy your data back. You get the same benefits listed below, just on a single drive. My opinion is, always manually do this every time you install a new system to save you from from extra work or heartache later. I am actually surprised the auto partition tools don’t break things up into partitions to begin with!

Backup Existing Data

First thing to do, write a script to list all your installed applications before (re)installing. Target all package solutions, i.e., flatpak, snap, apt, etc. Then write a script to reinstall those apps. That will take care of the manual task of reinstalling all your software. Keep these scripts and the lists for later use. Do new listings every so often using crontab. I keep these on home in their own directory.

Note: For distros using apt, you can do “apt list –manual-installed | cat > apt-software.txt” You will likely want to go through the list and remove anything that isn’t an app. Most of that will get reinstalled when you install the app by default; like you only care about libreoffice, not the plugins and data as they will get reinstalled when you install libreoffice. flatpak and snap also have a list feature, i.e., “snap [or flatpak] list | cat > snap [or flatpak]-software.txt”

Back up /home somewhere first, if you have and want to keep your home data. Install a 128gb, or 256gb fast drive and a second 1tb or bigger drive, as fast as you can afford if you do a lot of gaming since Lutris and Steam install games to home. You will likely be fine at 128gb for /root in most use cases.

Install Linux

Install your Linux system and select the smaller drive as /root and add the boot stuff and swap there. You can partition that further, like var or boot for instance, if you like. Assign the larger drive as /home. Of course you can partition that drive also so you could split into /home and backup, or whatever.

Note: I myself keep a copy of /home on a backup drive. Simply copy your old home contents to the new /home if killing your original setup. You may need to update permissions if you change account details during install. Run your reinstall script utilizing the software list you generated previously.

Conclusion

Now you can install new Linux versions to /root without losing your /home data and configs. In fact, you should not even need to re-partition the drive unless you want to tweak things in later installs.

Once you reinstall all your software with the script, you’ll be on a fresh install without having to manually do a bunch of installs and configurations. If you switch from Ubuntu to another distro, just adjust your software installer script. From now on out, if you hose something, or upgrades hose things, you can install fresh at will or distro hop without a lot of work.

My setup:

/root 256gb (I use a lot of software and hibernation)

/snapshots 256gb (if using BTRFS on root. Beyond the scope of this tip.)

/home 1tb (I am the only user on my machine so I have the whole drive for my data.)

/Backup 1tb (Not archived or compressed, only updates changes after initial backup. I use rsync. This could be a NAS instead, if you prefer that extra layer of protection.)