---
name: "aptitude-robot"
section: "8"
platform: "linux"
package: "aptitude-robot"
version: "1.5.5-1.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/aptitude-robot"
---

# aptitude-robot(8)

automate package choice management

## NAME

aptitude-robot - automate package choice management

## SYNOPSIS

aptitude-robot \[options\]

aptitude-robot --help

## DESCRIPTION

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.

## OPTIONS

- **--force-install**

  give priority to install(+), remove(-), and purge(\_) actions over keep(:) and hold(=)

- **--config-dir** ***/path/to/config/dir***

  specify an alternate configuration directory.  Defaults to */etc/aptitude-robot*

- **--show-cmdline**

  only show the command that would be executed

- **--help**

  Prints this page.

- *other options*

  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)](/aptitude/8.md) for details.

## CONFIGURATION

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)](/run-parts/8.md).  They are concatenated in the order given by [**run-parts**(8)](/run-parts/8.md).

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 *triggers.post* with scripts that are executed by [**run-parts**(8)](/run-parts/8.md) before and after aptitude respectively.

## SEE ALSO

[**aptitude**(8)](/aptitude/8.md), [**aptitude-robot-session**(8)](/aptitude-robot-session/8.md)

## AUTHORS

Elmar S. Heeb \<elmar@heebs.ch\> and Axel Beckert \<abe@debian.org\>
