Hands-on: Upgrading Linux Mint 17.3 to 18

A tutorial (written by Clem himself) on upgrading Linux Mint 17.x Cinnamon or MATE to the recently released Linux Mint 18 has been posted. Here is my experience trying to upgrade using those instructions.

In my previous post I upgraded Fedora release 23 to 24 on my Aspire Z3 desktop system, but I've been holding back on upgrading the Linux Mint 17.3 Cinnamon installation on that system. A tutorial How to Upgrade to Linux Mint 18 was recently posted, and I have some time right now, so I decided to follow up with a run through the Mint upgrade process.

Hands-on with KaOS Linux: Not just another derivative distro

KaOS is a clean, lean, KDE-focused Linux distribution. If you haven't tried it, this would be a good time. If you already have KaOS running, just make sure your system has the latest updates.

Read More

The first thing to do is read through the tutorial very carefully -- and preferably more than once. This is not a trivial GUI procedure like the Fedora upgrade was, or like many of the previous Mint upgrades have been. It requires use of CLI commands, and those commands produce positively scary amounts of text output. It takes a relatively long time to perform the complete upgrade by Linux standards (it's done in a flash by Windows upgrade standards), and it is not entirely automated, so it will require manual intervention numerous times along the way.

Think carefully before undertaking this upgrade. While I certainly do recommend installing Linux Mint 18 on a new system, if you have a running system with Linux Mint 17.x installed, and you are happy with it, I would honestly recommend staying with that unless you have some very clear and very specific need for Mint 18.

Keep in mind that Mint 17.x will continue to be supported and upgraded by the Mint development team until 2019, so you don't need to update just to stay secure.

If you do decide to upgrade, I would recommend in the strongest terms that you try booting and running the Linux Mint 18 Live image first. Use that to verify that Mint 18 works properly on your computer, and that it recognizes and supports all of the hardware and peripherals. Pay particular attention to graphic display adapters and wireless network adapters.

If you get this far, and you are still determined to upgrade to Mint 18, be sure to backup all of your user data. Then, make sure that you can read the backups. Twice.

Finally, if and when you are ready to start, be prepared to read the How to Upgrade tutorial as you work. Don't try to upgrade from memory, even if you have upgraded every release of Mint before this -- and don't expect that this blog post will be enough of a guide. I am going to include screenshots here, which are not in the Mint tutorial, but the exact, specific step-by-step instructions are not included here.

The tutorial lists the requirements for performing this upgrade, but there is one very important point that it doesn't mention. The upgrade process is likely to use as much as 2GB of disk space. Not all of that is permanent, so after the upgrade is complete it might only be using an additional 1GB permanently, but it needs about 2GB while the upgrade is in progress. I would very strongly recommend that you don't start this upgrade with less than 4GB of free space.

updateicon.png

Before starting the upgrade, make sure that all level 1, 2, and 3 Mint patches and updates are installed on your computer. The Update Manager can be accessed by clicking on the shield icon in the task bar, or by choosing Update Manager from the Mint menus. You cannot be certain that there are no updates available only from the green check mark in the task bar icon. Make sure that you click Refresh in the Update Manager, and that there are still no level 1, 2, or 3 updates listed to be installed.

updatebefore.png

Level 4 and 5 updates generally involve the Linux kernel or other core parts of the operating system, and all of that is going to be updated during the Mint 18 upgrade, so you don't need to install those before upgrading.

The How to Upgrade tutorial recommends that you set unlimited text scroll-back in the terminal window before starting the upgrade. This is a good idea, so you can go back and see what has happened, and where you are in the process, at any point without having to worry about some of the text output being lost too far back.

scrolling.png

To get to this setting, after starting the terminal emulator window, click on Edit in the menu bar, then select Profile Preferences, and in that window choose the Scrolling tab. Check the Unlimited box, and then close the window.

I personally don't consider this to be adequate for preserving the output text from the upgrade procedure, because when the terminal window is closed or otherwise lost, the text is gone. I recommend also running all of the CLI commands with the output piped to the tee command, and saved to a file as shown in the examples below.

The next step is to download the Mint Upgrade tool. This begins our CLI adventure; open a terminal window, and enter this command:

# apt install mintupgrade

Note that this command is run as root (super user), although you could also run it using the sudo command. Also, you could use apt-get for this.

With the mintupgrade utility installed, you can now tell it to simulate the upgrade, to see if it finds any problems. Of course the Mint developers have tested this tool with a variety of standard configurations, but there is no way for them to test every possible combination of hardware, drivers, additional packages, applications and such. So this command will actually change the repositories to the new Mint 18, then run through a check to see if it knows what to do with everything on your computer.

$ mintupgrade check

Knowledgeable and sharp-eyed readers will notice that this command was run from an ordinary user prompt, not from the root prompt. If you try to run mintupgrade as root, it will scold you about not running it that way. When the command runs, it will ask you for the user's password so that it can run sudo itself to actually perform the necessary tasks.

This command produces a lot of output, which you should check carefully to make sure there are no errors. As mentioned above, and in the How to Install tutorial, if you have the terminal emulator set for unlimited scrolling, you can scroll back through the entire output to check it. However, I find scrolling through very large amounts of text to be tedious, and I often want to search for specific words or phrases, or even delete a lot of repetitive lines so that I don't have to skip over them repeatedly. So I just add a tee to this command, and copy the output in a file:

$ mintupgrade check | tee check.txt

I can then still watch the text output 'live' as it runs, and when it is finished I can open another terminal window and review the output file using more, less, vi, vim, grep or whatever. I will show all of the subsequent commands in this post with the tee output added.

This command will tell you what packages are going to be upgrade, installed, removed, or kept back from the upgrade. Pay particular attention to the packages that will be removed, so that you can reinstall them after the upgrade has finished if you still need them.

Of course if this command lists any problems that it can't solve, you should review those and figure out what you want to do about it. In most case this will involve making a note of a 'problem package', then removing it and if necessary reinstalling it after the upgrade is complete. I suppose there might be some less common cases where a particular piece of hardware or driver interferes with the update, which would be more difficult to solve. In that case you might want to think even more seriously about simply staying with Mint 17.x

If there are any problems detected, and you have to make changes to remedy them, be sure to run the check command again and examine the output to make sure everything has been resolved. Repeat this process until the check command doesn't report any problems.

Once the check command is happy, you can start a download of the packages required for the upgrade. Note that this will only download the files, it does not start any kind of upgrade process yet.

$ mintupgrade download | tee download.txt

This may take quite a while, depending on the speed of your internet connection, so it is rather nice that you can start it and let it run while you continue working on the system normally.

This command actually changes your repositories to the Mint 18 locations, and leaves it that way when it is done. If you change your mind for some reason and want to stay with Mint 17.x after all, you have to change the repositories back as described in the tutorial.

Once all of the necessary packages have been downloaded, and you have verified that there were no problems or errors with this command, you can start the upgrade. This will take quite a while, and lots of major changes will be made while it is running, so it is best if you do not try to continue other work while this is running.

$ mintupgrade upgrade | tee upgrade.txt

services.png

The upgrade process will need to stop and restart various services as it goes. You will be asked if it is OK to do this without prompting you each time -- I recommend that you say yes, unless you really want to be asked each time a library is updated.

The upgrade process will produce a lot of text -- lots and lots and lots of text. On my 'vanilla' Linux Mint 17.3 system, it produced more than 10,000 lines. At least in this case you don't have to check every line very carefully, because you have presumably done that already with the check process above. All you need to worry about with this output is that it does not stop with any sort of fatal error message.

This step took about 30 minutes to run on my desktop Acer Aspire all-in-one system. During that time it asks for confirmation numerous times, so you cannot just walk away and let it run (unfortunately).

When this command finishes, if there were no fatal error messages, all you need to do is reboot, and you will be running Linux Mint 18. Hooray!

I particularly like the nonchalant way that the tutorial lists Alternatives, saying: "If you cannot upgrade to Linux Mint 18, please perform a fresh installation." That might be better phrased as "If you are of sound mind and do not have masochistic tendencies, please perform a fresh installation", but hey, to each his own.

updatepolicy.png

After upgrading and rebooting, the first time you run the Mint Update utility you will have to set the Update Policy. I discussed this in my previous post about the Mint 18 beta releases -- it is a simple choice of how you want to balance aggressive updating against system stability.

The default is to accept what the Mint developers consider a reasonable balance -- although I think they tend to favor the side of stability, which is probably a good thing in most cases.

That's it! If you have gotten this far without fatal error messages, and your computer has successfully rebooted, then you are now running Linux Mint 18!

If you didn't make it through the procedure, then you now need to make a fresh installation of Mint 18.

Not only is that not a tragedy, in my experience a fresh installation is likely to be even faster than the upgrade process, and it involves a lot less stress. So keep that in mind -- and remember when you are installing and configuring a Linux system, if you keep the home and data separate from the system partitions, it becomes a lot easier to install a new release rather than slogging through the upgrade!

Read more on Linux