Posted on
Administration

Using dpkg-query to query installed DEB packages

Author
  • User
    Linux Bash
    Posts by this author
    Posts by this author

Exploring Linux DEB Packages with dpkg-query

When managing a Linux system, especially those based on Debian or its derivatives like Ubuntu, understanding how to interact with the package system is vital. While many users are familiar with high-level tools such as apt, dpkg-query provides more granular control and insight into DEB packages. In this blog post, we will delve into the capabilities of dpkg-query, and touch upon how commands might differ with other package managers like dnf (used in Fedora) and zypper (used in openSUSE).

What is dpkg-query?

dpkg-query is a command-line tool included with the dpkg package management system, which is the backbone of Debian package management. It allows users to query the vast database of installed DEB packages on a system, giving detailed information about package versions, descriptions, dependencies, and much more. Understanding dpkg-query can be crucial in effectively managing your system and diagnosing package-related issues.

Basic Usage of dpkg-query

To get started with dpkg-query, let’s look at some common scenarios:

1. Listing all installed packages

To see a list of all installed DEB packages, use:

dpkg-query -l

This command will list every installed package along with its version and a brief description.

2. Checking if a specific package is installed

If you need to find out if a specific package is installed and get some details about it:

dpkg-query -l | grep 'package_name'

Replace 'package_name' with the actual name of the package.

3. Getting detailed information about a package

For exhaustive information related to a specific package, the following command can be used:

dpkg-query -s package_name

This will provide various details like architecture, status, depends, suggests, and more.

Using Equivalent Commands in Other Package Managers

While dpkg-query is specific to Debian-based systems, other Linux distributions use different package managers:

1. APT (Advanced Package Tool)

On Debian-based systems, apt-get and apt-cache are more commonly used for handling packages from a higher-level perspective:

  • To list all packages:

    apt list --installed
    
  • To search for a specific package:

    apt list --installed | grep 'package_name'
    
  • To show package details:

    apt show package_name
    

2. DNF (Dandified YUM)

Fedora and other RPM-based systems use DNF:

  • To list all installed packages:

    dnf list installed
    
  • To get details on a specific package:

    dnf info package_name
    

3. Zypper

Zypper is the command line interface of the ZYpp package manager for openSUSE:

  • To list all installed packages:

    zypper search --installed-only
    
  • To show details about a package:

    zypper info package_name
    

Conclusion

Understanding how to query package information effectively across different Linux distributions makes you a more proficient Linux user and system administrator. Whether through dpkg-query in Debian-based systems, dnf in Fedora, or zypper in openSUSE, mastering these tools ensures you have the insights and controls necessary for detailed package management. Remember that while the specific commands vary across different distributions, the underlying principles of package management remain quite similar.

Feel free to experiment with these commands and explore additional parameters and options available to tailor the output to your specific needs. Each tool comes with comprehensive documentation that can further enhance your command-line capabilities.