dwww Home | Manual pages | Find package

DEBFOSTER(8)                 System Manager's Manual               DEBFOSTER(8)

NAME
       debfoster — weed unnecessary Debian packages

SYNOPSIS
       debfoster    [-acdefhiknopqrstvV]   [--verbose]   [--version]   [--help]
                 [--quiet] [--force] [--mark-only] [--upgrade] [--config  file]
                 [--keeperfile file] [--no-keeperfile] [--ignore-default-rules]
                 [--show-keepers]   [--show-orphans]  [--show-depends  package]
                 [--show-dependents   package]    [--show-providers    package]
                 [--show-related   package]  [--use-tasks]  [--option  opt=val]
                 [package1 ...] [package2- ...]

DESCRIPTION
       debfoster maintains a list of installed packages  that  were  explicitly
       requested rather than installed as a dependency.  Arguments are entirely
       optional,  debfoster can be invoked per se after each run of dpkg and/or
       apt-get.

       Alternatively you can use debfoster 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 debfoster 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, debfoster will just take note and
       continue.   If you decide that this package is not interesting enough it
       will be removed as soon as debfoster is done asking questions.  If  your
       choices  cause other packages to become orphaned more questions will en-
       sue.

       Whenever debfoster asks you about a package, any of  the  following  re-
       sponses can be given:

         ‘y’         Yes, keep the package. This is the default response.
         ‘n’         No, delete the package.
         ‘p’         Prune the package. This tells debfoster to also delete all
                     packages  that are only installed because this package de-
                     pends on them.  A list of such packages, if any, is  shown
                     above the prompt.
         ‘s’         Skip  this  question.  The  next time you run debfoster it
                     will ask you again about this package.
         ‘h’         Print a help message.
         ‘i’ or ‘?’  Show information about the package.
         ‘u’         Undo last response.
         ‘q’         Exit without removing packages.  All changes will be lost.
         ‘x’         Save changes to debfoster database, remove unwanted  pack-
                     ages, and exit without asking further questions.

   Command line options
       -v, --verbose
               debfoster will show which packages have disappeared, have become
               dependencies or (if Quiet is enabled) have become orphans.

       -V, --version
               Display version and copyright information.

       -h, -FL -help
               Display  a concise summary of the available options and argument
               syntax.

       -f, --force
               Don't ask anything and assume ‘no’ as the answer  to  all  ques-
               tions.   It  also installs any packages that seem to be missing,
               thus forcing your system to comply with the debfoster  database.
               Can have ‘interesting’ results if you're not careful.

       -q, --quiet
               Don't  ask  anything and assume ‘yes’ as the answer to all ques-
               tions.  Useful to create an  initial  /var/lib/debfoster/keepers
               file or to recreate it after changing the configuration file.

       -m, --mark-only
               Instructs  debfoster  to make changes to the keeper file but not
               to actually install or delete any packages.  This can be used to
               ‘edit’ a keeper file by invoking debfoster one or more times  in
               a  row.  The changes can then be committed by invoking debfoster
               with the --force 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.

       -u, --upgrade
               If used as ‘debfoster -u package’ it will install or upgrade the
               packages  specified  on  the command line and try to upgrade all
               packages that it relies on.

       -c, --config file
               Specify a different configuration file to use.

       -k, --keeperfile file
               Specify a different debfoster database to use.

       -n, --no-keeperfile
               Don't read the debfoster database and start with an empty list.

       -i, --ignore-default-rules
               This  will   instruct   debfoster   to   ignore   the   UseHold,
               UseEssential, MaxPriority, KeepSections, and NokeepSections set-
               tings  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, -i eliminates that uncertainty.

       -a, --show-keepers
               Lists the contents of the debfoster database.

       -s, --show-orphans
               List all  orphaned  packages  that  are  not  mentioned  in  the
               debfoster database.

       -d, --show-depends package
               List all packages that this package depends on.

       -e, --show-dependents package
               List  all packages in the debfoster database that depend on this
               package.

       -p, --show-providers package
               List all packages that provide the dependency  target  specified
               by package (e.g.  "debfoster -p x-terminal-emulator" ).

       -r, --show-related package
               List  all  packages that are only installed because this package
               depends on them.

       -t, --use-tasks
               Make tasks visible as packages. This will make  tasks  that  are
               selectable  using  tasksel(1) appear as packages named task-<la-
               bel>.

       -o, --option opt=val
               Override any configuration option specified in the configuration
               file.

CONFIGURATION
       Some aspects of the behaviour of debfoster can be configured in the con-
       figuration file, /etc/debfoster.conf.  Options are specified as
             Option = Value
       Option names are case insensitive.

       InstallCmd
               Default: apt-get install
               Command invoked with a number of packages on the  command  line.
               The  command  is not passed to /bin/sh but invoked like xargs(1)
               with a number of packages as extra options.

       RemoveCmd
               Default: apt-get --purge remove
               Like InstallCmd but for removing packages.

       InfoCmd
               Default: dpkg -s
               Like InstallCmd but called with a single package as an  argument
               to display information on.

       KeeperFile
               Default: /var/lib/debfoster/keepers
               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.

       DpkgStatus
               Default: /var/lib/dpkg/status
               The  file where dpkg(8) stores its information about which pack-
               ages are more or less installed.  This value can usually be left
               untouched.

       DpkgAvailable
               Default: /var/lib/dpkg/available
               The file where dpkg(8) stores its information about which  pack-
               ages are available.  This value can usually be left untouched.

       MaxPriority
               Default: standard
               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
               ‘ANY’  you can indicate that all known priorities should be con-
               sidered too important to ask questions  about.   These  priority
               values  are  known  to  debfoster  (taken from the debian-policy
               package):
                     required
                     important
                     standard
                     optional
                     extra

       UseHold
               Default: yes
               Use the hold attribute from the  Status:  line.   Packages  with
               this  attribute  won't  ever be upgraded by apt, so it's safe to
               assume that you want to keep it.

       UseEssential
               Default: yes
               Use the Essential: line from dpkg(8)'s status file.  Most  pack-
               ages  which are marked essential shouldn't be removed anyway, so
               if you don't want to be bothered with it, enable this option.

       UsePreDepends
               Default: yes
               A package that pre-depends on another package requires the  lat-
               ter  during installation.  This option will make debfoster count
               these pre-dependencies as ordinary dependencies.   If  you  fre-
               quently update your packages you may want to keep an eye out for
               pre-depended packages that have become obsolete.

       UseRecommends
               Default: yes
               Recommended  packages would be installed together with the pack-
               age that recommends them in all usual setups.  This option  will
               make debfoster count these recommendations as real dependencies.
               Enabling  this  option will enable you to better manage packages
               which were installed because another package recommended them.

       UseSuggests
               Default: no
               Packages suggested by another package usually enhance the  func-
               tion  of the latter or have a related function which may be use-
               ful in combination with the package that suggested  them.   This
               option  will  make debfoster count these suggestions as real de-
               pendencies.  Using this option will result in even  fewer  ques-
               tions being asked.

       UseTasks
               Default: no
               Make  tasks  visible  as packages. This will make tasks that are
               selectable using tasksel(1) appear as packages  named  task-<la-
               bel>.   debfoster  will  treat them as if they were normal pack-
               ages. Tasks cannot be removed but marking  a  task  for  removal
               will stop debfoster asking questions about it.

       KeepSections
               Default: ~
               You  may find that you are always interested in keeping (for ex-
               ample) 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 ‘precious’ sections.

       NokeepSections
               Default: ~
               List the sections you are never  interested  in.   For  example,
               ‘libs’  is  a  good  candidate, as most libraries debfoster asks
               about are leftovers from old packages.

       GuessDepends
               Default:
               List  name  extensions  for packages that you want to group with
               their base packages. Applications are often separated into  mul-
               tiple  packages  with names like "app", "app-doc", "app-dev". If
               you don't want to answer questions about "app-doc", you can  add
               the "doc" extension to the GuessDepends list.

       NegativeKeepers
               Default: yes
               Remember  explicit  removals  of  packages.  If a package is in-
               stalled that has been explicitly removed before, remove it again
               without asking.  Set this to no if you want to be asked anyway.

       Verbose
               Default: no
               Using this option has the same result as having -v on  the  com-
               mand line.  It will make debfoster show which packages have dis-
               appeared or have become a dependency.

       Force   Default: no
               This  option has the same meaning as the -f command line option.
               All orphaned packages are scheduled for removal  without  asking
               any question.

       Quiet   Default: no
               Having this option (which has the same meaning as the -q command
               line  argument)  in your configuration file more or less defeats
               the purpose of debfoster although the KeeperFile is  still  kept
               up-to-date.

BUGS
       Send reports to the Debian bug tracking system:
       http://bugs.debian.org/debfoster
       with  as  much information as you can gather (error messages, configura-
       tion files, versions of dpkg/apt, whatever might be relevant).   A  tool
       such as reportbug might come in handy.

SEE ALSO
       apt-get(8), apt-cache(8), dpkg(8), deborphan(1), tasksel(1)

Debian GNU/Linux                   2001-06-10                      DEBFOSTER(8)

Generated by dwww version 1.16 on Tue Dec 16 07:29:45 CET 2025.