ucaresystem Core v4.0 : Added option to upgrade Ubuntu to the next release


Since Ubuntu 17.10 has just been released, I have added new feature to the ucaresystem Core that can be used by the user to upgrade his distribution to the next stable version or optionally to the next development version of Ubuntu.

For those who are not familiar with the ucaresystem app it is an automation script that automatically and without asking for your intervention performs some crucial Ubuntu maintenance processes, which otherwise would be done one by one and pressing Y / N each time.

In summary, ucaresystem Core automatically performs the following maintenance processes :

  • Updates the list of available packages
  • Downloads and installs the available updates
  • Checks if there are older Linux kernels on the system and removes them. However it keeps the current and one previous version of the kernel.
  • Cleans the cache of the downloaded packages
  • Removes obsolete packages
  • Removes orphan packets
  • Deletes package configuration files from packages that have been uninstalled by you.


What’s new with ucaresystem version 4.0

The new version of ucaresystem has two new parameters that if invoked by the user it can upgrade the Ubuntu distribution:

  • With the -uparameter to the next Ubuntu stable release (if it is released). Note that if the user is on a LTS distribution (eg 16.04), ucaresystem -u will look for a new version of LTS (in point release eg 18.04.1 and not just 18.04) and will ignore the intermediate versions. While those who are on a non-LTS (eg 17.04) it will look for a new version and will propose an upgrade.
  • With the -d parameter to the next development version. This feature is not for everyday users but for those who are testing Ubuntu and want to test the development editions.

But let’s look at the different ways we can run the ucaresystem in the following situations:

How do I see the available parameters that the ucaresystem gets?

You run:

sudo ucaresystem-core -h

and you will see an explanation of what the -u  and  -d parameters do.

I have Ubuntu 17.04 and I do not want to upgrade yet

Cool, you just continue to use the ucaresystem without the parameters and it will simply perform the classic maintenance processes mentioned earlier:

sudo ucaresystem-core

I have Ubuntu 16.04 LTS and I DO NOT want to upgrade to non-LTS versions (16.10 / 17.04 / 17.10 etc).

Again, its cool. you just continue to use the ucaresystem without the new parameters. Even if you activate the -u upgrade parameter, it will just ignore any non-LTS because the next LTS version of Ubuntu 18.04.1 (not even 18.04) has not been released yet.

I have Ubuntu 17.04 and I want to upgrade

Once the new version is available, you can run the ucaresystem with the -u parameter:

sudo ucaresystem-core -u

As soon as it starts, it will do all the maintenance tasks first and then it will check if a new version has been released. Then it will prompt you if you want to continue the upgrade procedure to a newer version of Ubuntu.

If you run it with -u and no new version has yet been released, then it will just run ONLY the maintenance processes and nothing else.

I have Ubuntu 17.04 and I want to upgrade to the Development edition

You can do this by running the ucaresystem with the -d parameter

sudo ucaresystem-core -d

As soon as it starts, it will do all the maintenance work just as without the -d parameter, and then check if the development cycle of the next version of Ubuntu is open and will prompt you if you want to continue the upgrade.

How do I install the new ucaresystem

If you already have ucaresystem-core installed on you Ubuntu, it should be already upgraded to the v4.0. If not then go to the uCareSystem Download page.

Ucaresystem-core is compatible with distributions based on Ubuntu 14.04+ (Xubuntu, Lubuntu, Kubuntu, Ubuntu Mate, Ubuntu Gnome) as well as Debian 8+ and Linux Mint 17+.

Note that the new parameters work only on Ubuntu-based distributions and not on Debian or Linux Mint.

Video of the new ucaresystem v4.0

In the following video, I install ucaresystem-core on a Lubuntu 17.04  system and use it for maintenance and upgrading to the new  version of Lubuntu.

Technical details on how ucaresystem works

ucaresystem-core, whose first release came out about 8 years ago, is just a bash script that runs system commands that are already in the user’s system. In a nutshell, the following commands run in a specific order with all of their available parameters that are useful for Linux maintenance:

  • apt
  • apt-get
  • dpkg
  • deborphan
  • (optional) do-release-upgrade

All I did was put them in a logical order.


If you have been using the ucaresystem for years, or it is the first time you use it, leave a comment with your experience. If you spot a bug or have a request please open an Issue:

As always, If you’ve found it useful and saved you time and you think it is worth of your support, you can make a donation via PayPal by clicking on the following:




  1. Thank you very much for this awesome tool.

    However I believe there is a syntax error and I do not know how it’s updating packages on the video, I check the script and where it reads “sudo apt -y full-upgrade” it should read instead “sudo apt full-upgrade -y” or else it just returns the help page of the command apt and does not upgrade. Or at least it is so for me, using Linux Mint Mate 18.2. I’m using mate-terminal.

    Note that if there was “sudo apt-get -y full-upgrade” it would still work, if apt-get was used instead of apt it would still work properly.


      1. Thank you very much once again.

        Let me give just a couple of suggestions for your consideration, the first being throwing a line in there to fix broken packages and install missing needed packages, a “sudo apt-get -f install; sudo dpkg –configure -a” or something alike.

        The second suggestion is to give the option to do the system upgrade while the script is running. Something like a pause of 5 seconds or so asking the user if he wants to check for system upgrades, asking the user to press a specific button if he desires to do so; if he does press the specific button then put a menu in there with the option to leave and do nothing and options to upgrade to the LTS or development versions if available.

        Thank you once again and keep up with the good work!


        1. Great suggestions for package fixes. I’ll consider them for the next release.
          For the others, there is -u and -d options that a user can pass once they are available. By design, ucaresystem is a do-it-and leave it utility so that you can either combine it with a && sudo poweroff or add it to a servers cronjob. In other words in normal maintenance No questions should be asked because that brakes the automation philosophy. 🙂


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.