Scroll to navigation



aptitude-robot - automate package choice management


aptitude-robot [options]

aptitude-robot --help


aptitude-robot uses configuration files to install and remove Debian software packages automatically. This allows hands-off setup and maintenance of workstations and servers. Create package lists in a development environment and copy the package lists over to the production machines. aptitude-robot will then make sure that the packages mentioned in the lists are installed or removed as indicated.


give priority to install(+), remove(-), and purge(_) actions over keep(:) and hold(=)
specify an alternate configuration directory. Defaults to /etc/aptitude-robot
only show the command that would be executed
Prints this page.
any option not recognized by aptitude-robot itself is passed through to aptitude. The options -q and -s are likely to be used occasionally. See aptitude(8) for details.


The configuration directory given by the "--config-dir" (or /etc/aptitude-robot by default) must contain a directory named pkglist.d. This directory may have several package list files that are chosen according to the criteria of run-parts(8). They are concatenated in the order given by run-parts(8).

Each line shall contain an action and a package name separated by white space. The actions are those used by the "aptitude" command line interface (see aptitude documentation). Typically they are:

+ package # install package

+M package # install package and mark it as automatically installed

- package # remove package

_ package # purge package

: package # keep package at current version

= package # mark a package as "hold", i.e., prevent automatic updates

If a package is mentioned several times the last entry will determine the action. If the "--force-install" option is given the keep(:) and hold(=) actions are given lower priority, i.e., the appear only when no other action for the package is specified.

A "#" character starts a comment extending to the end of line. Empty lines or extra white space at the beginning or end of line is ignored.

Optionally the configuration directory may contain a file name options containing extra options given to aptitude in the form of one option per line.

Optionally the configuration directory may contain two directories triggers.pre and with scripts that are executed by run-parts(8) before and after aptitude respectively.


aptitude(8), aptitude-robot-session(8)


Elmar S. Heeb <> and Axel Beckert <>

2020-12-05 1.5.4