# phpman > man > debconf-apt-progress(1)

[DEBCONF-APT-PROGRESS(1)](https://www.chedong.com/phpMan.php/man/DEBCONF-APT-PROGRESS/1/markdown)                        Debconf                       [DEBCONF-APT-PROGRESS(1)](https://www.chedong.com/phpMan.php/man/DEBCONF-APT-PROGRESS/1/markdown)



## 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
       **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](https://www.chedong.com/phpMan.php/perldoc/APT%3A%3AStatus/markdown)-Fd" configuration option, and
       must keep the file descriptors nominated by the "[APT::Keep](https://www.chedong.com/phpMan.php/perldoc/APT%3A%3AKeep/markdown)-Fds" configuration option open
       when invoking debconf (directly or indirectly), as those file descriptors will be used for
       the debconf passthrough protocol.

       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.

## OPTIONS
### --config
           Print environment variables necessary to start up a progress bar frontend.

### --start
           Start up a progress bar, running from 0 to 100 by default. Use **--from** and **--to** to use
           other endpoints.

       **--from** _waypoint_
           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**.

       **--to** _waypoint_
           If used with **--start**, make the progress bar end at _waypoint_ rather than 100.

           Otherwise, install packages with their progress bar ending at this "waypoint". Must be
           used with **--from**.

### --stop
           Stop a running progress bar.

### --no-progress
           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.

       **--dlwaypoint** _percentage_
           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 installing.

       **--logfile** _file_
           Send the normal output from apt to the given file.

### --logstderr
           Send the normal output from apt to stderr. If you supply neither **--logfile** nor
           **--logstderr**, the normal output from apt will be discarded.

       **--**  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-apt-progress** itself.

## EXAMPLES
       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:

        #! /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. To avoid
       ambiguity, if the command returned 30, a value of 3 will be returned.

## AUTHORS
       Colin Watson <<cjwatson@debian.org>>

       Joey Hess <<joeyh@debian.org>>



                                             2022-02-20                      [DEBCONF-APT-PROGRESS(1)](https://www.chedong.com/phpMan.php/man/DEBCONF-APT-PROGRESS/1/markdown)
