DEBCONF-APT-PROGRESS(1)
๐ DEBCONF-APT-PROGRESS ๐
okay bestie, so this is the debconf-apt-progress manual page, section 1, from the Debconf crew ๐ซถ. It's the little script that makes package installs look cute with an actual progress bar instead of just... silence. Let's get into it โจ
๐ธ NAME ๐ธ
debconf-apt-progress โ install packages using debconf to display a progress bar ๐
โจ SYNOPSIS โจ
debconf-apt-progress [--] command [args ...]
debconf-apt-progress --config
debconf-apt-progress --start
debconf-apt-progress --from waypoint --to waypoint [--] command [args ...]
debconf-apt-progress --stop
๐ DESCRIPTION ๐
So debconf-apt-progress installs packages using debconf to show a progress bar, literally that's its whole thing ๐ซ
The command you hand it should be, like, any command-line apt frontend. But here's the catch, bestie โ it must send progress info to the file descriptor that's selected by the "APT::Status-Fd" config option, and it must keep the file descriptors nominated by the "APT::Keep-Fds" config option open when it invokes debconf (whether directly or indirectly), because those file descriptors are gonna be used for the debconf passthrough protocol. No pressure or anything ๐
And like, the arguments you give to that command should generally include -y (for apt-get or aptitude) or something similar, so the apt frontend doesn't stop and prompt you for input mid-glow-up. debconf-apt-progress can't do that part itself because the right argument might be totally different depending on which apt frontend you're using, and it's not gonna guess ๐
The --start, --stop, --from, and --to options are how you build a progress bar with multiple segments for different stages of installation โ but only if the caller is a debconf confmodule. The caller can also mess with the progress bar itself using the debconf protocol if it wants to, no judgment ๐
Now here's the messy part: debconf locks its config database when it starts up, which makes it unfortunately inconvenient to have one debconf instance showing the progress bar while another one is passing through questions from the packages being installed. Ugh, I know. So if you're doing a multiple-segment progress bar, you'll need to eval the output of the --config option before starting the debconf frontend, to work around that whole situation. See "EXAMPLES" in the EXAMPLES section below for the recipe ๐
๐ OPTIONS ๐
--configโ prints out the environment variables you need to start up a progress bar frontend. It's giving setup โจ--startโ starts up a progress bar, running from0to100by default. Wanna use other endpoints? That's what--fromand--toare for, babe.--fromwaypoint โ if you use it with--start, the progress bar begins at waypoint instead of0. Otherwise, it installs packages with their progress bar starting at this "waypoint", and in that case it must be used with--to. Periodt.--towaypoint โ if you use it with--start, the progress bar ends at waypoint instead of100. Otherwise, it installs packages with their progress bar ending at this "waypoint", and then it must be used with--from. Non-negotiable ๐--stopโ stops a running progress bar. Bye bestie ๐--no-progressโ avoids starting, stopping, or stepping the progress bar. But don't worry, progress messages from apt, media change events, and debconf questions still get passed through to debconf. Nothing gets lost, just no bar ๐--dlwaypointpercentage โ tells it what percent of the progress bar to use for downloading packages; the remainder goes to installing them. The default is15%for downloading and the remaining85%for installing. Math queen behavior ๐--logfilefile โ sends the normal output from apt to the given file. Very demure, very mindful.--logstderrโ sends the normal output from apt to stderr instead. And heads up: if you supply neither--logfilenor--logstderr, the normal output from apt just gets discarded. Gone. Poof. ๐ญ--โ terminates options. And you will usually need this, because you normally have to give at least the-yargument to the command being run, and without--that would get interpreted as an option todebconf-apt-progressitself instead. So like, use it. Fr fr ๐ซถ
๐ฆ EXAMPLES ๐ฆ
Install the GNOME desktop and an X window system development environment, all inside 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:
#! /bin/sh
set -e
case $1 in
'')
eval "$(debconf-apt-progress --config)"
"$0" debconf
;;
debconf)
. /usr/share/debconf/confmodule
debconf-apt-progress --start
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
debconf-apt-progress --stop
;;
esac
๐ RETURN CODE ๐
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 instead.
But wait, plot twist ๐ญ โ to avoid any ambiguity, if the command itself returned 30, then a value of 3 will be returned. Ik, ik, it's a whole thing.
๐ง AUTHORS ๐ง
- Colin Watson
<cjwatson@debian.org> - Joey Hess
<joeyh@debian.org>
and that's the whole page, bestie ๐ This one's from the Debconf source, dated 2026-02-16, and it's DEBCONF-APT-PROGRESS(1) โ you're all caught up, go install something cute ๐๐ซถโจ
๐ฆ where this page comes from
- ubuntu resolute: debconf 1.5.92 ยท BSD-2-Clause
- ubuntu stonking: debconf 1.5.92 ยท BSD-2-Clause
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms