Table of Contents

Available Packages

The apt-cache search command will return all packages that have name in the package name or description:

# apt-cache search name

Once you have a package name, you can get more detailed information on the package using the apt-cache show and apt-cache showpkg commands.

# apt-cache show package_name
# apt-cache showpkg package_name
# apt-cache list package_name

Installed Packages

Check single package

Run apt list package, it will return the available version and if it is installed “[installed]”

# apt list package

# apt list bluez
------------------------------------------
Listing... Done
bluez/stable,now 5.66-1 amd64 [installed]
------------------------------------------

Query all manually installed packages

# apt list --manual-installed=true

or

# apt-mark showmanual

dpkg-query - Low Level

dpkg-query is a tool to query the dpkg database.

-l, --list [package-name-pattern...]
     List  packages  matching  given pattern. 
     If no package-name-pattern is given, list all packages in /var/lib/dpkg/status.
     Normal  shell wildchars are allowed in package-name-pattern.

-s, --status package-name...
       Report status of specified package. 
       This just displays the entry in the installed package status database. 

-L, --listfiles package-name...
       List files installed to your system from package-name. 
       
-S, --search filename-search-pattern...
       Search for packages that own files corresponding to the given pattern. 
       Standard  shell wildchars can be used in the pattern. 

-p, --print-avail package-name...
       Display details about package-name, as found in /var/lib/dpkg/available.
       Users of APT-based frontends should use apt-cache show package-name instead as the available file
       is only kept up-to-date when using dselect.