Linux Mint 19.3 to 20 upgrade process and demonstration

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 🙂

Tagged , , , , . Bookmark the permalink.

About Hamish McIntyre-Bhatty

I'm a self-employed software developer working on Free Software projects, as well as studying for my degree with the Open University. Being pedantic when it comes to detail is fortunately useful for both of these things! A strong believer in free software, I have a few pay-for programs available under the GPLv3 and enjoy reporting bugs and helping to improve various open source projects, including volunteering at Wimborne Model Town to work on their river control system.

Leave a Reply

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