Loading

NOM

       multistrap - bootstraps multi-dépôts

SYNOPSIS

       multistrap [-a ARCH] [-d REPERTOIRE] -f FICHIER_CONFIG
       multistrap [--simulate] -f FICHIER_CONFIG
       multistrap -?|-h|--help|--version

       multistrap fournit  une méthode similaire à  debootstrap(8),  basée sur
       apt & Co., afin de prendre en charge de multiples dépôts.  A cette fin,
       multistrap  utilise  un  fichier  de configuration  où  sont  spécifiés
       les architectures,  les paquets supplémentaires,  le miroir  à utiliser
       par bootstrap, etc.

       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.

OPTIONS

       -?|-h|--help|--version - affiche l'aide.

       --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 des paquets à inclure dans le multistrap.

       -d|--dir - répertoire dans lequel le bootstrap sera installé.

       -f|--file - fichier de configuration pour le multistrap [requis].

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

DEPOTS

       "aptsources" liste les sections qui devraient être utilisées pour créer
       le /etc/apt/sources.list.d/multistrap.list aptsources 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
       inaccessibles par le système de fichiers racine install.

       "bootstrap" liste les sections  qui  seront  utilisées  pour  créer  le
       multistrap lui-même.  Seuls les paquets lists  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és
       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.

PARAMETRES GENERAUX

       '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ées 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.

       Positionner "tarballname" à true (vrai) 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.

SECTIONS

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

       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(8) 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
       installs du multistrap.

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

ETAT

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

CONFIGURATION DU SYSTEME DE FICHIER ROOT

       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(1)  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 locale n'est disponible
       à l'intérieur du chroot et de ne pas se plaindre :

        LC_ALL=C LANGUAGE=C LANG=C

       Puis, dpkg(1) 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 afin de dé-positionner  LANGUAGE, LC_ALL et
          LANG  ;  ceci   pour   neutraliser  des  nuisances  de  Perl   (trop
          d'avertissements,   qui  de  fait  cachent  d'autres  erreurs   plus
          significatives).

       (Une possibilité pour dé-positionner les variables de localisation  est
       d'ajouter  des informations "locales"  à votre fichier de configuration
       multistrap dans l'option "packages")

       Un multistrap natif peut être directement utilisé avec chroot, afin que
       multistrap   exécute  "dpkg --configure -a"   à  la  fin  du  processus
       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 "multistrap".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 SELECTION 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 à true (vrai), 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 autre.

       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.

COMPORTEMENT QUANT AUX PAQUETS RECOMMANDES

       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.

CHOIX DE PAQUET EXPLICITE

       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

OMETTRE LES LISTES deb-src

       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(1)
       (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(8) 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.

VOIR AUSSI

       debootstrap(8),  apt(8), apt-get(8),  dpkg(1),  debconf(1), debconf(7),
       chroot(8), fakeroot(1), sudo(8)

       http://wiki.debian.org/Multistrap