DEBOOTSTRAP(8)

NAME
debootstrap - Bootstrap a basic gNewSense or Trisquel system

SYNOPSIS
debootstrap [OPTION...] SUITE TARGET [MIRROR [SCRIPT]] debootstrap [OPTION...] --second-stage

DESCRIPTION
debootstrap bootstraps a basic gNewSense or Trisquel system of SUITE into TARGET from MIRROR by running SCRIPT. MIRROR can be an http:// or https:// URL, a file:/// URL, or an ssh:/// URL.

The SUITE may be a release code name (eg, gnewsense, trisquel) or a symbolic name (eg, parkes, flidas, belenos)

Notice that file:/ URLs are translated to file:/// (correct scheme as described in RFC1738 for local filenames), and file:// will not work. ssh://USER@HOST/PATH URLs are retrieved using scp; use of ssh-agent or similar is strongly recommended.

Debootstrap can be used to install gNewSense or Trisquel in a system without using an installation disk but can also be used to run a different gNewSense or Trisquel flavor in a chroot environment. This way you can create a full (minimal) gNewSense or Trisquel installation which can be used for testing purposes (see the EXAMPLES section). If you are looking for a chroot system to build packages please take a look at pbuilder.

OPTIONS

--arch=ARCH
    Set the target architecture (use if dpkg isn't installed). See also --foreign.

--include=alpha,beta
    Comma separated list of packages which will be added to download and extract lists.

--exclude=alpha,beta
    Comma separated list of packages which will be removed from download and extract lists. WARNING: you can and probably will exclude essential packages, be careful using this option.

--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.

--variant=minbase|buildd|fakechroot|scratchbox
    Name of the bootstrap script variant to use. Currently, the variants supported are minbase, which only includes essential packages and apt; buildd, which installs the build-essential packages into TARGET; and fakechroot, which installs the packages without root privileges. Finally there is variant scratchbox, which is for creating targets for scratchbox usage. The default, with no --variant=X argument, is to create a base gNewSense or Trisquel installation in TARGET.

--keyring=KEYRING
    Override the default keyring for the distribution being bootstrapped, and use KEYRING to check signatures of retrieved Release files.

--no-check-gpg
    Disables checking gpg signatures of retrieved Release files.

--verbose
    Produce more info about downloading.

--print-debs
    Print the packages to be installed, and exit. Note that a TARGET directory must be specified so 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.

--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.

--unpack-tarball=FILE
    Acquire .debs from tarball FILE instead of downloading via http.

--make-tarball=FILE
    Instead of bootstrapping, make a tarball (written to FILE) of the downloaded packages. The resulting tarball may be passed to a later --unpack-tarball.

--debian-installer
    Used for internal purposes by the debian-installer

--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

--certificate=FILE
    Use the client certificate stored in file (PEM)

--private-key=FILE
    Read the private key from file

EXAMPLES

To setup a parkes system:

     debootstrap parkes ./parkes-chroot http://archive.gnewsense.org/gnewsense-three/gnewsense

     debootstrap parkes ./parkes-chroot file:///LOCAL_MIRROR/gnewsense

To setup a flidas system:

     debootstrap flidas ./flidas-chroot http://archive.trisquel.info/trisquel

     debootstrap flidas ./flidas-chroot file:///LOCAL_MIRROR/trisquel

Full process to create a complete gNewSense installation of parkes in a chroot:

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

Full process to create a complete Trisquel installation of flidas in a chroot:

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

AUTHOR
debootstrap was written by Anthony Towns <ajt@debian.org>. This manpage was written by Matt Kraai <kraai@debian.org>. gNewSense and Trisquel rebranding was written by André Silva <emulatorman@parabola.nu>.