deborphan - Orphaned package finder
deborphan [OPTION]... [PACKAGE]...
deborphan finds packages that have no packages depending on them. The
default operation is to search only within the libs and oldlibs
sections to hunt down unused libraries.
If it is invoked with an optional list of packages, only the
dependencies on those packages will be checked. The results are printed
to stdout as if the option --show-deps had been given. Searching for
specific packages will show the package, regardless of its priority. It
is possible to specify -, to read a list of packages from standard
Use FILE as the status file.
Display a short help message and exit.
Display version information and exit.
Show a list of all installed packages and name the packages that
depend on them.
Show the priority of the packages found.
Show the sections the packages are in.
Override showing sections when the default is to show them (see
Show the installed size of the packages found.
Check all the packages, instead of only those in the libs
section. Best used (if at all used) in combination with
--priority. This option implies --show-section.
Excludes the packages named in LIST (a comma separated list)
from the evaluation as if they didn’t exist in the status file.
Ignore "hold" dpkg-flags on packages and thus display these
packages. Without this option packages with the "hold" flag set
will not be displayed. Please refer to dpkg(1) for more
information about package flags. Due a bug in aptitude (Debian
bug #137771) hold flags created by aptitude are ignored by
Do not check if there is a package ‘suggesting’
(--ignore-suggests) or ‘recommending’ (--ignore-recommends) the
package. When both options are used together, deborphan behaves
as if the ‘nice-mode’ mentioned below has been turned off.
Turn off nice-mode. Nice-mode checks if there is a package
‘suggesting’ or ‘recommending’ the package. If one is found,
the package will be marked as in use, or, when --show-deps is
used, print out the package suggesting the package as if it were
depending on it.
Show only those packages with a priority equal to, or greater
than PRIORITY. PRIORITY may be in the range of 1-5, or one of
required, important, standard, optional, extra. Default value
for PRIORITY is 2 (important).
This option searches for uninstalled packages which still have
configuration files on the system. It implies the -a option.
Search in section libdevel in addition to libs and oldlibs.
KEEP FILE MANAGEMENT
-A, --add-keep PKG1...PKGn
Add packages to the list of packages which are never to be
reported, regardless of their state. You may specify ’-’ to use
standard input. Note that package names are case-sensitive.
Use FILE to store the list of kept-back packages.
Show the list of packages that are being kept back.
-R, --del-keep PKG1...PKGn
Remove packages from the list of packages which are never to be
reported. You may specify ’-’ to use standard input. If there
are no dependencies for this package next time deborphan is
invoked, it will be reported again.
Purge the entire list of packages that are being kept back. The
only option possible in combination with this option is -A.
deborphan can try to guess what packages may not be of much use
to you by examining the package’s name and/or description. It
will pretend the package is in the main/libs section, and report
it as if it were a library. This method is in no way perfect or
even reliable, so beware when using this! It is also possible to
tell deborphan e.g. to guess all interpreters but not Perl by
using --guess-interpreters --no-guess-perl or to guess all but
not Mono by using --guess-all --no-guess-mono. Please note that
the --no-guess- option must occur after the --guess- option it
modifies, this makes it possible to declare more complex things
like to guess all, except interpreters but additionally try to
The following options are to be prefixed by --guess- or (except only)
common This option tries to find common packages, i.e. packages with
names ending in -common.
data This option tries to find data packages, i.e. packages with
names ending in -data.
debug This option tries to find debugging libraries, i.e. packages
with names ending in -dbg.
dev This option tries to find development packages, i.e. packages
with names ending in -dev. Also see option --libdevel.
doc This option tries to find documentation packages, i.e. packages
with names ending in -doc.
dummy This option tries to find dummy packages, i.e. packages with
dummy or transitional in their short description.
kernel This option tries to find kernel-modules. It tries to match
Try to find all interpreter modules (i.e. imply ruby, pike,
python, perl and mono).
mono This option tries to find mono libraries. It tries to match
perl This option tries to find perl modules. It tries to match
pike This option tries to find pike modules. It tries to match
python This option tries to find python modules. It tries to match
ruby This option tries to find ruby modules. It tries to match
This option tries to find libraries that were accidentally
placed in the wrong section. It tries to match ^lib, but not if
it ends in one of: -dbg, -doc, -perl, or -dev.
all Try all of the above.
only Ignore the package’s section completely, and just go for the
name and/or description. This option must be used in conjunction
with one or more of the --guess options listed above, or
deborphan will not display anything.
Statuses of available packages. See the section INFORMATION
ABOUT PACKAGES in dpkg’s man-page for more information.
A newline-separated list of packages to keep. Package names are
in no particular order.
dpkg(8), dselect(8), orphaner(8), editkeep(8), cruft(8), xargs(1)
If you report a bug, please include your /var/lib/dpkg/status file.
That would help in reproducing the bugs.
deborphan was written by Cris van Pelt <"Cris van Pelt"@tribe.eu.org>,
then maintained by Peter Palfrader <email@example.com> but is nowadays
maintained Carsten Hey <firstname.lastname@example.org>