Provided by: multistrap_2.1.6ubuntu3_all bug

Nom

       multistrap - multiple repository bootstraps

Synopsis

       multistrap [-a ARCH] [-d RÉPERTOIRE] -f FICHIER_CONFIG multistrap [--simulate] -f
       FICHIER_CONFIG multistrap -?|-h|--help|--version

Options

       -?|-h|--help|--version - output the help text and exit successfully.

       --dry-run - examine tous les paramètres de configuration et génère un bref sommaire.

       --simulate - identique à --dry-run

       (Les options suivantes peuvent également être définies dans le fichier de configuration.)

       -a|--arch - architecture of the packages to put into the multistrap.

       -d|--dir - directory into which the bootstrap will be installed.

       -f|--file - configuration file for multistrap [required]

       --tidy-up - supprimer les données du cache d'apt, les fichiers Packages téléchargés et le
       cache des paquets apt. Identique à cleanup=true.

       --no-auth - autoriser l'utilisation de dépôts non authentifiés. Identique à noauth=true

       --source-dir DIR - move the contents of var/cache/apt/archives/ from inside the chroot to
       the specified external directory, then add the Debian source packages for each used
       binary. Same as retainsources=DIR If the specified directory does not exist, nothing is
       done. Requires --tidy-up in order to calculate the full list of source packages, including
       dependencies.

Description

       multistrap provides a debootstrap-like method based on apt and extended to provide support
       for multiple repositories, using a configuration file to specify the relevant suites,
       architecture, extra packages and the mirror to use for each bootstrap.

       Le but est de créer un système de fichiers racine / bootstrap complet avec tous les
       paquets installés et configurés, plutôt que de créer uniquement le système de base.

       Exemple de configuration :

        [General]
        arch=armel
        directory=/opt/multistrap/
        # same as --tidy-up option if set to true
        cleanup=true
        # same as --no-auth option if set to true
        # keyring packages listed in each bootstrap will
        # still be installed.
        noauth=false
        # extract all downloaded archives (default is true)
        unpack=true
        # whether to add the /suite to be explicit about where apt
        # needs to look for packages. Default is false.
        explicitsuite=false
        # aptsources is a list of sections to be used
        # the /etc/apt/sources.list.d/multistrap.sources.list
        # of the target. Order is not important
        aptsources=Debian
        # the bootstrap option determines which repository
        # is used to calculate the list of Priority: required packages
        # and which packages go into the rootfs.
        # The order of sections is not important.
        bootstrap=Debian

       [Debian]
        packages=
        source=http://ftp.uk.debian.org/debian
        keyring=debian-archive-keyring
        suite=lenny

       This will result in a completely normal debootstrap of Debian lenny from the specified
       mirror, for armel in '/opt/multistrap/'. (This configuration is retained in the package as
       /usr/share/multistrap/lenny.conf)

       Specify a package to extend the multistrap to include that package and all dependencies of
       that package.

       Specify more repositories for the bootstrap by adding new sections. Section names need to
       be listed in the bootstrap general option for the packages to be included in the
       bootstrap.

       Specify which repositories will be available to the final system at boot by listing the
       section names in the aptsources general option, e.g. to exclude some internal sources or
       when using a local mirror when building the rootfs.

       La casse des lettres n'est pas importante dans les noms de section.

       All dependencies are resolved only by apt, using all bootstrap repositories, to use only
       the most recent and most suitable dependencies. Note that multistrap turns off Install-
       Recommends so if the multistrap needs a package that is only a Recommended dependency, the
       recommended package needs to be specified in the packages line explicitly. See "Explicit
       suite specification" for more information on getting specific packages from specific
       suites.

       'Architecture' and 'directory' can be overridden on the command line. Some other general
       options also have command line options.

Repositories

       "aptsources" liste les sections qui devraient être utilisées pour créer le
       /etc/apt/sources.list.d/multistrap.list apt sources du système final. Tous les
       "aptsources" ne doivent pas obligatoirement apparaître dans la section "bootstrap" s'il y
       a des sources internes ou locales inaccessible par le système de fichiers racine installé.

       "bootstrap" liste les sections qui seront utilisées pour créer le multistrap lui-même.
       Seul les paquets listés dans "bootstrap" seront téléchargés et dépaquetés par multistrap.

       Il faut s'assurer que "bootstrap" liste toutes les sections nécessaires afin que apt
       puisse trouver tous les paquets devant être dépaqueté pour le multistrap.

       (Older versions of multistrap supported the same option under the "debootstrap" name -
       this spelling is still supported but new configuration files should be "bootstrap"
       instead.

Paramètres généraux :

       'arch' can be overridden on the command line using the "--arch" option.

       'directory' specifies the top level directory where the bootstrap will be created - it is
       not packed into a .tgz once complete.

       'bootstrap' lists the Sections which will be used to specify the packages which will be
       downloaded (and optionally unpacked) into the bootstrap.

       'aptsources' lists the Sections which will be used to specify the apt sources in the final
       system, e.g. if you need to use a local repository to generate the rootfs which will not
       be available to the device at runtime, list that section in "bootstrap" but not in
       "aptsources".

       If you want a package to be in the rootfs, it must be specified in the "bootstrap" list
       under General.

       The order of section names in either list is not important.

       As with debootstrap, multistrap will continue after errors, as long as the configuration
       file can be correctly parsed.

       multistrap implémente également le support pour les variantes machines utilisé
       initialement dans Emdebian Crush, bien que pour une implémentation différente. Using the
       cascading configuration support, particular machine:variant combinations can be supported
       by simple changes on the command line.

       Définir "tarballname" à vraie empaquette également le système de fichiers final dans un
       tarball.

       Note that multistrap ignores any unrecognised options in the config file - this allows for
       backwards-compatible behaviour as well as overloading the multistrap config files to
       support other tools (like pbuilder). Use the "--simulate" option to see the combined
       configuration settings.

Section settings

       [Debian]
        packages=
        source=http://ftp.uk.debian.org/debian
        keyring=debian-archive-keyring
        suite=lenny

       The section name (in [] brackets) needs to be unique for this configuration file and any
       configuration files which this file includes. Section names are case insensitive (all
       comparisons happen after conversion to lower case).

       'packages' is the list of packages to be added when this Section is listed in "bootstrap".

       'source' is the apt source to use for this Section. (To use a local source on the same
       machine, ensure you use "copy://" not "file://", so that apt is told to copy the packages
       into the rootfs instead of assuming it can try to download them later - because that
       "later" will never actually happen.

       'keyring' lists the package which contains the key used by the source listed in this
       Section. If no keyring is specified, the "noauth" option must be set to true. See Secure
       Apt.

       'suite' is the suite to use from this source. Note that this must be the suite, not the
       codename.

       Suites change from time to time: (oldstable, stable, testing, sid)  The codename (etch,
       lenny, squeeze, sid) does not change.

Apt sécurisé

       To use authenticated apt repositories, multistrap either needs to be able to install an
       appropriate keyring package from the existing apt sources outside the multistrap
       environment or have the relevant keys already configured using apt-key on the host system.

       Si ces paquets existent, spécifiez-les dans l'option 'keyring' pour chaque dépôt.
       multistrap vérifiera alors que apt a déjà installé ce paquet :  ainsi le dépôt pourra être
       authentifié avant de télécharger des paquets.

       Note that all repositories to be used with multistrap must be authenticated or apt will
       fail. Similarly, secure apt can only be disabled for all repositories (by using the
       --no-auth command line option or setting the general noauth option in the configuration
       file), even if only one repository does not have a suitable keyring available. Not all
       packages need keyring packages, if you configure apt-key appropriately.

       Les paquets de trousseau de clés seront également installés à l'intérieur de
       l'environnement du multistrap pour correspondre avec les sources apt installés du
       multistrap.

       Toute configuration de apt-key doit être faite pour la machine exécutant multistrap.

État

       multistrap est sans-état - si le répertoire existe, il procédera tout simplement de
       manière ordinaire et apt essaiera de reprendre là où il s'était arrêté.

Root Filesystem Configuration

       multistrap décompresse les paquets téléchargés, mais d'autres étapes de la configuration
       du système ne sont pas tentées. Les exemples incluent :

        /etc/inittab
        /etc/fstab
        /etc/hosts
        /etc/securetty
        /etc/modules
        /etc/hostname
        /etc/network/interfaces
        /etc/init.d
        /etc/dhcp3

       Any device-specific device nodes will also need to be created using MAKEDEV or
       "device-table.pl" - a helper script that can work around some of the issues with MAKEDEV.
       device-table.pl requires a device table file along the lines of the one in the mtd-utils
       source package. See /usr/share/doc/multistrap/examples/device_table.txt

       Une fois que multistrap a réussi à créer la structure de base pour les fichiers et les
       répertoires, d'autres scripts spécifiques aux périphériques sont nécessaires avant que le
       système de fichiers puisse être installé sur le périphérique cible.

       Une fois installés, les paquets doivent eux-mêmes être configurés en utilisant les scripts
       du responsable du paquet et "dpkg --configure -a", à moins qu'il ne s'agisse d'un
       multistrap natif.

       Pour que "dpkg" puisse fonctionner, /proc et /sysfs doivent être montés (ou être
       montables), /dev/pts est également recommandé.

       Voir aussi : http://wiki.debian.org/Multistrap

Environnement

       Pour configurer les paquets dépaquetés (que ce soit en mode croisé ou natif), certaines
       variables d'environnements sont nécessaires :

       Il est nécessaire de signaler à Debconf que l'interaction utilisateur n'est pas
       souhaitée :

        DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true

       Il est nécessaire de signaler à Perl qu'aucune locales n'est disponible l'intérieur du
       chroot et de ne pas se plaindre :

        LC_ALL=C LANGUAGE=C LANG=C

       Puis, dpkg peut configurer les paquets :

       méthode chroot (PATH = le répertoire de base du chroot) :

        DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \
        LC_ALL=C LANGUAGE=C LANG=C chroot /PATH/ dpkg --configure -a

       dans un interpréteur de commandes de connexion :

        # export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
        # export LC_ALL=C LANGUAGE=C LANG=C
        # dpkg --configure -a

       (Comme ci-dessus, dpkg a besoin que /proc et /sysfs soient montés en premier.)

mode natif - multistrap

       multistrap n'était pas prévu pour le mode natif, il fut développé pour la gestion de
       plusieurs architectures. Pour que de multiples dépôts puissent être utilisés, multistrap
       dépaquette uniquement les paquets sélectionnés par apt.

       En mode natif, diverses opérations post-multistrap que debootstrap ferait pour vous sont
       probablement nécessaires :

       1. copiez /etc/hosts dans le chroot
        2. nettoyez l'environnement pour détruire LANGUAGE, LC_ALL and LANG
           pour passer sous silence les nuisances des avertissements cachant d'autres erreurs

       (Une alternative pour détruire les variables de localisation est d'ajouter locales à votre
       fichier de configuration multistrap dans l'option « packages ».

       Un multistrap natif peut être directement utilisé avec chroot, ainsi "multistrap" exécute
       "dpkg --configure -a" à la fin du processus du multistrap.

Configuration en cascade

       Pour assurer les multiples variantes d'une configuration de base, "multistrap" permet
       d'inclure des fichiers de configuration (plus généraux) dans des fichiers de
       configuration. C'est-à-dire que le fichier de configuration le plus spécifique/détaillé
       doit être spécifié à la ligne de commande et ce fichier inclut un fichier qui est partagé
       avec d'autres configurations.

       Fichier de base :

        /usr/share/multistrap/crosschroot.conf

       Variations :

        /usr/share/multistrap/armel.conf

       En spécifiant uniquement le fichier armel.conf, le reste des paramètres sera obtenu à
       partir du fichier crosschroot.conf afin que les modifications communes ne doivent être
       réalisées que dans un seul fichier.

       Il est fortement recommandé pour toutes modifications dans les fichiers de configuration
       impliqués dans n'importe quelle cascade de les tester avec l'option "--simulate"de
       multistrap qui produira en sortie un résumé des options définies une fois la cascade
       effectuée. Il faut noter que multistrap n'avertit pas si un fichier de configuration
       contient une option non reconnue (afin d'assurer la compatibilité future avec les
       configurations rétroportées). Ainsi une simple faute de frappe peut être à l'origine d'une
       option non définie.

Support des variantes de Machines

       Toutes les anciennes variables de packages.conf de emsandbox peuvent être converties en
       variables de configuration "mulistrap". L'assistance des variantes machines dans
       "multistrap" se concentre sur les scripts, config.sh et setup.sh

       Once "multistrap" has unpacked the downloaded packages, the "setup.sh" can be called,
       passing the location and architecture of the root filesystem, so that other fine tuning
       can take place. At this stage, any operations inside the rootfs must not try to execute
       any binaries within the rootfs. As the final stage of the multistrap process, "config.sh"
       is copied into the root directory of the rootfs.

       Un des avantages d'utiliser le support des variantes machines est que la totalité du
       système de fichiers racine peut être géré par un seul appel à multistrap - ceci est utile
       lors de la création de systèmes de fichiers racines dans l'espace utilisateur.

       Pour permettre le support des variantes machines, il faut spécifier le chemin vers les
       scripts devant être appelés dans le fichier de configuration variant (Section Générale) :

        [General]
        include=/path/to/general.conf
        setupscript=/path/to/setup.sh
        configscript=/path/to/config.sh

Restriction de la sélection des paquets

       "multistrap" inclut les paquets requis par défaut, la liste actuelle des paquets peut être
       visualisée en utilisant :

        grep-available  -FPriority 'required' -sPackage

       Si l'option OmitRequired est définie à vraie, ces paquets ne seront pas ajoutés - bien
       qu'utile, cette option peut facilement conduire à un rootfs inutile. Seuls les paquets
       spécifiés manuellement dans les fichiers de configuration seront utilisés dans les calculs
       - les dépendances de ces paquets seront également ajoutées mais aucun autres.

       Packages with Priority: important or standard are never included by "multistrap" unless
       specifically included in a "packages=" option in a section specified in the "bootstrap"
       general option.

Recommends behaviour

       The Debian default behaviour after the Lenny release was to consider recommended packages
       as extra packages to be installed when any one package is selected. Recommended packages
       are those which the maintainer considers that would be present on "most" installations of
       that package and allowing Recommends means allowing Recommends of recommended packages and
       so on.

       The multistrap default is to turn recommends OFF.

       Set the allowrecommends option to true in the General section to use typical Debian
       behaviour.

Explicit suite specification

       Sometimes, apt needs to be told to get a particular package from a particular suite,
       ignoring a more recent version in another suite in the same set of sources.

       "multistrap" can operate with and without the explicit suite option, the default is to let
       apt use the most recent version from the collection of specified bootstrap sources.

       Explicit suite specification has no effect on the final installed system - if your
       aptsources includes a repository which in turn includes a newer version of the package(s)
       specified explicitly, the next "apt-get upgrade" on the device will bring in the newer
       version.

       Also, when specifying packages to get from a specific suite, apt will also try and ensure
       that the dependencies for that package are also from the same suite and this can cause apt
       to be unable to resolve the complete set of dependencies. In this situation, being
       explicit about one package selection may require being explicit about some (not
       necessarily all) of the dependencies of that package as well.

       When using this support in Lenny, ensure that each section uses the suite (oldstable,
       stable, testing, sid) and not the codename (etch, lenny, squeeze, sid) in the "suite"
       configuration item as the version of apt in Lenny and previous cannot use the codename.

       To test, on Lenny, try:

        $ sudo apt-get install apt/stable

       Compare with

        $ sudo apt-get install apt/lenny

Omitting deb-src listings

       Some multistrap environments do not need access to the Debian sources of packages being
       installed, typically this is required when preparing a build (or cross-build) chroot using
       multistrap.

       To turn off this additional source (and save both download time and apt-cache size), use
       the omitdebsrc field in each Section.

        [Baked]
        packages=
        source=http://www.emdebian.org/baked
        keyring=emdebian-archive-keyring
        suite=testing
        omitdebsrc=true

fakeroot

       Foreign architecture bootstraps can operate under "fakeroot" ("multistrap" is designed to
       do as much as it can within a single call to make this easier) but the configuration stage
       which normally happens with a native architecture bootstrap requires "chroot" and "chroot"
       itself will not operate under "fakeroot".

       Therefore, if "multistrap" detects that "fakeroot" is in use, native mode configuration is
       skipped with a reminder warning.

       The same problem applies to "apt-get install" and therefore the installation of the
       keyring package on the host system is also skipped if fakeroot is detected.