Say, for example, you just heard about this really cool program, and you are pretty certain that it is provided in the Debian distribution, but a man or info attempt fails to provide any information. When you ask dpkg about the package, it says it isn't installed! So now what do you do?
Debian provides two files in its archives which are useful for this purpose: Packages, and Contents. The Packages file is usually located in the binary part of the archives, while the Contents file is usually in the outer directory of the main portion of the distribution. If you know the name of the package, then you can use grep to print its entry in the Packages file. However if you only know the name of a program that you are interested in, like fuser mentioned above, then the command:
grep fuser Contents
executed in the directory containing the Contents file, will tell us
that /bin/fuser is found in the package base/psmisc, in other
words the
psmisc package is located in the section base, so it is
most likely already installed on the system (base packages are installed
first). Checking with
dpkg -s psmisc will indicate the status of the
package, and provide information about the maintainer as well as a description
of the package. If the package is not installed then the information from
dpkg will be quite useless, as it can only tell you that the package is
not installed. Once you know the package name, the Packages file can be
grepped for the necessary information. So, look for programs in the
Contents file, and their packages in the
Packages file.