Open In App

How to List Installed Packages on Linux

Last Updated : 23 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Managing installed packages is a core aspect of maintaining a clean and efficient Linux system. Whether you're troubleshooting software conflicts, planning system updates, or freeing up disk space, knowing how to list installed packages is essential or finding installed software in Linux.

In this article, we’ll cover various methods across popular Linux distributions—using tools like apt, dpkg, rpm, dnf, and pacman to help you handle tasks like checking, filtering, or exporting package lists.

Understanding Linux Package Managers

What Are Package Managers?

Package managers are tools that automate software installation, updates, and removal. They ensure proper dependency management and make handling software on Linux seamless.

What Are Installed Packages in Linux?

Installed packages in Linux are software applications or system components that are installed on a Linux-based operating system using a package manager. These packages contain executable programs, libraries, configuration files, and metadata required to run or support specific applications.

Linux uses package managers such as APT (for Debian/Ubuntu), DNF/YUM (for Fedora/RHEL), Pacman (for Arch Linux), and Zypper (for OpenSUSE) to handle software installation, removal, and updates efficiently. Packages can be installed from official repositories, third-party sources, or manually compiled from source code

Why Should You List Installed Packages?

Listing installed packages is important for system maintenance, security, and troubleshooting. Here are the key reasons:

1. System Auditing & Security:

  • It helps to identify outdated, unnecessary, or vulnerable software.
  • It also ensures no unauthorized or malicious applications are installed.

2. Software Troubleshooting:

  • It helps in debugging dependency issues when applications fail to work.
  • Example: Running dpkg -l | grep missing-package to find missing dependencies.

3. Optimizing System Performance & Storage:

  • Identifies unused or large packages consuming disk space.
  • Example: Running dnf list installed | grep -i unused-software.

Common Package Managers by Distribution

  • APT: Used on Debian-based systems like Ubuntu.
  • DPKG: Backend for APT, found on Debian-based distributions.
  • YUM/DNF: Common on Red Hat-based systems like Fedora and CentOS.
  • RPM: Red Hat Package Manager, used on systems like CentOS and Fedora.
  • Pacman: Default package manager for Arch Linux

How to List Installed Packages by Distribution

This section provides a detailed overview of commands for listing installed packages across different Linux distributions. From Debian's apt to Arch's pacman, each package manager has specific tools to help you view and manage your installed software efficiently. Below, we cover these commands with practical examples and tips for better package management.

1. Debian/Ubuntu Systems (APT)

Before using this command, note that apt is the default package manager for Debian-based distributions like Ubuntu, designed to simplify software management. This command lists all packages installed through APT, offering a quick view of your system’s software.

Syntax:

apt list --installed
apt-list
Displays all installed packages.

For example, if you want to check whether a specific software is installed, use the following command:

Syntax:

apt list --installed | grep firefox
firefox
Filters the output for Firefox packages.

Another is command is dpkg, it is the tool a low-level package manager for Debian systems, working as the backend for APT. It allows you to query and manage individual packages directly, providing detailed output for advanced users.

dpkg -l
dpkg

Example:

pkg -l | grep vim                      # Searches for Vim-related packages

2. Red Hat/CentOS/Fedora Systems

RPM, the Red Hat Package Manager, is used to manage packages on Red Hat-based distributions like CentOS and Fedora. It’s a powerful tool for listing and querying installed software with detailed information.

rpm -qa

If we required to search the specific packages than use the command:

rpm -qa | grep httpd                          #Searches for Apache packages

Using YUM (Older Systems): YUM is an older package manager for Red Hat-based systems, replaced by DNF in newer versions. It’s still used on legacy systems to list and manage installed packages efficiently.

yum list installed

Using DNF (Modern Systems): DNF is the modern replacement for YUM on Fedora and CentOS. It provides faster performance and better dependency management, making it the go-to tool for managing packages on these systems.

dnf list installed

If we required to search the specific packages than use the command:

dnf list installed | grep nginx

3. Arch Linux (Pacman)

List All Packages: Pacman is the default package manager for Arch Linux, known for its simplicity and speed. Use the below command lists all installed packages managed by Pacman.

pacman -Q

If we required to search the specific packages than use the command:

pacman -Q | grep python

4. OpenSUSE (Zypper)

List Installed Packages: Zypper, the package manager for OpenSUSE, offers robust tools for managing software. Use the below command searches for and displays all installed packages.

zypper se -i

5. Snap Packages

List Installed Snap Packages: Snap is a universal package format designed by Canonical. The snap list command shows all snap applications installed on your system.

snap list

6. Flatpak Packages

List Installed Flatpak Applications: Flatpak is a popular package format for sandboxed applications. The flatpak list command displays all installed Flatpak applications, providing details about their IDs and runtimes.

flatpak list

Advanced Techniques to list installed software in Linux

Here are some advanced techniques to install list of packages on Linux:

1. Count the Installed Packages in linux

Counting installed packages gives you an overview of how much software is on your system. This can help in assessing system complexity or identifying unnecessary software. For instance, piping the list output to wc -l provides the exact number of installed packages. For Debian-based systems use:

apt list --installed | wc -l                                        # This command counts the total number of installed packages.

For Red Hat-based systems, use:

rpm -qa | wc -l

For Arch Linux users, use:

pacman -Q | wc -l

2. Backup and Restore Installed Packages in Linux

Saving your package list creates a backup of installed software, which is essential for system recovery or migrating to another machine. By exporting this list to a file, you can easily replicate your software environment elsewhere. This method ensures consistency across systems.For Debian-based systems use:

apt list --installed > packages.txt                         # This command saves the all install packages in text file

For RPM-based systems, use:

rpm -qa > installed_packages.txt

For Arch Linux users, use:

pacman -Qqe > installed_packages.txt

3. Restore Installed Packages from Backup

To reinstall packages from a saved list on a new system, use:For Debian-based systems use:

xargs sudo apt install -y < installed_packages.txt

For RPM-based systems, use:

xargs sudo dnf install -y < installed_packages.txt

For Arch Linux users, use:

sudo pacman -S --needed - < installed_packages.txt

Note: Before restoring packages, update your package manager (sudo apt update, dnf update, or pacman -Syu) to ensure the latest versions are installed

Troubleshooting Package Management Issues

Troubleshooting commands help fix common issues with package managers, such as broken configurations or corrupted package caches. For example, running sudo dpkg --configure -a resolves broken dependencies.

1. Fix Broken Package Installations: If package installation is interrupted or corrupted, use the following command to repair broken dependencies

sudo dpkg --configure -a                                    # This command repair broken DPKG database

2. Resolve Conflicts Between Packages: When conflicting packages prevent updates or installations, force-remove problematic packages:

sudo apt --fix-broken install                              # It Ensures missing dependencies are installed

3. Clear Cache to Free Up Space: Over time, package caches accumulate and take up disk space. Clear them to prevent system slowdowns:

sudo apt clean                                                    # Clears downloaded package archives
sudo apt autoremove # Removes unnecessary dependencies

Note: Regularly cleaning package caches and running apt update ensures a smooth and error-free Linux experience

GUI Tools for Package Management

Managing software packages in Linux doesn’t have to rely solely on command-line tools. Many Linux distributions offer GUI-based package management tools that make it easier for users to install, update, or remove software with just a few clicks. These tools provide a user-friendly way to manage packages, especially for beginners or those who prefer graphical interfaces.

Synaptic Package Manager for Debian/Ubuntu:

A graphical tool for managing installed packages.

Key Features:

  • Detailed package management, including dependencies.
  • Supports advanced searches and filtering.
  • Allows locking versions to prevent unwanted updates.

GNOME Software for GNOME-based Distributions:

Common on GNOME-based distributions for browsing and managing software.

Key Features:

  • Search, install, and remove applications.
  • Displays app reviews and ratings.
  • Supports both system and Flatpak packages.

Conclusion

Effectively managing installed packages is the backbone of maintaining a robust Linux environment. With tools like apt list --installed, rpm -qa, and pacman -Q, you can easily track, manage, and optimize installed software.

These commands not only help you identify unused packages but also assist in system cleanup, updates, and replication. Whether you're listing packages for troubleshooting or creating backups for migration, mastering these techniques ensures smoother Linux administration. Start exploring these commands today and transform how you manage your Linux system!


Article Tags :

Similar Reads