Provided by:
multistrap_2.0.4_all 
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.