Linux Install Tweaks: The Basics

The conventional wisdom for Linux installations is to put your /home directory in a separate partition, so that your next installation won’t blow it away. The intent is to save your settings for the new installation and avoid a bunch of tedious reconfiguration.

That probably made sense back in the day when Unix installations didn’t change very much, very often, but it seems nowadays that hulking programs use elaborate configurations and don’t take kindly to being blindsided by old config files. I can’t provide specific details, but some upgrades have gone awry for mysterious reasons; a clean install fixed everything up again.

I now do a clean OS installation in a freshly formatted partition, then spend a day or two tweaking everything. This eliminates a tremendous amount of cruft, takes advantage of new features, and generally seems to be more productive than dicking around trying to figure out exactly which old setting pooched the new version.

Two meta-configuration choices help a lot:

  • All our “data” files live on a file server in the basement that’s mounted via NFS, so the local system doesn’t have much more than its own configuration.
  • Hard drives have plenty of space, so slicing the drive into smaller chunks and preserving the old installations doesn’t cost anything.

Case in point: I’m setting up Xubuntu 8.10 on a system with partitions containing Kubuntu 7.10 and 8.04. I’ve blown away several different trial installations of Kubuntu & Xubuntu in this partition already; now things are looking good. The trick is to use manual partitioning and aim the installer at the correct spot.

Make sure you get that right and always back up your partitions first!

The disk layout on this box:

sudo fdisk -l /dev/sda

Disk /dev/sda: 160.0 GB, 160000000000 bytes
255 heads, 63 sectors/track, 19452 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd0f4738c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           7       56196   de  Dell Utility
/dev/sda2   *           8        2489    19928633    7  HPFS/NTFS
/dev/sda3            2489        2973     3888569+  db  CP/M / CTOS / ...
/dev/sda4            2974       19452   132367567+   f  W95 Ext'd (LBA)
/dev/sda5            2974        3496     4200966   82  Linux swap / Solaris
/dev/sda6            3497        6107    20972826   83  Linux
/dev/sda7            6108       15245    73400953+  83  Linux
/dev/sda8           15246       19452    33792696   83  Linux

Yup, it has Windows on it; rarely gets booted, but it’s there. You cannot begin to imagine the number of reboots required to update even a minimal Windows install after a year.

So, to begin…

The first steps with a new PC:

  • back up the drive
  • shrink the Windows partition down to maybe 20 GB
  • snuggle the other pre-installed partitions next to it
  • create an extended partition over the rest of the disk
  • set up the Linux partitions

After you’ve done that the first time, you never have to do it again… just ping-pong between two (or three!) Linux partitions with each new installation. There’s a bit of fussiness with grub, but it’s easy enough to either let the new installation capture the MBR or re-aim it at the old installation after the fact.

For more details on partitioning & backups, particularly for laptops, go there. Use partimage (use System Rescue CD) for whole-partition backups to a USB drive and move on.

I favor the mini.iso installation method, as it tends to install less cruft and loads the latest versions right from the start. Start from there and proceed as directed.

Don’t do an x86_64 installation, even though you think it’d be cool. Flash doesn’t work yet and restarting Firefox a dozen times a day simply isn’t attractive. Trust me on this.