====== 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.