apt-listbugs - Lists critical bugs before each APT installation/upgrade
] [-T tags
] [-B bug#
] [ -H
] [ -p port
] [-P priority
] [-C apt.conf
is a tool which retrieves bug reports from the Debian Bug
Tracking System and lists them. In particular, it is intended to be invoked
before each installation or upgrade by APT, or other compatible package
managers, in order to check whether the installation/upgrade is safe.
In the typical use case, the user is installing or upgrading a number of
packages with APT or some other compatible package manager. Before the package
installation or upgrade is actually performed, apt-listbugs
automatically invoked: it queries the Debian Bug Tracking System for bugs (of
certain configured severities) that would be introduced into the system by the
installation or upgrade; if any such bug is found, apt-listbugs
the user and asks how to proceed. Among other things, the user has the
opportunity to continue, to abort the installation or upgrade, or to pin some
packages (so that the unsafe installation or upgrade is deferred). However,
pinning is not effective immediately, and requires restarting the APT session
(by aborting and then re-running the same APT command).
Each package pin is automatically removed by a daily cron job, as soon as the
corresponding bug is fixed in (or no longer affects) the package version
available for installation or upgrade. When the pin is removed, the
installation or upgrade of the package becomes possible again.
In order for the automatic pin removal to work correctly, the daily cron job has
to be actually executed: if the system is up and running almost 24/7, then
should suffice, otherwise, the installation of anacron
recommended. Moreover the Internet link must be working, while the cron job is
run. Finally, the APT package lists should be kept up-to-date.
-s severities , --severity severities
- Filter (and sort) bugs by severity, showing only the bugs
matching specified values. List the bug severities that you want to see,
separated by commas and in the desired order. Possible values are
critical, grave, serious, important,
normal, minor, wishlist, or the special value
all to disable filtering. Default: critical,grave,serious.
The default list may be changed by setting the
AptListbugs::Severities configuration option.
-T tags , --tag tags
- Filter bugs by tags, showing only the bugs matching all
specified values. List the tags that you want to see, separated by commas.
Default: no filter. Possible values include confirmed,l10n to show
only bugs that have both these tags.
-S states , --stats states
- Filter (and sort) bugs by pending-state, showing only the
bugs matching specified values. List the pending-state categories that you
want to see, separated by commas and in the desired order. Default:
pending,forwarded,pending-fixed,fixed,done. Possible values are:
pending (open bug), forwarded (marked as
"forwarded"), pending-fixed (tagged as
"pending"), fixed (tagged as "fixed"),
absent (not found in this distribution/architecture), done
(resolved in some version for this distribution/architecture). Note that a
bug can only match one such state (when multiple conditions on this list
match, the later one takes priority), and that pending does not
mean "tagged as pending".
-B bug# , --bugs bug#
- Filter bugs by number, showing only the bugs directly
specified. List the bug numbers that you want to see, separated by commas
(e.g. 123456,567890,135792). Default: no filter.
- Show bugs of downgraded packages. (apt mode only)
-H hostname , --hostname hostname
- Specifies the hostname of the Debian Bug Tracking System.
Default: bugs.debian.org .
-p port , --port port
- Specifies the port number of the web interface of the
Debian Bug Tracking System. Default: 80.
-P priority , --pin-priority priority
- Specifies Pin-Priority value. Default: 30000.
-E title , --title title
- Specifies the title of RSS output.
- Don't display progress bar. This option is assumed if
stdout is not a terminal.
-C apt.conf , --aptconf apt.conf
- Specifies the APT configuration file to use.
- When in apt mode, assumes that you want to automatically
pin all buggy packages without any prompt. This option is assumed if
stdout is not a terminal, unless the -N command-line option is
- When in apt mode, never automatically pin any package
without prompt. This is the default behavior, as long as stdout is a
- Assumes that you select yes for all questions. When in apt
mode, this implies that you accept to continue with the
installation/upgrade, even when bugs are found or errors occur.
- Assumes that you select no for all questions. When in apt
mode, this implies that you want to abort the installation/upgrade, as
soon as bugs are found or errors occur. This option is assumed if stdout
is not a terminal, unless the -y command-line option is used.
- Give extra debug output, important for debugging problems.
Please include -d when reporting problems.
- Print usage help and exit.
- Print version number and exit.
- Reads package actions from a file descriptor specified in
the $ APT_HOOK_INFO_FD environment variable (typically provided by
APT or other compatible package manager; Pre-Install-Pkgs hook info
protocol version 3 is expected - see apt.conf(5) for more
list [ package [: arch ][/ version ] ...]
- Reads package names from the arguments and simply lists
bugs of these packages. Package versions may be specified with a slash, as
in apt/1.0 for example. Package architectures may be specified with
a colon, as in apt:amd64 or apt:amd64/1.0 (but please note
that the Debian Bug Tracking System does not distinguish the
architectures, hence the same bugs will be listed, regardless of the
rss [ package [: arch ][/ version ] ...]
- Reads package names from the arguments and lists bugs of
these packages in RSS format. Again, package versions may be specified
with a slash and architectures with a colon.
- If this variable is set to "none",
apt-listbugs will not execute at all; this might be useful if you
would like to script the use of a program that calls
- If $http_proxy is set, the value is used for HTTP
Proxy, unless proxy settings are found in APT configuration (see
- File descriptor from which package actions will be read
(APT or other compatible package managers are expected to write
information to this file descriptor and to properly set this environment
understands APT configuration file (see apt.conf
for more details). The notable configuration options are
- Default HTTP Proxy setting (overrides any
$http_proxy environment variable value). An empty string or the
special keyword "DIRECT" will disable proxy.
- Automatic HTTP Proxy discovery (overrides the default HTTP
Proxy setting and any $ http_proxy environment variable value). It
can be used to specify an external command that is expected to output the
proxy on stdout.
- Specific HTTP Proxy setting (overrides any other proxy
setting). Useful for setting HTTP proxy for apt-listbugs. The
special keyword "DIRECT" will disable proxy.
- Default (comma-separated) list of bug severities to be
shown. When this option is not set, the list is
"critical,grave,serious", unless explicitly altered by using the
-s command-line option. On the other hand, when this option is set,
the list of severities is its value, unless explicitly altered by using
the -s command-line option.
- Bugs to ignore when in apt mode. This is evaluated using
Ruby regular expressions: if the bug title matches, the bug is ignored.
Default: nothing. A possible suggested value is "FTBFS", since
those bugs tend to not affect the user.
- Maximum number of packages to be queried (on the Debian Bug
Tracking System) in a single batch. Default value is 200. The query
operation is performed in batches of at most QueryStep packages,
for performance reasons; setting a lower value may slow down
apt-listbugs, but may increase reliability on poor network
- Maximum number of bug reports to be queried (on the Debian
Bug Tracking System) and parsed in a single batch. Default value is 200.
The query and parse operation is performed in batches of at most
ParseStep bugs, for performance reasons; setting a lower value may
slow down apt-listbugs, but may increase reliability on poor
[bug severity] bugs of [package] ([current version] -> [package version to be installed]) <[state of bug report]>
[bN] - [#bug] - [bug title] [(Fixed: fixed version, if it's fixed in a future version)]
[package]([number of] bugs)
important bugs of apt-listbugs (0.0.47 -> 0.0.49) <Outstanding>
b1 - #332442 - apt-listbugs: Apt-listbugs doesn't actually download any bug reports
b2 - #389903 - apt-listbugs: Does not offer to exit if timeout occurs fetching reports
- If the program ran successfully and (when in apt mode) you
decided to continue with the installation/upgrade. Or otherwise, if a
SIGUSR1 was received (for instance because you issued the command
killall -USR1 apt-listbugs).
- If an error occurred.
- If the program ran successfully in apt mode, but you
decided to abort the installation/upgrade.
- If a SIGINT was received (for instance because you pressed
N.B.: When the program is invoked by APT, any non-zero exit status will cause
the installation/upgrade to be aborted.
- Version preferences file fragment for APT managed by
apt-listbugs: this is where the package pins are added by the
apt-listbugs program and removed by its daily cron job. This file
is managed automatically and there's normally no need to modify it by
- Automatic list of bug numbers to be ignored by
apt-listbugs: this is where the program saves the bug numbers that
the user decided to ignore. This file is managed automatically and there's
normally no need to modify it by hand.
- User list of bug numbers and packages to be ignored by
apt-listbugs: this is where the (root) user may manually add bug
numbers or package names that apt-listbugs will ignore. This file
is only read by apt-listbugs, but never modified: the (root) user
has to edit it by hand. The format is: one bug number or package name per
line; lines whose first non-blank character is '#' are treated as comments
and skipped entirely.
- Configuration file fragment for APT containing options
related to apt-listbugs: this is the recommended place where the
(root) user may tweak the behavior of apt-listbugs, but usually no
customization is required.
2002 - 2004: apt-listbugs
was originally written by Masato Taruishi
2006 - 2008: Junichi Uekawa <firstname.lastname@example.org> rewrote it to handle BTS
Versioning features and the SOAP interface. The --bugs
option was added
by Francesco Poli in 2008.
2009 - 2010: apt-listbugs
was maintained by Francesco Poli
<email@example.com> and Ryan Niebur <firstname.lastname@example.org>
2011 - 2012: maintenance was carried on by Francesco Poli and Thomas Mueller
2013 - present day: apt-listbugs
has been maintained by Francesco Poli.
The latest source code is available from