base-config is the program that was run when you first rebooted into your newly
installed debian system. It walks you through setting up the system and
downloading additional software, and so forth. The program can be run at
any later date to walk you through essentially the same process again.
IMPLEMENTATION
base-config generates a menu of choices from the contents of
/usr/lib/base-config/ , and from debconf templates.
The .mnu files in /usr/lib/base-config/ control whether the menu item
appears only on new installs (Only-New: true), whether debconf can already
be running when the item is run (Debconf: true), a numeric Order controls
placement in the menu. If a .mnu file contains "Exit-Menu: true", then
base-config will terminate after running that menu item. Finally, a
"Changes-Menu: true" line will make base-config rebuild the menu after
running the menu item.
The .tst files in /usr/lib/base-config/ are run when base-config builds
the menu and must return true for that menu item to appear on the menu.
The menu items are taken from debconf, by looking for items in the debconf
database named base-config/menu/whatever.
When a menu item is selected, the corresponding program, in
/usr/lib/base-config is run. If this is a fresh install onto a new
debian system, the program receives "new" as its first argument.
base-config checks the return codes of each of the programs. If a program returns
nonzero, the main menu is displayed (this may involve lowering the
debconf priority).
Generally the user is advanced down the menu from item to item as each
succeeds. If a menu item needs to jump back to a previous item in the menu,
or skip over a subsequent item, it can write the name of the next menu item
to show to the file "jump-to" in the current directory.
FILES
Every base-config run is logged to
/var/log/base-config.log . /var/log/base-config.timings contains timing information to go with the log. This allows replays of
base-config runs using the
replay(1) utility.
/var/log/debian-installer/cdebconf , if it exists, is used by
base-config on new installs to get values from the debian-installer first stage
install.
Other packages can drop files into
/usr/lib/base-config/ , and add menu titles in debconf, and they will be added to the menu. It
is very strongly encouraged that any such programs communicate with the user
entirely via debconf, so that the base configuration maintains a consistent
and professional look.
Another useful thing for custom distributions is
/usr/share/base-config/debconf-seed. If that directory exists, every file
in it will be loaded into the debconf database using
debconf-set-selections (1) If the file /var/log/debian-installer/debconf-seed is created by the
debian-installer, it will also be loaded into the debconf database.
ENVIRONMENT
The following environment variables influence
base-config . These variables may be set at run time, or for new installs, may be
passed to the kernel at the
lilo(8) (or other bootloader) command line. Consult your boot loader's
documentation for details. For example, lilo can be booted with something
like "linux DEBIAN_FRONTEND=readline".
By default,
base-config deletes the debs that
debootstrap(8) used to install the system. This is useful on very low disk installs.
If you don't want that to be done, and prefer that the debs be kept, set this
variable to "yes".