Hi all, this time I’ll be upgrading my old desktop to Linux Mint 20. This post is accompanied by a video so you can see for yourself how the process works before doing it.
Disclaimer: The Mint team recommends the “if it ain’t broke, don’t fix it” strategy of only upgrading if you need to. There are things that can go wrong with this process, and I strongly recommend that you do a system backup before upgrading. While I will try to help you avoid pitfalls, you do this at your own risk and I’m not responsible for loss of data/operation as a result of you following this tutorial.
The Video
Please note this is a rather long video owing to the process being a bit complicated.
The Writeup
Introduction
Linux Mint 20 was released at the end of June, with the upgrade path open around two weeks ago at the time of writing. There are a number of pre-requisites and pitfalls to avoid during the update, and I’ll be covering those in this post and the video.
I mention using an NVME SSD on an old system in the video. I wrote a tutorial on this, which you can read here if you’re interested.
Pre-requisites
Architecture
Linux Mint 20 is a 64-bit only release. 32-bit software is still supported, but if you’re running the 32-bit version of Mint 19.x, you cannot upgrade to Mint 20. You can check your architecture with:
dpkg --print-architecture
If the output isn’t “amd64”, you will not be able to install this update.
Boot a live disk first
It’s a good idea to write Mint 20 to a USB stick or DVD first so you can check it boots on your system before upgrading. This might save you quite a lot of hassle.
Do a system backup!
Please do a backup first! It’s easy with Timeshift, but really anything will do. I personally use Clonezilla, but either way, the important thing is to have a backup of your system and you data so you don’t lose anything if the upgrade goes wrong.
Note that you’ll need to follow the Mint team’s instructions to disable Timeshift if you use a different backup mechanism/program. Run this command to do this:
echo "{}" | sudo tee /etc/timeshift.json
Note that encrypted swap doesn’t work with Mint 20
Please note that the installer will disable encrypted swap partitions before the update, as they are not compatible with Mint 20. I have heard reports of re-enabling this working, but I have not had success with this yet myself.
Knowledge of APT (the package manager)
Knowledge of APT will help you out a lot here if anything goes wrong and needs fixing, though the installer does a good job of fixing problems itself. You can attempt the upgrade either way, as long as you have a backup you know you can restore.
Getting Started
The mint upgrade guide is available here, and I would recommend you read this as well before upgrading. This tutorial follows along with the official guide.
Install updates
First off, make sure to install all system updates with the update manager. It’s also a good idea to update all your spices (applets, themes, desklets, etc) if you’re running Cinnamon to give them a better chance of working with the new Cinnamon version.
Now is also a good time to remove any unneeded software from third-party repositories, though you don’t have to do this. I upgraded my laptop with lots of PPAs, and I just had to re-add them later (and remove some I no longer needed after upgrading) and all was fine. You also need to install the “mintupgrade” package with:
sudo apt install mintupgrade
Once you’re all done with this, I’d recommend that you reboot.
Running “mintupgrade check”
This is the first step of the upgrade, where mintupgrade will check your system over prior to upgrading, and try to fix any issues. If you have encrypted swap, mintupgrade will disable it and prompt you to reboot at this point.
The mintupgrade tool will then print out a list of packages that will be installed, upgraded, and erased. I would recommend you look through this list (or at least skim over it), just in case it’s going to remove something important.
Running “mintupgrade download”
This will download all the packages needed for the upgrade, but not install them. This is useful if you’re on a slow connection, as you can safely do something else during this phase, whereas I consider it better to watch while it installs the updates.
This may take a very long time depending on how much software you have installed. My download was about 1.5 GB on the Alienware (fairly stock configuration), and about 4 GB on my laptop (with loads of software and development stuff installed).
Running “mintupgrade upgrade”
This will begin the upgrade. Please note that it goes in a few stages, so it will stop and ask for your password from time to time. This part could take a long time, so patience is necessary.
With some luck, all the updates will be installed successfully, and/or the installer will resolve any problems it encountered (it did a good job of this for me in the video).
Once the bulk of the upgrade is complete, mintupgrade will install and remove some extra patches to match software selection changes in the new release.
After this is all done, reboot again, and with some luck everything will come back up. At this point I’d check for updates again with the update manager to ensure everything is fully up to date.
Restoring package archives
If you had any package archives installed, now you can re-add them. Your old packages sources are backed up inside your home directory. You can look through and re-add them with the “Software Sources” tool, but I would first check whether you still need them.
In my case, many of the package archives were because I wanted newer software than was available in Mint 19, so I didn’t need many of them any more. Quite a few also didn’t provide packages for Ubuntu 20.04, so I ended up using the Ubuntu 19.10 packages, which isn’t ideal. The fewer third-party packages you have, the less likely this is to happen.
Downgrading and removing foreign packages
Slightly strangely named, foreign packages are packages installed from a source that isn’t available any more. In this case, this basically means packages from Mint 19 that were removed, or packages from PPAs that aren’t present any more. This part isn’t risk free, so you can skip it if you want to.
Most of these should be fine to remove, but check over to make sure nothing you want to keep is about to be removed. Locally installed packages (like virtualbox in my case) are also foreign, so you probably don’t want to remove all them.
Reboot again after doing this, just in case anything important was removed and you need to re-install it.
Linux Mint 19.3 to 20 upgrade: Conclusion
That’s the end of this walkthrough. I hope this has been useful for you, and that with this guide and the Linux Mint upgrade guide, that you were able to upgrade your system successfully. That’s it for now, but stay tuned as I have a lot of posts queued up to be written soon 🙂