maintains a list of installed packages that were explicitly requested
rather than installed as a dependency.
Arguments are entirely optional,
can be invoked per se after each run of dpkg and/or apt-get.
Alternatively you can use
to install and remove packages by specifying the packages on the command line.
Packages suffixed with a
are removed while packages without a suffix are installed.
If a new package is encountered or if
notices that a package that used to be a dependency is now an orphan,
it will ask you what to do with it.
If you decide to keep it,
will just take note and continue.
If you decide that this package is not interesting enough it will be
removed as soon as
is done asking questions.
If your choises cause other packages to become orphaned more
questions will ensue.
Whenever
asks you about a package, any of the following responses can be given:
Yes, keep the package. This is the default response.
No, delete the package.
Prune the package. This tells
to also delete all packages that are
only installed because this package depends on them.
A list of such packages, if any, is shown above the prompt.
Skip this question. The next time you run
it will ask you again about this package.
Print a help message.
Show information about the package.
Undo last response.
Exit without removing packages.
All changes will be lost.
Save changes to
database, remove unwanted packages, and exit without asking further questions.
will show which packages have disappeared, have become dependencies
or (if
is enabled) have become orphans.
Display version and copyright information.
Display a concise summary of the available options and argument syntax.
Don't ask anything and assume
as the answer to all questions.
It also installs any packages that seem to be missing,
thus forcing your system to comply with the
database.
Can have
results if you're not careful.
Don't ask anything and assume
as the answer to all questions.
Useful to create an initial
file or to recreate it after changing the configuration file.
Instructs debfoster to make changes to the keeper file but
not to actually install or delete any packages.
This can be used to
a keeper file by invoking debfoster one or more times in a row.
The changes can then be committed by invoking debfoster with the
option, which will delete/install any necessary packages.
This is mainly useful for scripts and frontends, but may be useful from
the command line as well.
If used as
it will install or upgrade the packages specified on the command line
and try to upgrade all packages that it relies on.
Specify a different configuration file to use.
Specify a different
database to use.
Don't read the
database and start with an empty list.
This will instruct
to ignore the
settings in the config file (i.e., assume that any package can be an
orphan). This is a good option for those who really want to make sure
their system is squeaky clean. It's also useful when
sharing or transferring a keeper file between multiple machines where
different config files can cause some confusion. Properly used,
eliminates that uncertainty.
Lists the contents of the
database.
List all orphaned packages that are not mentioned in the
database.
List all packages that this package depends on.
List all packages in the
database that depend on this package.
List all packages that provide
the dependency target specified by
(e.g.
-p x-terminal-emulator
List all packages that are only installed because
this package depends on them.
Make tasks visible as packages. This will make tasks that are
selectable using tasksel(1) appear as packages named task-<label>.
Override any configuration option specified in the
configuration file.
CONFIGURATION
Some aspects of the behaviour of
can be configured in the configuration file,
Options are specified as
Option names are case insensitive.
Default:
Command invoked with a number of packages on the command line.
The command is not passed to
but invoked like
with a number of packages as extra options.
Default:
Like
but for removing packages.
Default:
Like
but called with a single package as an argument to display information on.
Default:
The file where the list of orphans is stored.
You can use this file for reference when installing a machine
or even to make identical Debian installs.
Default:
The file where
stores its information about which packages are more or less installed.
This value can usually be left untouched.
Default:
The file where
stores its information about which packages are available.
This value can usually be left untouched.
Default:
Any packages with a priority greater than this value will be
considered too basic to ask questions about.
The default value means that questions will be asked about packages
with priority "standard", "optional" and "extra".
With the special value
you can indicate that all
priorities should be considered too important to ask questions about.
These priority values are known to
(taken from the
package):
Default:
Use the
attribute from the
line.
Packages with this attribute won't ever be upgraded by apt, so it's safe
to assume that you want to keep it.
Default:
Use the
line from
status file.
Most packages which are marked essential shouldn't be removed anyway,
so if you don't want to be bothered with it, enable this option.
Default:
A package that pre-depends on another package requires the latter
during installation.
This option will make
count these pre-dependencies as ordinary dependencies.
If you frequently update your packages you may want to keep an eye
out for pre-depended packages that have become obsolete.
Default:
Recommended packages would be installed together with the
package that recommends them in all usual setups.
This option will make
count these recommendations as real dependencies.
Enabling this option will enable you to better manage packages which
were installed because another package recommended them.
Default:
Packages suggested by another package usually enhance the function
of the latter or have a related function which may be useful in
combination with the package that suggested them.
This option will make
count these suggestions as real dependencies.
Using this option will result in even fewer questions being asked.
Default:
Make tasks visible as packages. This will make tasks that are
selectable using tasksel(1) appear as packages named task-<label>.
will treat them as if they were normal packages. Tasks cannot be
removed but marking a task for removal will stop
asking questions about it.
Default:
You may find that you are always interested in keeping
(for example) documentation.
With this option you can indicate that packages from a certain
section should always be kept.
You can specify a comma separated lists of
sections.
Default:
List the sections you are never interested in.
For example,
is a good candidate, as most libraries debfoster asks about
are leftovers from old packages.
Default:
List name extensions for packages that you want to group with their
base packages. Applications are often separated into multiple
packages with names like
answer questions about
list.
Default:
Remember explicit removals of packages.
If a package is installed that has been explicitly removed before,
remove it again without asking.
Set this to
if you want to be asked anyway.
Default:
Using this option has the same result as having
on the command line.
It will make
show which packages have disappeared or have become a dependency.
Default:
This option has the same meaning as the
command line option.
All orphaned packages are scheduled for removal without asking any question.
Default:
Having this option (which has the same meaning as the
command line argument) in your configuration file
more or less defeats the purpose of
although the
is still kept up-to-date.
BUGS
Send reports to the Debian bug tracking system:p
with as much information as you can gather
(error messages, configuration files, versions of dpkg/apt, whatever
might be relevant).
A tool such as reportbug might come in handy.