In this guide, you will learn how to Upgrade Linux Mint 19.3 to the latest version which is Linux Mint 20. Codenamed Ulyana, Linux Mint 20 was released on June 27, 2020.
Linux Mint 20 is a long-term release (LTS) version that will enjoy support up to 2025. It is based on Ubuntu 20.04 LTS and packs with numerous improvements and enhancements such as :
- Warpinator – A new file-sharing tool for sharing files with the LAN.
- Improved Support for NVIDIA Optimus.
- New themes and polished icons.
- Revamped system tray.
- Fractional scaling to support connection to high-resolution displays.
- A superb collection of 4K background images.
Let’s now see how you can upgrade from Linux Mint 19.3 to Linux Mint 20 and enjoy the latest features and enhancements.
Back up your files
Before you get started with upgrading your system, it’s highly recommended that you backup all your files and folders so that you will be in a safe place should the upgrade fail. Additionally, you can backup and restore the entire system using the TimeShift utility. Once you have backed up all your files, you can safely proceed to upgrade your system.
There are two ways to upgrade:
- Mintupgrade utility
- Manual upgrade
Upgrade to Linux Mint 20 using Mintupgrade utility
Before moving to upgrade step, let’s apply all the updates of existing packages using below apt command,
$ sudo apt upgrade -y $ sudo reboot
Step 1) Install mintupgrade utility
Open the terminal and type below command,
$ sudo apt update $ sudo apt install mintupgrade -y
Note : In case you are unable to install mintupgrade package using apt command then go to your update manager and reset the package sources to default and then try to install mintupgrade.
Step 2) Check for Linux Mint 20 upgrade
Run the following mintupgrade command,
$ mintupgrade check
Step 3) Download Upgrade packages using mintupgrade command
To download all upgrade packages required for Linux Mint 20, run
$ mintupgrade download
Step 4) Begin upgrade process
Once all the required packages for upgrade have been downloaded, begin the upgrade process by executing the below command,
Note: Once you initiate the upgrade process then it is no-reversible, the only way to roll back is by restoring the system snapshot.
$ mintupgrade upgrade
Once the ‘mintupgrade upgrade‘ has been executed successfully then reboot your system.
Once the system is available after reboot, you will see below screen, which confirms that your system has been upgraded to Linux Mint 20 successfully.
Manual Upgrade to Linux Mint 20
Step 1) Edit the Repository Lists File
The next step is to modify the official package repositories list file which, by default, contains the entries shown below:
You need to replace ‘tricia‘ with ‘ulyana‘ and all instances of ‘bionic‘ with ‘focal‘.
To achieve this, edit the file with your preferred text editor as shown
$ sudo vim /etc/apt/sources.list.d/official-package-repositories.list
This is what you should have now.
Save and exit the file.
Step 2) Update & Upgrade the system
For the system to sync with and use the new repository an update of the package lists is required. Additionally, you need to upgrade the entire system’s packages to their latest versions. This can be achieved by running two commands in one line as shown:
$ sudo apt update -y && sudo apt upgrade -y
This procedure takes quite a while. In my case, this took close to 2 hours, probably because my internet connection wasn’t quite fast. I believe the upgrade should be faster with blazing fast internet speeds.
Once the upgrade is done, perform an OS upgrade from Mint 19.3 to Mint 20 by running the command:
$ sudo apt dist-upgrade
This will upgrade the entire system to a new version.
Again, this takes a while depending on your bandwidth speeds. It took about an hour or thereabouts in my case.
Once the upgrade is complete, reboot the system for the changes to take effect.
$ sudo reboot
And voila! The welcome screen will immediately confirm that you are now running on.
To verify this, open your terminal and run the command below
$ cat /etc/os-release
You can also confirm this using the neofetch utility. If Neofetch isn’t installed, you can install it using the command:
$ sudo apt install neofetch -y
On your terminal run the neofetch command as shown
$ neofetch
If you have come this far, you have successfully upgrade Linux Mint 19.3, Tricia, to Linux Mint 20 Ulyana! You can enjoy the look and feel and tons of enhancements and improvements that come with the new release.
Also Read : How to Boot Linux Mint 20 in Rescue / Emergency Mode
Presumably just a cosmetic detail, but I noticed this process leaves at least one legacy artifact behind. Makes me wonder what else may need a manual assist. Example: mintwelcome (/usr/lib/linuxmint/mintwelcome/mintwelcome.py
Two more minor probs:
1) I had to manually uninstall firewalld and reinstall gufw (python3-firewall appears to be gone)
2) this basic command now triggers apt command usage: sudo apt –fix-broken install
I’m very happy with the upgrade, though. Thanks for providing such a simple work-around.
My DPKG broke after this. I had to reload backup from Timeshift.
I changed a few additional apt configs, removed and reinstalled firewalld, then addressed a small number of broken packages via the synaptic package manager. With the sole exception of “apt –fix-broken install”, everything is now happily working, including mintwelcome.
This worked for me flawlessly. Thanks!
You need to discuss upgrading into an encrypted drive. That does not work with these instructions.
So easy even a caveman can do it!
Thanks!
Perfect guide, thank you !
If you have crypted your 19.3, make sure to apt install –reinstall cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run dmeventd libdevmapper-event1.02.1 liblvm2app2.2 liblvm2cmd2.02 libreadline5 lvm2. If you fail, you will need to do this: ‘https://feeding.cloud.geek.nz/posts/recovering-from-unbootable-ubuntu-encrypted-lvm-root-partition/’ (and while chrooting, reinstall those).
Worked great, thanks!
sudo vim /etc/apt/sources.list.d/official-package-repositories.list ….. should be sudo xed /etc/apt/sources.list.d/official-package-repositories.list
either way it worked perfect !!
This solution works fine (several hours took me the upgrade on an i7/3.5GHz with 32GB RAM).
Upgrade croaked at 99% completed by…
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
gir1.2-glib-2.0 : Depends: libgirepository-1.0-1 (>= 1.59.4) but 1.56.1-1 is to be installed
libglib2.0-0 : Breaks: libgirepository-1.0-1 (< 1.62.0-4~) but 1.56.1-1 is to be installed
mono-runtime-sgen : Depends: mono-runtime-common (= 4.6.2.7+dfsg-1ubuntu1) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Not too sure how to navigate it through.
Hi – here’s what I did …
apt get remove libgirepository-1.0-1
Then I did the upgrade and it worked … with a good deal of anxiety. Removing this file really breaks Linux … a lot of stuff stops working. The upgrade, however, then worked flawlessly as does the computer now. I am not sure what would happen if you lost power or turned off the computer before upgrading … probably wouldn’t be pretty. Thankfully, I didn’t really know what I was doing when I did the uninstall. 🙂 (… and figured I could use TimeShift after booting to a USB stick if I really needed…)
It did not worked.
I am stil in 19.3.
Here is the message error.
Sorry it’s in french
Les paquets suivants contiennent des dépendances non satisfaites :
libgirepository-1.0-1 : Casse: python-gi (< 3.34.0-4~) mais 3.26.1-2ubuntu1 devra être installé
E: Erreur, pkgProblem::Resolve a généré des ruptures, ce qui a pu être causé par les paquets devant être gardés en l'état.
Do you know what to do?
Same problem here
Exactly the same problem as mattis on a i386. Problems with no longer accepted relative paths in systemd files, problems with uuid-based mounting disks. X-server refuses to start. I could not find any way to get the packages consistent.
Clonezilla is running now restoring version 19, so I’ll stay with that and recommend clean install….
pls help, it doesn’t let me to edit the Repository Lists File despite the fact that I am the admin
I could not upgrade because there were too many errors with gconf
Painful… I don’t know what to do.
I get stuck in Fallback mode due to a cinnamon error and I can’t fix it.
Some simple rules to avoid 90% problems in all debian based systems
1) Do not put packages on hold, unless you know what you are doing.
2) Unhold packages before big upgrades, unless you _really_ know what you are doing
3) Do not use apt-get from command line for any complicated things
4) Use aptitude, where you can preview changes and resolve broken dependencies, before applying them (synaptics can do this too, but it has awful UI)
And the most important one:
5) If you do not understand how package management system works and what dependencies are (and don`t want to learn), DO NOT follow ANY guides in the internets, including mine. Just do fresh install.
Upgrading gave the error “breaks: python-gi (< 3.34.0-4~) but 3.26.1-2ubuntu1 is to be installed"
Resolved by running "sudo apt install python3-gi" which will install a later python-gi to overcome the error and will update other programs too. To finalise the install then run "sudo apt dist-upgrade" again and this time the upgrade process completed without error.
If you have another error then search how to install , carry out install and try upgrade again.
I am quite new to Linux, so forgive me if this seems like a stupid question. I’d like to upgrade, but not having Timeshift seems to be a major issue. I do not want (to use) Timeshift, I have my own methods of securing my system for [email protected]#k ups, or other “disasters”. Is there any way to bypass this Timeshift thing? Any help is greatly appreciated.
I have found the answer to my question myself.
Open a terminal and punch in the following command: “sudo touch /etc/timeshift.json”
If you want to use Timeshift (again), you need to remove that file.
I tried it twice. In the second attempt I fixed the mistakes from the first (foreign PPAs). THe mintupdate check had no flags and it proceeded as described. When I rebooted, Cinnamon crashed, dozens of unmet dependencies (all seemingly related to python3), and none of the system windows (Control, Preferences, Update Manager, etc) would open. From CLI, apt did not work (missing apt_pkg module) and dpkg fixes failed.
I restored from timeshift via CLI.
I love 19.3 and I am happy to ignore the upgrade, unless the fix for this is known. Anybody?
Thanks buddy for this detailed go through.