The fresh upgrade oxymoron in Linux Mint blog home

Posted Tuesday, 10-Jul-2012 by Ingo Karkat

I really like the Ubuntu Linux distribution for its ease of use and solid Debian background. In 2009, I've weaned my wife off of Windows XP, and I'm using Ubuntu myself on top of my company-provided Windows Notebook (via Portable Ubuntu) and I power my previous dev system with it. But lately, I've started to have doubts whether this romance is about to end, since I'm still struggling with which window manager / desktop to use. So far, my wife and I stick to Gnome Classic. I've tried the new default Unity, and while it has some good sides, it feels too different. So, I was delighted when I read about Linux Mint, a Ubuntu-based distribution that comes with a classic, Gnome 2-based desktop.

Ideally, I could simply upgrade my Ubuntu system to it, so I navigated to the How to upgrade to a newer release community page. What I read there, however, severely discouraged me from taking this distribution serious.

If bug fixes and security updates are important to you, you should regularly upgrade to the latest releases, otherwise there's nothing wrong with keeping things as they are.
As a general rule... unless you need to, or unless you really want to, there's no reason for you to upgrade.

Who on earth isn't interested in bug fixes and security updates? In the distant past, we couldn't just easily download software, it had to be purchased, shipped on floppy disks, manually installed, so we often were stuck with an old software version out of practicality. Upgrades only happened when we bought a new computer (that shipped with newer software), and then we were thrown into a trough of low productivity, until we had slowly dug ourselves out of it again, relearned all of our software. This age made Microsoft great, with their promise of excellent backward compatibility of existing Windows software.
Today, in the mobile app age, I want my computer to update automatically, periodically, and smoothly, and the fat pipes to the Internet and modern package management (where Linux now excels much more than the Windows platform) enable that. Just select a distribution with a suitable upgrade policy, and you're done!

Contrast this with:

A "Fresh" upgrade consists of the following steps: This is the recommended way to upgrade Linux Mint [...]

Making data safety a top concern is laudable, and one could snarkily remark that their chosen approach practically enforces the use of a backup. Do they just possess a lot of chutzpah, turning their weakness (the traditional upgrade route (called package upgrade here) is described as You're far from the beaten track and the added features might not work as well on your system as they were designed to.) into an apparent benefit? Or do they earnestly recommend to wipe your system, do a clean install, and then restore your data, and think that this will work for the majority of their users? Here are my objections to this approach:

Your data partition should be separate from the system partition, anyway

I don't know how Linux Mint will partition the system, but it's a good old tradition of putting the user's home directories and other data on separate partition(s). I now use five partitions for my Linux installs:

  1. 32 GB for the boot and root partition (/)
  2. the same space left empty for the option of an alternate OS install
  3. twice the system's RAM for a swap partition
  4. 50-100 GB for /home
  5. the remainder of the disk for /bulk storage, reserved for large files like music collections, movies, and DVD caches

The most important data is the user's data, so /home is backed up daily to an external NAS; I use a custom rsync script for that. Data in /bulk comes from other sources like DVDs or YouTube; it is not backed up at all.

Users have way more data than the operating system

Even if you install a lot of software, you probably have way more personal data (photos, music, source code repositories, etc.) Even if you perform small incremental daily backups, with the Linux Mint approach, you have to at least move all of your data back to the clean system. That takes a lot of time.

Downloading the ISO and upgrading from the CD is much faster than upgrading the system from the repositories.

That's a straw man argument. With a decent Internet connection, downloading 3 GB of data is faster (and way less hassle!) than downloading 700 MB of data and burning it on a CD. And, by configuring the additional package source, I believe you can also use a local install medium for a package upgrade, too, so that's no unique point at all.

In the happy case, you're causing more downtime than the alternative

I use partimage to create an image of my system partition immediately before, and then some time after the (successful) upgrade, to an external USB hard drive. Imaging is faster than a file system backup, and the system partition isn't very large. In fact, I also create an image of the home partition, to have a (more outdated) offline alternative should the daily NAS backup ever become corrupted.

At least for my systems, this takes less time than a full restore of all data would, and I have some flexibility in when to create the images, as timeliness isn't that much of an issue as with user data. The images allow me to roll back should the upgrade go wrong, and they enable me to quickly get the system back in case of a catastrophic hard drive failure.

As an option, I could additionally clone to the alternate OS partition, to always have a separate working OS installation available.

Software selection isn't the only thing that gets customized

Linux Mint assumes that software selection is the only thing that gets customized. In fact, it is currently even limited to software from the official distribution's repositories: If you were using PPA or other repositories and if some of your previously installed packages are not found by the present system, these packages will appear in the list but you won't be able to select them.

What about locally built software and executables installed from tar archives or cloned repositories? What about system configuration (e.g. I change the grub config, enable non-critical auto-updates on my wife's laptop, often had to tweak settings related to suspend and the laptop fan), cron jobs, other users? Even though I maintain a (paper-based) log of all system customizations, re-applying them after every upgrade would be very tedious.


Astoundingly, the page's comments contain very little criticism. I don't understand how Linux Mint can get away with an upgrade experience that is slow, cumbersome, and incomplete. It might work for unsophisticated users that just use the system as-is, and as a side effect enforces a backup discipline. As a professional, advanced user, this is deterring me from even considering this distribution, which is a pity, because I would like to have an alternative to Ubuntu when it comes to the desktop experience.

Ingo Karkat, 10-Jul-2012

blog comments powered by Disqus