With thousands of free Linux applications, it’s easy to lose track of what you once installed but no longer use. Here’s how to list the installed applications on the major Linux families.
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.
dnf list installed
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.
dnf list installed | grep terminal
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:
dnf info gnome-terminal
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:
apt list --installed
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.
apt list --installed | wc -l
To find packages of interest, we can use grep
and part of the name or topic we’re interested in.
apt list --installed | grep xfonts
To investigate a single package, use the apt show
command with the name of the package.
apt show xml-core
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.
pacman -Q
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.
pacman -Q | wc -l
The -i
(info) option lets us look at the details of a package.
pacman -Qi bash
Adding the -i
option twice can provide a bit more information, if any is available.
pacman -Qii bash
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.
flatpak list
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.
flatpak list --app
To see the details of an individual application, use the info
command and the application ID of the package, not the application name.
flatpak info org.blender.Blender
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.
snap list
To see the details for a single application, use the snap info command and the name of the application.
snap info firefox
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.