container-build-debconf - Build an advanced Debian based container with debconf
Contents
Contact
Bug reports, feature requests, help, patches, support and everything else are welcome on the Open
Infrastructure Software Mailing List < <software@lists.open-infrastructure.net> >.
Debian specific bugs can also be reported in the Debian Bug Tracking System ( <https://bugs.debian.org>
).
Description
The debconf container build script uses debconf(1) to automatically build a Debian based container.
Scope
Note that this container build script can do a few things more than just automatically debootstrap based
on a preseed file. It also allows you to set a root password, configure the network, install certain
packages and execute hooks.
But: this is not a replacement for a configuration management system (like ansible, puppet, etc.). The
intenion of this script is to build the initial container to that extend that a configuration management
system can take over.
As an analogy, think of debian-installer: d-i sets up your system to make it ready to boot and connect to
the network. Everything after that is out of scope. Same goes for this script.
Functions
This script performs the following configuration on top of a Debian based system:
• network
• root password
• apt repositories
• ...
Modes
This container build script can be used under two different names: debian and progress-linux.
Alternative, calling it under the debconf name is equal to the debian mode.
Preseeding
Hierarchy of Preseed Files:
• The debconf script can be fully preseeded. Such preseed files can include one or more preseed files
themselfs (currently, only one layer of includes is supported, no nested or recursive includes).
• The general rule of 'the later preseed file overwrites the earlier' applies. The debconf script
reads the main preseed file (specified either on command line or by debconf selection/input dialog)
after any included preseed files in there.
• That means that debconf values after the include statement in the main preseed file can overwrite
any values specified in the included preseed files.
Examples
Build a Debian based container:
sudo container build -s debian -n debian.example.net
Build a Progress Linux container:
sudo container build -s progress-linux -n progress.example.net
Files
The following files are used:
/etc/compute-tools/config:
Container configuration files.
/usr/share/compute-tools/build-scripts:
Container build scripts.
/usr/share/doc/compute-tools:
Container documentation.
/var/lib/machines:
Container directory.
/var/cache/container:
Container cache directory.
/tmp/compute-tools:
Container temporary directory.
Homepage
More information about compute-tools and the Open Infrastructure project can be found on the homepage (
<https://open-infrastructure.net> ).
Name
container-build-debconf - Build an advanced Debian based container with debconf
Options
The following script options are available:
-n,--name='NAME':
Specify container name.
-p,--preseed-file='FILE':
Specify the preseed file.
See Also
compute-tools(7), container(1).
Synopsis
containerbuild-sdebconf ['OPTIONS']
cntb-sdebconf ['OPTIONS']
containerbuild-sdebian ['OPTIONS']
cntb-sdebian ['OPTIONS']
containerbuild-sprogress-linux ['OPTIONS']
cntb-sprogress-linux ['OPTIONS']
