APTITUDE-ROBOT(8)
β¨ NAME β¨
aptitude-robot β automate package choice management π
πΈ SYNOPSIS πΈ
aptitude-robot [options]
aptitude-robot --help
π¦ DESCRIPTION π¦
Okay bestie, so picture this: aptitude-robot reads your config files and then installs and removes Debian software packages automatically. No cap. That means your workstations and servers basically maintain themselves β hands-off setup, hands-off maintenance, main character energy all around. π
The workflow is iconic: you build your package lists in a development environment, then copy those lists over to the production machines. aptitude-robot rolls in and makes sure that everything mentioned in those lists is installed or removed exactly as you indicated. It's giving "set it and forget it." β¨
π OPTIONS π
--force-installβ gives priority to the install (+), remove (-), and purge (_) actions over keep (:) and hold (=). Like, the real actions win. periodt.--config-dir/path/to/config/dir β point it at a different configuration directory instead of the usual one. Defaults to/etc/aptitude-robot. π--show-cmdlineβ doesn't actually do the thing, just shows you the command that would be executed. A little peek behind the curtain. π--helpβ Prints this page. Hi. Hello. You're here. π«Ά
other options π
Any option that aptitude-robot doesn't recognize itself gets passed straight through to aptitude. So like, no worries. The options -q and -s are the ones you'll probably reach for every once in a while. See aptitude(8) for the deets. π
π CONFIGURATION π
The configuration directory β either the one you gave with --config-dir, or /etc/aptitude-robot by default β must contain a directory named pkglist.d. Inside pkglist.d you can have a whole lil' squad of package list files, and which ones get chosen is decided by the criteria of run-parts(8). They get concatenated in the order that run-parts(8) gives them. Slay. π
Every single line is supposed to hold an action and a package name, separated by white space. The actions are the same ones the aptitude command line interface uses (go check the aptitude documentation if you want the full lore). Typically they look like this:
+ 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
Now here's the tea β β if a package gets mentioned several times, the last entry is the one that determines the action. But! If you hand over the --force-install option, then keep (:) and hold (=) drop to a lower priority, meaning they only show up when there's no other action specified for that package. lowkey a whole hierarchy.
A # character starts a comment, and that comment runs all the way to the end of the line. Empty lines, or extra white space hanging out at the beginning or end of a line, just get ignored. No stress. π§
Optionally, the configuration directory may also contain a file named options holding extra options that get handed to aptitude β one option per line. π
And optionally (again), the configuration directory may contain two directories named triggers.pre and triggers.post, holding scripts that get executed by run-parts(8) before and after aptitude, respectively. Cute lil' before-and-after moment. π
β SEE ALSO β
aptitude(8), aptitude-robot-session(8)
π AUTHORS π
Elmar S. Heeb <elmar@heebs.ch> and Axel Beckert <abe@debian.org>
Version 1.5.5, dated 2023-03-01 β that's the whole manual, bestie, you ate it. Go forth and automate. ππ¦
π¦ where this page comes from
- debian bookworm: aptitude-robot 1.5.5-1 Β· GPL-3.0-or-later
- ubuntu noble: aptitude-robot 1.5.5-1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms