DEBOOTSTRAP(8)

๐Ÿ’– DEBOOTSTRAP ๐Ÿ’–

okay bestie, welcome to the debootstrap page from the Debian GNU/Linux manual โ€” section 8, system administration era. buckle up, she's iconic โœจ


๐ŸŒธ NAME ๐ŸŒธ

debootstrap โ€” bootstrap a basic Debian system. that's it, that's the whole vibe. she builds you a baby Debian from scratch ๐Ÿผ๐Ÿ’œ


โœจ SYNOPSIS โœจ

debootstrap [OPTION...]  SUITE TARGET [MIRROR [SCRIPT]]

debootstrap [OPTION...]  --second-stage

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so debootstrap bootstraps a basic Debian system of SUITE into TARGET from MIRROR by running SCRIPT. like, it literally sets up a whole Debian system for you, no cap.

MIRROR can be an http:// or https:// URL, a file:/// URL, or an ssh:/// URL. pick your fighter ๐Ÿ’…

the SUITE can be a release code name (eg, sid, stretch, jessie) or a symbolic name (eg, unstable, testing, stable, oldstable).

โš ๏ธ heads up: file:/ URLs are translated to file:/// โ€” that's the correct scheme per RFC1738 for local filenames, iykyk โ€” and file:// will not work. ssh://USER@HOST/PATH URLs get retrieved using scp; using ssh-agent or something similar is strongly recommended fr fr.

debootstrap can be used to install Debian on a system without using an installation disk, but it can also be used to run a different Debian flavor in a chroot environment. the way that works?? you can create a full (minimal) Debian installation which can be used for testing purposes โ€” see the EXAMPLES section bestie. and if you're looking for a chroot system to build packages, please go take a look at pbuilder. not us. them. ๐Ÿซถ


๐ŸŽ€ OPTIONS ๐ŸŽ€

  • --arch=ARCH โ€” set the target architecture (use this if dpkg isn't installed). see also --foreign. ๐Ÿ‘‘
  • --include=alpha,beta โ€” comma separated list of packages which will be added to the download and extract lists.
  • --exclude=alpha,beta โ€” comma separated list of packages which will be removed from the download and extract lists. > โš ๏ธ WARNING: you can and probably will exclude essential packages, be careful using this option. not me making that mistake ๐Ÿ™ˆ
  • --extra-suites=alpha,beta โ€” also use packages from the listed suites of the archive.
  • --components=alpha,beta โ€” use packages from the listed components of the archive.
  • --no-resolve-deps โ€” by default, debootstrap will attempt to automatically resolve any missing dependencies, warning if any are found. note that this is not a complete dependency resolve in the sense of dpkg or apt, and that it is far better to specify the entire base system than rely on this option. with this option set, this behaviour is disabled.
  • --log-extra-deps โ€” if you want to record additional dependencies when resolving package dependencies, set this option to track them through debootstrap.log. ๐Ÿ“
  • --variant=minbase|buildd|fakechroot โ€” name of the bootstrap script variant to use. currently, the variants supported are minbase, which only includes required packages and apt; buildd, which installs the build-essential packages; and fakechroot, which installs the packages without root privileges. the default, with no --variant=X argument, is to create a base Debian installation with all packages of priority required and important, including apt.
  • --merged-usr โ€” create /{bin,sbin,lib}/ symlinks pointing to their counterparts in /usr/. (default for most variants and suites.) ๐ŸŒˆ
  • --no-merged-usr โ€” do not create /{bin,sbin,lib}/ symlinks pointing to their counterparts in /usr/. (default for the buildd variant of Debian 12 bookworm or older, and all variants of Debian 9 stretch or older.)
  • --keyring=KEYRING โ€” override the default keyring for the distribution being bootstrapped, and use KEYRING to check signatures of retrieved Release files. ๐Ÿ”
  • --no-check-sig โ€” disables checking OpenPGP signatures of retrieved Release files. supported since 1.0.139.
  • --no-check-gpg โ€” deprecated alias for --no-check-sig. ๐Ÿ‘ต (she's old, be nice)
  • --force-check-sig โ€” forces checking OpenPGP Release file signatures, disabling automatic fallback to HTTPS in case of a missing keyring. incompatible with the previous option. supported since 1.0.139.
  • --force-check-gpg โ€” deprecated alias for --force-check-sig.
  • --verbose โ€” produce more info about downloading. she's chatty and we love that ๐Ÿ—ฃ๏ธ
  • --print-debs โ€” print the packages to be installed, and exit. note that an empty or non-existing TARGET directory must be specified so that debootstrap can download Packages files to determine which packages should be installed, and to resolve dependencies. the TARGET directory will be deleted unless --keep-debootstrap-dir is specified. ๐Ÿ’€
  • --download-only โ€” download packages, but don't perform installation. window shopping fr.
  • --foreign โ€” do the initial unpack phase of bootstrapping only, for example if the target architecture does not match the host architecture. a copy of debootstrap sufficient for completing the bootstrap process will be installed as /debootstrap/debootstrap in the target filesystem. you can run it with the --second-stage option to complete the bootstrapping process.
  • --second-stage โ€” complete the bootstrapping process. other arguments are generally not needed.
  • --second-stage-target=DIR โ€” run second stage in a subdirectory instead of root. (can be used to create a foreign chroot) (requires --second-stage)
  • --keep-debootstrap-dir โ€” don't delete the /debootstrap directory in the target after completing the installation. hoarding, but make it valid ๐ŸŽ€
  • --cache-dir=DIR โ€” cache .deb files under directory. it should be an absolute path.
  • --unpack-tarball=FILE โ€” acquire .debs from gzipped tarball FILE (specified with absolute path) instead of downloading via HTTP(S).
  • --make-tarball=FILE โ€” instead of bootstrapping, make a gzipped tarball (written to FILE) of the downloaded packages. the resulting tarball may be passed to a later --unpack-tarball. note that an empty or non-existing TARGET directory must be specified so that debootstrap can download packages to prepare the tarball. the TARGET directory will be deleted unless --keep-debootstrap-dir is specified. ๐Ÿ’€โœจ
  • --debian-installer โ€” used for internal purposes by the debian-installer. don't touch, she's busy ๐Ÿšง
  • --extractor=TYPE โ€” override automatic .deb extractor selection to TYPE. supported extractors are: dpkg-deb and ar.
  • --no-check-certificate โ€” do not check certificate against certificate authorities.
  • --ca-certificate โ€” verify the server against the certificate stored in file (PEM).
  • --certificate=FILE โ€” use the client certificate stored in file (PEM).
  • --private-key=FILE โ€” read the private key from file. ๐Ÿคซ
  • --inrelease-path โ€” determine the path to the InRelease file of the suite relative to the normal position of an InRelease file.

๐ŸŒˆ EXAMPLES ๐ŸŒˆ

to setup a stretch system:

debootstrap stretch ./stretch-chroot http://deb.debian.org/debian

debootstrap stretch ./stretch-chroot file:///LOCAL_MIRROR/debian

full process to create a complete Debian installation of sid (unstable) in a chroot โ€” the whole ritual, bestie:

main # debootstrap sid sid-root http://deb.debian.org/debian/
[ ... watch it download the whole system ]
main # echo "proc sid-root/proc proc defaults 0 0" >> /etc/fstab
main # mount proc sid-root/proc -t proc
main # echo "sysfs sid-root/sys sysfs defaults 0 0" >> /etc/fstab
main # mount sysfs sid-root/sys -t sysfs
main # cp /etc/hosts sid-root/etc/hosts
main # chroot sid-root /bin/bash

๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

debootstrap was written by Anthony Towns <ajt@debian.org>. this manpage was written by Matt Kraai <kraai@debian.org>. legends only ๐Ÿซก


and that's the whole page, bestie!! this came to you from the Debian Project, dated 2001-04-27, and she's still serving looks in DEBOOTSTRAP(8) ๐Ÿ’…โœจ go forth and bootstrap, you've got this ๐Ÿ’–

๐Ÿ“ฆ where this page comes from