autopkgtest-build-lxc(1)

autopkgtest-build-lxc1

Create or update autopkgtest container for autopkgtest-virt-lxc

Usage

autopkgtest-build-lxc [--arch=architecture] [--keyring=path] [--script=path] distribution release

Deprecated form:

autopkgtest-build-lxc [options] distribution release architecture [script]

Overview

autopkgtest-build-lxc creates or updates an LXC container autopkgtest-release which is suitable for autopkgtest's LXC runner autopkgtest-virt-lxc(1).

It calls lxc-create with the distribution template (which can currently be debian or ubuntu) and -rrelease to build a debootstrap-like container, then enables deb-src apt sources, and runs apt-get update.

If the container already exists, it updates it as unintrusively as possible by first creating a new temporary container autopkgtest-release.new, and then rsyncing its root file system back to the existing autopkgtest-release. Note that this could cause some side-effects and breakage if you have running containers with ephemeral overlays (i. e. using the --ephemeral option), but it does work in general. This update process does not interfere at all if you use autopkgtest-virt-lxc with cloning.

Note that you need to call this as root, unless you set up LXC to allow per-user containers. But user containers will not work with many or even most autopkgtests.

Options

--arch=ARCH

Specify a dpkg architecture name. By default, the native architecture is used.

The third positional parameter is a deprecated way to specify this.

--keyring=KEYRING

Specify the path to a keyring used to verify the apt repository. By default, the choice of keyring will be left to debootstrap. This option is mainly useful for use with a Debian derivative in conjunction with the MIRROR environment variable.

--script=SCRIPT

Specify the path to a script to be executed inside the container to customize the container. The script must be a POSIX shell script, and should not depend on bash-specific features.

The fourth positional parameter is a deprecated way to specify this.

Environment

If the $AUTOPKGTEST_KEEP_APT_SOURCES environment variable is set to a non-empty value, autopkgtest-build-lxc will keep whatever /etc/apt/sources.list was created by lxc-create.

Otherwise, if the $AUTOPKGTEST_APT_SOURCES_FILE environment variable is set to a non-empty value, for example AUTOPKGTEST_APT_SOURCES_FILE=/home/me/mydistro/sources.list, then autopkgtest-build-lxc will read that file (on the host system) and use it to populate /etc/apt/sources.list in the container; or if the $AUTOPKGTEST_APT_SOURCES environment variable is set to a non-empty value, for example AUTOPKGTEST_APT_SOURCES=$(cat /home/me/mydistro/sources.list), autopkgtest-build-lxc will write it directly into /etc/apt/sources.list in the container.

When $AUTOPKGTEST_APT_SOURCES_FILE or $AUTOPKGTEST_APT_SOURCES contain sources in the deb822 format, then sources are written to /etc/apt/sources.list.d/<distro>.sources in the virtual container, rather than /etc/apt/sources.list.

You can specify an apt proxy to use in the container in the $AUTOPKGTEST_APT_PROXY environment variable. If you have an apt proxy configured on the host, the container will automatically use this, otherwise there is no default. In case you want to prevent your local proxy to be picked up you can specify UNCONFIGURED as the value for $AUTOPKGTEST_APT_PROXY.

Examples

# autopkgtest-build-lxc debian sid

$ sudo autopkgtest-build-lxc ubuntu trusty i386

Releases

5 releases since Debian 9 (Stretch); the text changed 2 times.

  1. 9–10
  2. 11–12
  3. 13

--arch since Debian 13 (Trixie); --keyring since Debian 13 (Trixie); --script since Debian 13 (Trixie).

From autopkgtest 5.49 in Debian 13 (Trixie). Parsed by carta from the page's man source.