DEBOOTSNAP(1)
β¨ DEBOOTSNAP β¨
okay so hi bestie π this is debootsnap, a User Commands girly from section 1 of the manual, and she is literally the moment. she makes debian chroots out of snapshot.debian.org and she is so mother for that π
πΈ NAME πΈ
debootsnap β create a debian chroot using snapshot.debian.org
π DESCRIPTION π
so like, the usage is giving:
usage: debootsnap [-h] [--architecture ARCHITECTURE] [--ignore-notfound]
[--cache CACHE] [--port PORT] [--nocache] (--buildinfo BUILDINFO
| --packages PACKAGES) [--sources-list-only | output]
lowkey iconic.</pη΄«θ²> okay so what she does is she 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. time travel but make it apt π°οΈβ¨
to obtain a list of packages, run this on one machine:
$ dpkg-query --showformat '${binary:Package}=${Version}\n' --show
and then you pass that output to debootsnap with the --packages argument. the result? a chroot tarball with precisely the package versions as they were found on the system that ran dpkg-query. no cap, she ate. π«Ά
π positional arguments
outputβ path to output chroot tarball
π¦ options
-h,--helpβ show this help message and exit β¨--architecture,--nativearchARCHITECTURE β native architecture of the chroot. ignored if--buildinfois 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 onsnapshot.debian.orginstead of exiting π--cacheCACHE β cache directory β by default$TMPDIRis used--portPORT β manually choose port number for the apt cache instead of automatically choosing a free port π--nocacheβ disable cache--buildinfoBUILDINFO β use packages from a buildinfo file. read the buildinfo file from standard input if the value is"-". π--packages,--pkgsPACKAGES β 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 querymetasnap.debian.netand print thesources.listneeded to create the chroot, then exit πβοΈ
bestie, heads up:--buildinfoand--packagesare in a little|situation in the usage line, and--sources-list-onlyis chillin' in an|withoutputtoo. the brackets are doing the work, iykyk π
π 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 can then be found in the file ./chroot.tar. π
and that's the whole vibe, bestie. go forth and reproduce those bugs πβ¨
this was debootsnap version 2.26.11ubuntu1, dated September 2026 β mwah, xoxo, take care of her π«Άπ
π¦ where this page comes from
- ubuntu stonking: devscripts 2.26.11ubuntu1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms