Provided by: multistrap_2.1.6ubuntu3_all bug

Nome

       multistrap - multiple repository bootstraps

Sinopse

        multistrap [-a ARQUITECTURA] [-d DIRECTÓRIO] -f FICHEIRO_CONFIGURAÇÃO
        multistrap [--simulate] -f FICHEIRO_CONFIGURAÇÃO
        multistrap -?|-h|--help|--version

Opções

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

       --dry-run - recolhe todas as definições de configuração e gera um
       sumário a descoberto.

       --simulate - o mesmo que --dry-run

       (As seguintes opções também podem ser definidas no ficheiro de
       configuração.)

       -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 - remove dados da cache do apt, ficheiros de pacotes
       descarregados e a cache de pacotes do apt. O mesmo que cleanup=true.

       --no-auth - permite o uso de repositórios não autenticados. O mesmo que
       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.

Descrição

       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.

       O objectivo é criar um sistema de ficheiros bootstrap / raiz completo
       com todos os pacotes instalados e configurados, em vez de apenas o
       sistema base.

       Exemplo de configuração:

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

       Os nomes das secções são insensíveis a maiúsculas/minúsculas.

       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" lista as secções que devem ser usadas para criar as
       /etc/apt/sources.list.d/multistrap.list sources do apt no sistema
       final. Nem todas as "aptsources" têm de aparecer na secção "bootstrap"
       se você tiver algumas sources internas ou locais que não estão
       acessíveis ao sistema de ficheiros raiz instalado.

       "bootstrap" lista as secções que serão usadas para criar o próprio
       multistrap. Apenas os pacotes listados em "bootstrap" serão
       descarregados e desempacotados pelo multistrap.

       Certifica que "bootstrap" lista todas as secções que precisa para o apt
       ser capaz de encontrar todos os pacotes a serem desempacotados para o
       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.

Definições gerais:

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

       O multistrap também implementa o suporte a machine:variant usado
       originalmente em Emdebian Crush, apesar de ser uma implementação
       diferente. Usando o suporte de configuração em cascata, podem ser
       suportadas combinações particulares de machine:variant através de
       alterações simples na linha de comandos.

       Definir "tarballname" para verdadeiro também empacota o sistema de
       ficheiros final num 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.pt.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.

Segurança do Apt

       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.

       Se existirem pacotes relevantes, especifique-os na opção 'keyring' para
       cada repositório. O multistrap irá então verificar se o apt já instalou
       este pacote para que o repositório possa ser autenticado antes que
       quaisquer pacotes sejam descarregados dele.

       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.

       O(s) pacote(s) chaveiro (keyring) serão também instalados dentro do
       ambiente multistrap para coincidir com as fontes apt instaladas para o
       multistrap.

       Todas as configurações do apt-key precisam ser feitas para a máquina
       correndo o próprio multistrap.

Estado

       O multistrap não tem estado - se o directório existir, irá simplesmente
       prosseguir como normalmente e o apt irá tentar prosseguir de onde
       ficou.

Root Filesystem Configuration

       o multistrap desempacota os pacotes descarregados mas não serão
       tentados outros estágios da configuração do sistema. Os exemplos
       incluem:

        /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

       Após o multistrap ter criado com sucesso a disposição básica de
       ficheiros e oesquema de directórios, são necessários outros scripts
       específicos do dispositivo antes que o sistema de ficheiros possa ser
       empacotado e instalado no dispositivo de destino.

       Após instalados, os próprios pacotes precisam de ser configurados
       usando os scripts do responsável do pacote e "dpkg --configure -a", a
       menos que isto seja um multistrap nativo.

       Para que o "dpkg" funcione, /proc e /sysfs precisam de estar montados
       (ou serem montáveis), também é recomendado /dev/pts.

       Veja também: http://wiki.debian.org/Multistrap

Ambiente

       Para configurar os pacotes desempacotados (seja em modo nativo ou
       cruzado), são necessárias certas variáveis de ambiente:

       O debconf precisa que lho digam para aceitar que a interacção com o
       utilizador não é desejada:

        DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true

       O Perl precisa que lho digam para aceitar que não há locales
       disponíveis dentro da chroot e não se queixar:

        LC_ALL=C LANGUAGE=C LANG=C

       Depois, o dpkg pode configurar os pacotes.

       método de chroot (PATH = directório de topo da chroot):

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

       numa shell de login:

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

       (Como em cima, o dpkg precisa de /proc e /sysfs montados primeiro.)

Modo nativo - multistrap

       o multistrap não foi destinado a suporte nativo, foi desenvolvido para
       suporte a compilação de outras arquitecturas. De modo a se usar
       múltiplos repositórios, o multistrap apenas desempacota os pacotes
       seleccionados pelo apt.

       Em modo nativo, é provável serem necessárias várias operações post-
       multistrap que o debootstrap faria por si:

        1. copiar /etc/hosts para a chroot
        2. limpar o ambiente para apagar as variáveis LANGUAGE, LC_ALL e LANG
           para silenciar avisos sem sentido do perl que escondem outros erros

       (Uma alternativa a apagar as variáveis de localização é adicionar
       locales ao seu ficheiro de configuração multistrap na opção
       'packages').

       Um multistrap nativo pode ser usado directamente com a chroot, de modo
       a que "multistrap" corra "dpkg --configure -a" no final do processo
       multistrap.

Configuração em cascata

       Para suportar múltiplas variantes duma configuração básica (comum),
       "multistrap" permite ficheiros de configuração para incluir outros
       ficheiros de configuração (mais gerais). Isto é, o ficheiro de
       configuração mais detalhado / específico é especificado na linha de
       comandos e esse ficheiro inclui outro ficheiro que é partilhado por
       outras configurações.

       Ficheiro base:

        /usr/share/multistrap/crosschroot.conf

       Variações:

        /usr/share/multistrap/armel.conf

       Especificar apenas o ficheiro armel.conf irá obter o resto das
       definições de crosschroot.conf para que as alterações comuns só
       precisem ser feitas num único ficheiro.

       É fortemente recomendado que quaisquer modificações nos ficheiros de
       configuração envolvidas em qualquer cascata particular sejam testadas
       usando a opção "--simulate" do multistrap o que irá gerar um sumário
       das opções que foram definidas após a cascata estar completa. Note que
       o multistrap não o avisa se um ficheiro de configuração conter uma
       opção não reconhecida (para compatibilidade futura com configurações
       backport), portanto um simples erro de escrita pode resultar numa opção
       não definida.

Suporte a Machine:variant

       As variáveis packages-conf antigas de emsandbox podem ser convertidas
       em variáveis de configuração "multistrap". O suporte a machine:variant
       em "multistrap" concentra-se nos scripts config.sh e 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.

       Uma vantagem de usar suporte a machine:variant é que o sistema de
       ficheiros raiz completo pode ser gerido por uma única chamada ao
       multistrap - isto é útil quando se constrói sistemas de ficheiros raiz
       no espaço do utilizador.

       Para activar suporte a machine:variant, especifique o caminho para os
       scripts a serem chamados no ficheiro de configuração de variantes
       (secção General):

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

Restringindo a selecção de pacotes

       "multistrap" inclui os pacotes necessários (Required) por predefinição,
       a lista actual de pacotes pode ser vista usando:

        grep-available  -FPriority 'required' -sPackage

       Se a opção OmitRequired for definida para true, estes pacotes não serão
       adicionados - embora útil, esta opção pode levar facilmente a um rootfs
       inútil. Apenas os pacotes especificados manualmente nos ficheiros de
       configuração serão usados nos cálculos - as dependências desses pacotes
       serão adicionadas mas mais nenhuns.

       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.