debconf-apt-progress - install packages using debconf to display a
debconf-apt-progress [--] command [args ...]
debconf-apt-progress --from waypoint --to waypoint [--] command [args ...]
debconf-apt-progress installs packages using debconf to display a
progress bar. The given command should be any command-line apt
frontend; specifically, it must send progress information to the file
descriptor selected by the "APT::Status-Fd" configuration option, and
must keep the file descriptors nominated by the "APT::Keep-Fds"
configuration option open when invoking debconf (directly or
indirectly), as those file descriptors will be used for the debconf
The arguments to the command you supply should generally include -y
(for apt-get or aptitude) or similar to avoid the apt frontend
prompting for input. debconf-apt-progress cannot do this itself because
the appropriate argument may differ between apt frontends.
The --start, --stop, --from, and --to options may be used to create a
progress bar with multiple segments for different stages of
installation, provided that the caller is a debconf confmodule. The
caller may also interact with the progress bar itself using the debconf
protocol if it so desires.
debconf locks its config database when it starts up, which makes it
unfortunately inconvenient to have one instance of debconf displaying
the progress bar and another passing through questions from packages
being installed. If you’re using a multiple-segment progress bar,
you’ll need to eval the output of the --config option before starting
the debconf frontend to work around this. See "EXAMPLES" in the
EXAMPLES section below.
Print environment variables necessary to start up a progress bar
Start up a progress bar, running from 0 to 100 by default. Use
--from and --to to use other endpoints.
If used with --start, make the progress bar begin at waypoint
rather than 0.
Otherwise, install packages with their progress bar beginning at
this "waypoint". Must be used with --to.
If used with --start, make the progress bar end at waypoint rather
Otherwise, install packages with their progress bar ending at this
"waypoint". Must be used with --from.
Stop a running progress bar.
Avoid starting, stopping, or stepping the progress bar. Progress
messages from apt, media change events, and debconf questions will
still be passed through to debconf.
Specify what percent of the progress bar to use for downloading
packages. The remainder will be used for installing packages. The
default is to use 15% for downloading and the remaining 85% for
Send the normal output from apt to the given file.
Send the normal output from apt to stderr. If you supply neither
--logfile nor --logstderr, the normal output from apt will be
-- Terminate options. Since you will normally need to give at least
the -y argument to the command being run, you will usually need to
use -- to prevent that being interpreted as an option to debconf-
Install the GNOME desktop and an X window system development
environment within a progress bar:
debconf-apt-progress -- aptitude -y install gnome x-window-system-dev
Install the GNOME, KDE, and XFCE desktops within a single progress bar,
allocating 45% of the progress bar for each of GNOME and KDE and the
remaining 10% for XFCE:
case $1 in
eval "$(debconf-apt-progress --config)"
debconf-apt-progress --from 0 --to 45 -- apt-get -y install gnome
debconf-apt-progress --from 45 --to 90 -- apt-get -y install kde
debconf-apt-progress --from 90 --to 100 -- apt-get -y install xfce4
The exit code of the specified command is returned, unless the user hit
the cancel button on the progress bar. If the cancel button was hit, a
value of 30 is returned. To avoid ambiguity, if the command returned
30, a value of 3 will be returned.
Colin Watson <firstname.lastname@example.org>
Joey Hess <email@example.com>