How To Upgrade Everything Using Topgrade CLI Utility In Linux

As we all know already, keeping our Linux system up-to-date involves invoking more than one package manager. Say for instance, in Ubuntu you can’t upgrade everything using “sudo apt update && sudo apt upgrade” command. This command will only upgrade the packages which are installed using APT package manager. There are chances that you might have installed some other applications using cargo, pip, npm, snap, flatpak or Linuxbrew package managers. You need to use the respective package manager in order to keep them all updated. Not anymore! Say hello to “topgrade”, an utility to upgrade everything using a single command in one go.

You need not to run every package manager separately to update the packages. The topgrade tool resolves this problem by detecting the installed packages, tools, plugins and run their appropriate package manager to update everything in your Linux box with a single command. It is free, open source and written using Rust programming language. It supports GNU/Linux, Mac OS X, FreeBSD and Microsoft Windows.

Installing Topgrade

The topgrade is available in AUR. So, you can install it using Yay helper program in any Arch-based systems.

$ yay -S topgrade

On other Linux distributions, topgrade can be installed Cargo package manager. To install cargo package manager, refer the following link.

The good thing is if one task is failed, it will automatically run the next task and complete all other subsequent tasks. Finally, it will display the summary with details such as how many tasks did it run, how many succeeded and how many failed etc.

3 Responses

On Arch based systems, the only package manager that should be used is pacman (optionally with an AUR helper). If packages are updated via other means, there will be conflicts. If a package is not in the repos or the AUR, then makepkg should be used to create one.

Not sure if topgrade distinguishes beetwen/checks for packages installed system wide and locally to the user (but I guess it can, as it checks emacs, vim and others which usually install their packages locally to the user).