Update your Ubuntu completely with a single command with zzUpdate


For those who are Ubuntu users they will know that updating their system is really easy, You just have to type a couple of commands and have an internet connection at the time of doing it and the system will update.

This process has not represented any problem even for the most novice. There are also some tools geared towards this task that make this even easier and above all save us a lot of time.

Many those of us who are Ubuntu users and who have made an update manually We must know that there are a series of commands with which we carry out this process, of which we can detail below:

To perform the cache cleaning:

sudo apt-get clean

Update our list of repositories and packages

sudo apt-get update

Download and install the latest package versions, dependencies and possibly the latest kernel.

sudo apt-get dist-upgrade -y

Upgrade to the next Ubuntu version

sudo do-release-upgrade

Remove all obsolete packages and that they are no longer needed

sudo apt-get autoremove -y

Applying each of these commands at the end of the previous one may take time, so it is not the most convenient to update frequently.

That is why the day of ho and we are going to talk about a script which is focused on this work to update our system, the script we are talking about is zzUpdate.

zzUpdate is a simple and configurable script to fully update your Ubuntu from the command line and is responsible for executing each command to perform a complete update of your system without having to wait for a confirmation next step.

What makes this script interesting is that zzUpdate will update Ubuntu to the next available version in case of a normal version, while for Ubuntu LTS versions it tries to only search for the next LTS version and not the latest Ubuntu version available.


How to install zzUpdate on Ubuntu and derivatives?

Si they want to install this script on their systems We just have to open a terminal and execute the following commands. The process is simple we just have to make sure to install some dependencies in case of not having them.

sudo apt install curl

Dependency already installed now we are going to download the script and it will install git in case of not having the dependency installed in our system

curl -s https://raw.githubusercontent.com/TurboLabIt/zzupdate/master/setup.sh | sudo sh

Once they have successfully installed it, now we must edit our configuration file, but first we must create it with:

sudo cp /usr/local/turbolab.it/zzupdate/zzupdate.default.conf /etc/turbolab.it/zzupdate.conf

The file It has a configuration that could be said to be recommended, but we can edit it to our needs for it.

We edit with:

sudo nano /etc/turbolab.it/zzupdate.conf

Where we will see something like this, where 1 is yes and 0 is no:






  • Where the first option We indicate if we want to restart or not at the end of the system update, followed by the timeout to perform the reboot.
  • In the upgrade version options, the first one, in case of setting 1, will update to the Ubuntu version while if it is at 1, VERSION_UPGRADE_SILENT will perform the update without asking anything or informing the user about it.
  • The last options, if set to 1, will install Composer and update its executable and the last option sets the Prompt = norm parameter in the / etc / update-manager / release-upgrades file. This allows Long Term Support (LTS) installations to upgrade to the latest non-LTS version available

Already configured to our needs we can execute zzupdate to update our system every time we need it, for this we only type in a terminal:

sudo zzupdate

Once you have launched it, zzupdate will update the script automatically via git first of all, then it will update the information of available packages, ask you to disable third-party repositories, update the packages when necessary, and check for a new Ubuntu version.

The content of the article adheres to our principles of editorial ethics. To report an error click here!.

2 comments, leave yours

Leave a Comment

Your email address will not be published.



  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   nevi said

    It is also possible to execute commands sequentially (command1; command2; command3) or conditionally (command1 && command2 && command3) to avoid having to wait for the completion of one command to execute another; It is in these cases where the -y option makes sense.

  2.   Jose Juan said

    The script is great, but entrusting it with these tasks makes me very insecure since it updates itself and the developer could change the code for a malicious one, even if it is on GitHub. The truth did not trust ZaneCEO.

    This is part of your code (setup.sh) and can be removed if desired:

    ## Install / update
    threw out ""
    if [! -d "$ INSTALL_DIR"]; then
    echo "Installing ..."
    threw out "-----"
    mkdir -p "$ INSTALL_DIR_PARENT"
    git clone https://github.com/TurboLabIt/${SCRIPT_NAME} .git
    echo "Updating ..."
    threw out "----"