Provided by: dpkg_1.16.1.2ubuntu7_amd64 bug


       dpkg-query - a tool to query the dpkg database


       dpkg-query [option...] command


       dpkg-query is a tool to show information about packages listed in 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, excluding the ones marked as not-installed  (i.e.
              those  which  have  been  previously purged). Normal shell wildchars are allowed in
              package-name-pattern. Please note you will probably  have  to  quote  package-name-
              pattern  to  prevent the shell from performing filename expansion. For example this
              will list all package names starting with “libc6”:

                dpkg-query -l 'libc6*'

              The first three columns of the output show the desired action, the package  status,
              and errors, in that order.

              Desired action:
                u = Unknown
                i = Install
                h = Hold
                r = Remove
                p = Purge

              Package status:
                n = Not-installed
                c = Config-files
                H = Half-installed
                U = Unpacked
                F = Half-configured
                W = Triggers-awaiting
                t = Triggers-pending
                i = Installed

              Error flags:
                <empty> = (none)
                R = Reinst-required

              An uppercase status or error letter indicates the package is likely to cause severe
              problems. Please refer to dpkg(1) for information about the above states and flags.

              The output format of this option is not configurable, but varies  automatically  to
              fit  the  terminal  width.  It  is  intended  for  human readers, and is not easily
              machine-readable. See -W (--show) and --showformat  for  a  way  to  configure  the
              output format.

       -W, --show [package-name-pattern...]
              Just like the --list option this will list all packages matching the given pattern.
              However the output can be customized using the --showformat  option.   The  default
              output  format  gives  one  line  per  matching  package, each line having the name
              (extended with the architecture qualifier for foreign  architecture  packages)  and
              installed version of the package, separated by a tab.

       -s, --status package-name...
              Report  status  of specified package. This just displays the entry in the installed
              package status database. When  multiple  package-name  are  listed,  the  requested
              status entries are separated by an empty line.

       -L, --listfiles package-name...
              List  files  installed to your system from package-name. When multiple package-name
              are listed, the requested lists of files are separated by an empty  line.  However,
              note that files created by package-specific installation-scripts are not listed.

       -c, --control-path package-name [control-file]
              List  paths  for  control  files  installed  to  your system from package-name.  If
              control-file is specified then only list the path for that control file  if  it  is
              present.  Warning:  this  command  is semi-public, it should be used only as a last
              resort solution, and if no other interface is available. It  might  get  deprecated
              later  on  if better interfaces or the current architectural deficiencies have been

       -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.  This command will not list extra files
              created by maintainer scripts, nor will it list alternatives.

       -p, --print-avail package-name...
              Display details about  package-name,  as  found  in  /var/lib/dpkg/available.  When
              multiple  package-name are listed, the requested available entries are separated by
              an empty line.

              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.

       -h, --help
              Show the usage message and exit.

              Show the version and exit.


              Change the location of the dpkg database. The default location is /var/lib/dpkg.

       -f, --showformat=format
              This  option  is  used to specify the format of the output --show will produce. The
              format is a string that will be output for each package listed.

              In the format string, “\” introduces escapes:

                  \n  newline
                  \r  carriage return
                  \t  tab

              “\” before any other character suppresses any  special  meaning  of  the  following
              character, which is useful for “\” and “$”.

              Package  information  can  be  included by inserting variable references to package
              fields using the syntax “${field[;width]}”. Fields are printed right-aligned unless
              the  width  is  negative  in  which case left alignment will be used. The following
              fields are recognised but they are not necessarily available  in  the  status  file
              (only internal fields or fields stored in the binary package end up in it):

                  Conffiles (internal)
                  Config-Version (internal)
                  Filename (internal, front-end related)
                  MD5sum (internal, front-end related)
                  MSDOS-Filename (internal, front-end related)
                  PackageSpec (virtual field)
                  Revision (obsolete)
                  Size (internal, front-end related)
                  Status (internal)
                  Tag (usually not in the .deb but in the repository Packages files)
                  Triggers-Awaited (internal)
                  Triggers-Pending (internal)

              The  default  format string is “${PackageSpec}\t${Version}\n”.  Actually, all other
              fields found in the status file (i.e. user defined fields) can be  requested,  too.
              They  will  be  printed  as-is, though, no conversion nor error checking is done on
              them. PackageSpec is a special field that will  print  the  package  name  with  an
              architecture  qualifier  (like  "libc6:amd64")  if  the  package  is  of  a foreign
              architecture (an architecture that doesn't match dpkg's architecture).  To get  the
              name of the dpkg maintainer and the installed version, you could run:

                dpkg-query -W -f='${PackageSpec} ${Version}\t${Maintainer}\n' dpkg


       0      The requested query was successfully performed.

       1      Problems  were  encountered while parsing the command line or performing the query,
              including no file or package being found (except for --control-path).


              If set and the --admindir option has not been specified, it will  be  used  as  the
              dpkg data directory.

              This  setting  influences  the output of the --list option by changing the width of
              its output.


       Copyright © 2001 Wichert Akkerman

       This is free software; see the GNU General Public Licence version 2 or later  for  copying
       conditions. There is NO WARRANTY.