The Application Graveyard
The choice of free and open-source applications available to Linux users is astonishing. For a newcomer to Linux it can be overwhelming. But it’s also part of the fun. If you have a particular need, you search for a piece of software to address that need. If you don’t get along with the one you find, that’s no problem. There are likely to be dozens more that you can try until you find one that ticks all of your boxes.
If you’re not scrupulous about uninstalling the ones you know you won’t use, they’ll sit in your system using up hard drive space. If you’re a programmer you’ll also have unused toolkits and libraries dotted around your computer. On a desktop computer, with today’s reasonably cheap, high-capacity drives, that might not in itself be too much of a problem. On laptops, it is more of a concern because of their smaller storage capacities.
But whether you have the hard drive space to spare or not, hoarding unused software means software updates will take longer because you’re updating all of those unused applications along with the ones that you actually do use. System images and other backups will be larger than necessary, will take longer to complete, and will consume more backup media.
There’s also the possibility of incompatibilities between components of installed and forgotten applications and new ones you try to install.
In order to manage the situation, the obvious first step is to find out what is installed. Once you know what, you can review the list and decide what stays and what goes. How you find out what has been installed varies from Linux distribution to distribution. RedHat-derived distributions use the dnf package manager, Debian-derived distributions use apt , and Arch-based distributions use pacman.
There are other distribution-agnostic installation methods such as snap and flatpak that we need to consider too.
Listing Installed Applications with dnf
Fedora is the most successful of the RedHat-derived desktop distributions. We’ll use that to discuss listing installed applications with the dnf package manager.
To list the installed packages is very straightforward.
This produces an avalanche of information.
To see how many packages were listed, we can pass the output through wc, with the -l (lines) option.
This tells us dnf found 1,968 installed packages. To make the output more manageable you could pipe it into grep, and search for packages of interest.
You could also pipe the output into less and use the search function within less to find what you are looking for.
If you see a package in the list that you want to know more about—which is a good idea if you’re considering removing it—you can use the dnf info command.
You need to provide the name of the package without the platform architecture details. For example, to see the details of the package “gnome-terminal.x86_64” you’d type:
RELATED: What’s New in Fedora 36
Listing Installed Applications with apt
The apt command is the replacement for the older apt-get command. It is the command-line tool for the Debian distribution, and the many distributions that have sprung from it, such as the entire Ubuntu family of distributions.
To see the list of installed packages, use this command:
As expected, the output is long and scrolls past quickly.
To see how many entries there are, we can pipe through wc, as we did before.
To find packages of interest, we can use grep and part of the name or topic we’re interested in.
To investigate a single package, use the apt show command with the name of the package.
RELATED: apt vs. apt-get: What’s the Difference on Linux?
Listing Installed Applications With pacman
The pacman package manager is used on Arch Linux and its derivatives, such as Manjaro and EndeavourOS. To list packages using pacman we need to use the -Q (query) option.
The list of packages is displayed in the terminal window.
Installing a single application is likely to cause multiple packages to be installed, because of unmet dependencies. If the application requires a particular library and it isn’t present on your computer, the installation will provide it. Similarly, uninstalling an application can cause several packages to be removed. So the number of applications isn’t the same as the number of packages.
To count the installed packages, we pipe the output through wc and use the -l (lines) option, as before.
The -i (info) option lets us look at the details of a package.
Adding the -i option twice can provide a bit more information, if any is available.
In this case, there are some extra lines at the bottom of the listing that show where the “.bash_profile” and “.bash_logout” template files are located.
RELATED: Why I Switched From Ubuntu to Manjaro Linux
Listing Installed Applications With flatpak
There are ways to install applications that are distribution agnostic. They’re designed to be universal package managers. They install sandboxed versions of apps, including any dependencies they have. This makes it easy to install different versions of an application without having to worry about incompatibilities or cross-contamination from version to version.
From the software developer’s perspective, using a universal package manager means they only have to package their application once and they’ve got all distributions covered.
The flatpak system is one of the two most popular universal installers. If you’ve used flatpak on your computer, you can still list the installed applications.
This lists the installed applications and the associated runtimes that have been installed to satisfy the dependencies of those applications. To see just the applications, add the –app option.
To see the details of an individual application, use the info command and the application ID of the package, not the application name.
Listing Installed Applications With snap
The other popular universal package manager is called snap. It is a Canonical initiative. It is used by default in the Ubuntu Software application on recent Ubuntu releases and snap can be installed on other distributions too.
To list the applications that have been installed using snap, use this command.
To see the details for a single application, use the snap info command and the name of the application.
RELATED: How to Work with Snap Packages on Linux
Make Informed Decisions
dnf, apt, and pacman have options that automatically find and delete orphaned and unneeded packages. But they won’t find old packages that you just don’t use anymore. That requires human intervention and the knowledge of what requires uninstalling. That’s where these handy commands come in.
After clearing up space, you may be interested in learning how to install Android apps on your Linux device.