,

Top 10 Commands with explanation of “dpkg-query” commands

Posted by

Limited Time Offer!

For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!

Enroll Now

The dpkg-query command is used in Debian-based Linux distributions (like Ubuntu, Debian, Kali Linux) to query the dpkg database for information about installed packages. It is useful when you need to check package details, file locations, or dependencies.

Unlike dpkg, which is mainly used for installing or removing packages, dpkg-query is purely for querying the package database.


1. List All Installed Packages

dpkg-query -l

โœ” What it does:

  • -l โ†’ Lists all installed packages with their status, version, and architecture.

๐Ÿ“Œ Example Output:

ii  git                      2.34.1         amd64
ii  google-chrome-stable     96.0.4664.45   amd64
ii  apache2                  2.4.41-4ubuntu amd64
  • ii โ†’ Means the package is installed properly.
  • rc โ†’ Means the package was removed, but config files remain.

๐Ÿ’ก Great for checking which packages are installed on your system.


2. Check If a Specific Package is Installed

dpkg-query -l package-name

โœ” What it does:

  • Searches for a specific package in the installed package list.

๐Ÿ“Œ Example:

dpkg-query -l git

๐Ÿ“Œ Output (if installed):

ii  git  2.34.1  amd64  Distributed version control system

๐Ÿ“Œ If the package is not installed, output:

No packages found matching git.

๐Ÿ’ก Useful before installing a package to see if it’s already installed.


3. Get Detailed Information About a Package

dpkg-query -s package-name

โœ” What it does:

  • -s (status) โ†’ Displays detailed information about the installed package.

๐Ÿ“Œ Example:

dpkg-query -s apache2

๐Ÿ“Œ Output Example:

Package: apache2
Status: install ok installed
Version: 2.4.41-4ubuntu
Architecture: amd64
Maintainer: Ubuntu Developers
Description: Apache HTTP Server

๐Ÿ’ก Useful for checking the installed version, maintainer, and description.


4. List Files Installed by a Package

dpkg-query -L package-name

โœ” What it does:

  • -L (list files) โ†’ Shows all files installed by a package.

๐Ÿ“Œ Example:

dpkg-query -L apache2

๐Ÿ“Œ Sample Output:

/.
/etc/apache2
/etc/apache2/apache2.conf
/usr/sbin/apache2
/usr/lib/apache2

๐Ÿ’ก Useful when searching for a packageโ€™s configuration files or executables.


5. Find the Package That Owns a Specific File

dpkg-query -S /path/to/file

โœ” What it does:

  • -S (search) โ†’ Finds which installed package owns a specific file.

๐Ÿ“Œ Example:

dpkg-query -S /usr/bin/git

๐Ÿ“Œ Output:

git: /usr/bin/git

๐Ÿ’ก Useful for discovering which package installed a particular file.


6. Show Package Dependencies

dpkg-query -W -f='${Package} ${Depends}\n' package-name

โœ” What it does:

  • -W โ†’ Queries the package database.
  • -f='${Package} ${Depends}\n' โ†’ Formats the output to show package dependencies.

๐Ÿ“Œ Example:

dpkg-query -W -f='${Package} ${Depends}\n' apache2

๐Ÿ“Œ Output Example:

apache2 apache2-bin, apache2-data, apache2-utils

๐Ÿ’ก Useful for checking dependencies before installing or troubleshooting missing packages.


7. Check Package Version

dpkg-query -W -f='${Package} ${Version}\n' package-name

โœ” What it does:

  • Retrieves the installed version of a package.

๐Ÿ“Œ Example:

dpkg-query -W -f='${Package} ${Version}\n' firefox

๐Ÿ“Œ Output:

firefox 96.0+build1-0ubuntu

๐Ÿ’ก Helps to check if you need an update.


8. List Only Installed Packages (No Removed or Config Leftovers)

dpkg-query -W -f='${db:Status-Status}\t${Package}\n' | grep installed

โœ” What it does:

  • Filters the list to show only installed packages, excluding removed ones.

๐Ÿ“Œ Example Output:

installed  git
installed  apache2
installed  vim

๐Ÿ’ก Useful for listing active installed packages only.


9. List Installed Packages with Specific Architecture

dpkg-query -l | grep :amd64

โœ” What it does:

  • Filters installed packages by architecture (e.g., amd64, i386, arm64).

๐Ÿ“Œ Example Output:

ii  firefox:amd64   96.0+build1-0ubuntu  amd64
ii  google-chrome-stable:amd64  96.0.4664.45   amd64

๐Ÿ’ก Useful for checking which packages are installed for a specific CPU architecture.


10. Export Installed Packages List

dpkg-query -W -f='${Package}\n' > installed_packages.txt

โœ” What it does:

  • Exports a list of installed packages into installed_packages.txt.

๐Ÿ“Œ To restore on another system:

xargs sudo apt install -y < installed_packages.txt

๐Ÿ’ก Great for backups or system migration.


Final Thoughts

  • dpkg-query is powerful for searching and analyzing installed packages.
  • Itโ€™s faster than dpkg when querying package details.
  • Combine it with grep, awk, or cut for advanced filtering.
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x