DEBOOTSNAP(1)

NAME
debootsnap - create debian chroot using snapshot.debian.org

DESCRIPTION
usage: debootsnap [-h] [--architecture ARCHITECTURE] [--ignore-notfound]

    [--cache CACHE] [--port PORT] [--nocache] (--buildinfo BUILDINFO | --packages PACKAGES) [--sources-list-only | output]

Combines debootstrap and snapshot.debian.org to create a chroot tarball with exact package versions from the past either to reproduce bugs or to test source package reproducibility.

To obtain a list of packages run the following command on one machine:

    $ dpkg-query --showformat '${binary:Package}=${Version}\n' --show

And pass the output to debootsnap with the --packages argument. The result will be a chroot tarball with precisely the package versions as they were found on the system that ran dpkg-query.

  positional arguments:

output
    path to output chroot tarball

  options:

-h, --help
    show this help message and exit

--architecture, --nativearch ARCHITECTURE
    native architecture of the chroot. Ignored if --buildinfo is used. Foreign architectures are inferred from the package list. Not required if packages are architecture qualified.

--ignore-notfound
    only warn about packages that cannot be found on snapshot.debian.org instead of exiting

--cache CACHE
    cache directory -- by default $TMPDIR is used

--port PORT
    manually choose port number for the apt cache instead of automatically choosing a free port

--nocache
    disable cache

--buildinfo BUILDINFO
    use packages from a buildinfo file. Read buildinfo file from standard input if value is "-".

--packages, --pkgs PACKAGES
    list of packages, optional architecture and version, separated by comma or linebreak. Read list from standard input if value is "-". Read list from a file if value starts with "./" or "/". The option can be specified multiple times. Package name, version and architecture are separated by one or more characters that are not legal in the respective adjacent field. Leading and trailing illegal characters are allowed. Example: pkg1:arch=ver1,pkg2:arch=ver2

--sources-list-only
    only query metasnap.debian.net and print the sources.list needed to create chroot and exit

EXAMPLES
On one system run:

    $ dpkg-query --showformat '${binary:Package}=${Version}\n' --show > pkglist

Then copy over "pkglist" and on another system run:

    $ debootsnap --pkgs=./pkglist > ./chroot.tar

Or use a buildinfo file as input:

    $ debootsnap --buildinfo=./package.buildinfo > ./chroot.tar

A tarball of a chroot with precisely the requested package versions then be found in the file `./chroot.tar`.