Provided by: multistrap_2.0.4_all bug

Nome

       em_multistrap - estende o debootstrap para suporte a múltiplos
       repositórios

Sinopse

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

Opções

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

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

Descrição

       em_multistrap disponibiliza um método parecido ao debootstrap baseado
       em apt e estendido para disponibilizar suporte para múltiplos
       repositórios, usando um ficheiro de configuração para especificar os
       conjuntos relevantes, arquitectura, pacotes extra e o mirror a usar
       para cada debootstrap.

       O objectivo é criar um debootstrap completo com todos os pacotes
       instalados e configurados, e vez de apenas o sistema base.

       Exemplo de configuração:

        [General]
        arch=armel
        directory=/opt/multistrap/
        # igual à opção --tidy-up se definida para true
        cleanup=true
        # igual à opção --no-auth se definida para true
        # pacotes chaveiro listados em cada debootstrap serão
        # na mesma instalados.
        noauth=false
        # extrai todos os arquivos descarregados (predefinição é true)
        unpack=true
        # aptsources é uma lista de secções para ser usada na descarga de pacotes
        # e listas e é colocada em /etc/apt/sources.list.d/multistrap.sources.list
        # do destino. A ordem não é importante
        aptsources=Grip Updates
        # a ordem das secções não é importante.
        # a opção debootstrap determina qual o repositório
        # é usado para calcular a lista de Prioridade: pacotes requeridos.
        debootstrap=Debian

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

       Isto irá resultar num debootstrap completamente normal de Debian lenny
       a partir do mirror especificado, para armel em ’/opt/multistrap/’.

       Especifica um pacote para estender o multistrap para incluir esse
       pacote e todas as dependências.

       Especifica mais debootstraps ao adicionar novas secções. Os nomes das
       secções são usados na opção geral do debootstrap.

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

       ex. change

        debootstrap=Debian

       para

        debootstrap=Grip

       depois adicione a nova secção para o Grip:

        [Grip]
        packages=locales
        keyring=emdebian-archive-keyring
        source=http://www.emdebian.org/grip
        suite=lenny

       Definir Grip em vez de Debian na opção do debootstrap, como em cima,
       irá disponibilizar um sistema base a partir de Emdebian Grip 1.0 e
       localizar quaisquer dependências em falta em Debian 5.0 Lenny,
       permitindo-lhe adicionar quaisquer pacote(s) que precise de Debian e
       que não estão ainda em Emdebian Grip.

       Todas as dependências são resolvidas apenas pelo apt, usando todos os
       repositórios configurados, para usar apenas as dependências mais
       recentes e apropriadas. Note que o multistrap desliga a Install-
       Recommends portanto se o multistrap precisar de um pacote que é apenas
       uma dependência ’Recommended’, o pacote recomendado precisa de ser
       especificado explicitamente na linha de pacotes.

       ’Architecture’ e ’directory’ podem ser sobrepostas na linha de
       comandos. Outras opções gerais têm opções de linha de comandos, excepto
       o próprio debootstrap.

Definições gerais:

       ’directory’ especifica o directório de nível de topo onde o debootstrap
       irá ser criado - não é empacotado em um .tgz depois de completo.

       Tal como acontece com o debootstrap, em_multistrap irá continuar após
       erros.

       em_multistrap actualmente não implementa o suporte a machine:variant
       usado em Emdebian mas o directório de compilação não é empacotado no
       fim da execução, portanto outros scripts podem ser usados para
       implementar personalizações.

Segurança do Apt

       Para usar repositórios apt autenticados, o multistrap ou precisa de ser
       capaz de instalar um pacote chaveiro apropriado a partir das fontes apt
       existentes *fora do ambiente multistrap* ou ter as chaves relevantes já
       configuradas usando apt-key *na máquina do sistema*.

       Se os pacotes relevantes existirem, especifique-os na opção ’keyring’
       para cada repositório. em_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 que *todos* os repositórios a serem usados com multistrap têm que
       ser autenticados ou o apt irá falhar. De modo semelhante, secure apt só
       pode ser desactivado para todos os repositório (usando a opção de linha
       de comandos --no-auth ou definindo a opção geral noauth no ficheiro de
       configuração), mesmo que apenas um repositório não tenha disponível um
       chaveiro apropriado. Nem todos os pacotes precisam de um pacote
       chaveiro, se você configurar o apt-key apropriadamente.

       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

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

Configuração

       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

       Quaisquer nós de dispositivo para dispositivos específicos terão também
       que ser criados usando o MAKEDEV.

       Após o multistrap ter criado com sucesso a disposição básica de
       ficheiros e 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 um 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

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