debarchiver - Ferramenta para ordenar pacotes debian num arquivo
de pacotes
O debian archiver é uma ferramenta que instala pacotes
debian numa estrutura de ficheiros apropriada para apt-get, aptitude,
dselect e ferramentas semelhantes. Isto pode ser usado para actualizar o
sistema Debian. Destina-se a ser usado por administradores locais que
precisam de pacotes especiais, ou de versões especiais, para
facilitar a administração.
A estrutura de ficheiros é baseada na estrutura de
ficheiros de potato e não suporta pools de pacotes.
- -a | --autoscan
- Faz ambos --autoscanpackages e --autoscansources.
- --autoscanall
- O mesmo que --scanall --autoscan.
- --autoscanpackages
- Corre automaticamente dpkg-scanpackages após todos os novos pacotes
estarem instalados.
- --autoscansources
- Corre automaticamente dpkg-scansources após todos os novos pacotes
estarem instalados.
- -b | --bzip
- Cria ficheiros Packages.bz2 e Sources.bz2 comprimidos em bzip2.
- --cachedir
directório
- O directório de cache de pacotes do apt-ftparchive, se for usado
--index. A predefinição é
$cachedir.
- --cinstall
directório
- Para onde o ficheiro .changes será instalado. Em vez disso, use a
string vazia para remover o ficheiro .changes. A
predefinição é
$cinstall.
- --configfile
ficheiro
- Especifica um ficheiro de configuração extra para ler.
Será lido após a configuração de etc e
após ficheiros de configuração do utilizador.
- --copycmd
- O comando de instalação a usar onde a
predefinição é $copycmd.
Ambos pacotes e ficheiro de alterações são instalados
usando este comando.
- -d | --dest | --destdir
directório
- Directório de destino. O directório base onde todos os
pacotes da distribuição irão residir e onde a
estrutura de directório
$distrib/$major/$arch/$section será criada.
A predefinição é $destdir,
relativamente ao directório de entrada.
- --debug-level | --dl
nível
- Que informação deverá ser escrita. 1=critica, 2=erro,
3=normal, 4=mensagem, 5=depuração, 6=depuração
detalhada (módulos).
- --distinputcriteria
- O critério para que pacotes binários devem ser instalados
mesmo que eles não tenham um ficheiro .changes. A
predefinição é
$distinputcriteria.
- --gpgkey
- A chave GnuPG a usar para assinar o arquivo.
- --gpgpassfile
- O ficheiro que fornece a palavra passe para GnuPG.
- --help
- Escreve esta informação.
- -i | --input | --indir |
--inputdir directório
- Este é o directório onde o debarchiver irá procurar
por novas versões de pacotes e ficheiros *.changes correspondentes
que devem ser instalados no directório --dest. A
predefinição é $instdir.
- --ignoredestcheck
- Força a instalação do ficheiro .changes mesmo que
alguns ficheiros especificados no ficheiro .changes já existam com
tamanho ou hash md5 errados.
- --incompletetime
- O tempo para permitir ao ficheiro .changes estar incompleto em segundos. A
predefinição é 24 horas.
- --index | -x
- Corre automaticamente apt-ftparchive após todos os novos pacotes
estarem instalados. Use isto *ou* --autoscan, e não ambos.
- --instcmd
- DESCONTINUADO!
- --lockfile
ficheiro
- O lockfile a usar. A predefinição é
$lockfile.
- --mailcmd
- O comando a usar para enviar emails. O comportamento predefinido é
usar o comando sendmail. Você pode desactivar o envio de email ao
especificar o comando /bin/true.
- --mailformat
- Define o formato a ser usado para enviar emails, pelo comando especificado
por -mailfrom. Apenas os formatos 'sendmail' e 'mail' são
suportados. Por predefinição o debarchiver assume o formato
'sendmail'. O argumento pode ser um dos seguintes:
sendmail = uso do formato sendmail
mail = uso do formato mail
- --mailfrom
- Especificar o emissor de mail
- --majordefault
- Secção maior predefinida a usar. A
predefinição é 'main'.
- --movecmd
- Comando para mover ficheiros (actualmente não usado).
- --nosort
- Não ordena os pacotes.
- --nostructurefix
- Não cria directórios e não toca nos ficheiros
Package.
- -o | --addoverride
- Adiciona automaticamente os novos ficheiro ao ficheiro override.
- --quit-level
nível
- Em que nível terminar a aplicação, veja níveis
de depuração.
- --rmcmd
- O comando para remover a usar. A predefinição é
$rmcmd. Isto pode ser usado para afastar os
pacotes antigos para qualquer outro lugar.
- --scanall
- Examina todas as distribuições, secções,
etc.
- --scandetect |
-s
- Examina usando 'apt-ftparchive' ou 'dpkg-scan*' (dpkg-scanpackages e
dpkg-scansources) dependendo do que está instalado no sistema. Este
é o modo recomendado. Apenas use --index ou --autoscan se sabe
mesmo o que está a fazer.
- --scanonly
- O mesmo que --nosort --nostructurefix.
- -v | --version
- Escreve a string da versão.
você também pode colocar os ficheiros de
configuração com os seguintes nomes (na seguinte ordem)
/etc/debarchiver.conf, ~/.debarchiver.conf e input.conf (relativo ao
directório de entrada) que serão lidos antes dos argumentos
para este programa serem analisados. Nos ficheiros em cima você pode
mudar as seguintes variáveis.
Os ficheiros de configuração são lidos como
módulos perl e devem terminar com um valor verdadeiro. Assim sendo
eles devem sempre terminar com uma linha que declara '1;'.
- $bzip
- Se definido para 0 nenhum ficheiro bzip2 será gerado. Se definido
para 1 serão gerados ficheiros bzip2.
- $cachedir
- O directório de cache para o apt-ftparchive usar se --index for
usado.
- $cinstall
- Onde o ficheiro .changes é instalado (veja --cinstall em
cima).
- $copycmd
- O comando de instalação (veja --copycmd).
- $destdir
- O directório de destino (veja --destdir em cima).
- $distinputcriteria
- O critério para quais pacotes devem ser instalados mesmo que
não tenham um ficheiro .changes. A predefinição
é $distinputcriteria.
- %distinputdirs
- Directórios (distribuição => directório) a
serem sondados por pacotes binário extra que não precisam
que seja instalado um ficheiro .changes mas correspondem a
$distinputcriteria. A predefinição
é aceitar pacotes de kernel gerados pelo make-kpkg (o qual
não gera um ficheiro .changes). Adicionalmente, pacotes
binário com um ficheiro .changes válido terão a
distribuição predefinida alterada para ser o
directório de lista de espera actual. Isto causa uploads para uma
lista de espera específica para colocar o pacote directamente nessa
distribuição.
- $gpgkey
- A chave GnuPG a usar para assinar o arquivo. Se esta variável
estiver definida, o ficheiro Release para cada secção
alterada do arquivo será assinado com GnuPG usando
$gpgkey como o ID de chave. A menos que
você use uma chave que não tem frase-passe ou use
$gpgpassfile, você vai precisar de correr
debarchiver interactivamente quando usar esta opção
para que possa fornecer a frase-passe.
- $gpgpassfile
- O ficheiro que contém a frase-passe para a chave GnuPG. Veja
$gpgkey para mais informação.
- $ignoredestcheck
- Força a instalação do ficheiro .changes mesmo que
alguns ficheiros especificados no ficheiro .changes já existam com
tamanho ou hash md5 errados. Predefinição para 0 (não
ignora).
- $incompletetime
- O tempo para permitir aos ficheiros .changes estarem incompletos em
segundos. Útil para uploads lentos. A predefinição
é 24 horas.
- $inputdir
- O directório de entrada (nenhum efeito em
$inputconfigfile).
- $lockfile
- O lockfile a usar. A predefinição é
$lockfile.
- @mailtos
- Uma matriz de strings que irão receber emails. Se a string conter
um endereço de email, esse será usado. Se conter um
endereço de email incompleto, isto é,
@máquina, é usado o nome do
utilizador que é dono do ficheiro @ nome de máquina
especificado. Se nenhum caractere '@' for encontrado na string, é
considerado como um campo no ficheiro .changes. Tal campo pode por exemplo
ser Maintainer ou Uploaders.
- $mailformat
- O formato a usar para enviar emails (veja -mailformat em cima).
- $mailfrom
- Especifica o remetente dos emails. A predefinição é
nenhum ("").
- $majordefault
- Secção principal predefinida (veja --majordefault em
cima).
- $movecmd
- O comando de mover (veja --movecmd).
- %release
- Informação adicional para adicionar aos ficheiros Release
gerados. As chaves suportadas são 'origin', 'label', e
'description'.
- $rmcmd
- O comando de remover (veja --rmcmd em cima).
- $vrfycmd
- O comando verify. Descontinuado. Ainda funcional mas você é
aconselhado a definir @vrfycmd em vez deste pois
$vrfycmd deve ser removido em lançamentos
futuros.
- @vrfycmd
- O comando verify. Se a lista @vrfycmd estiver
vazia este é re-dirigido para a lista ($vrfycmd) antes do comando
verify ser executado. Isto foi feito assim por razões de
compatibilidade com versões anteriores.
- $verifysignatures
- Escolha para activar (1) ou desactivar (0) a verificação de
assinatura para pacotes enviados para $inputdir
(não %distinputdirs).
- $verifysignaturesdistinput
- Escolha para activar (1) ou desactivar (0) a verificação de
assinatura para pacotes enviados para
%distinputdirs. Isto funciona de modo independente
de $verifysignatures.
- $usermailcmd
- Permite ao utilizador dizer ao debarchiver para usar um comando
específico para enviar emails. Você pode querer
também especificar o formato de mail que o seu comando de mail
utiliza ao definir o valor da variável
$mailformat. Usando a opção
--mailcmd na linha de comandos irá sobrepor esta variável.
Você pode desactivar o envio de email ao especificar o comando
/bin/true.
Existem duas maneiras de gerar os índices onde o
apt-get se orienta.
Usar --autoscanpackages, --autoscansources, ou
--autoscan irá usar dpkg-scanpackages e
dpkg-scansources. Isto irá gerar os ficheiros Packages e
Sources, mas não irá gerar ficheiros Contents e pode ser lento
com um repositório grande.
Em alternativa, a opção --index config
irá chamar apt-ftparchive para indexar a árvore do
pacote. apt-ftparchive pode também gerar ficheiros Contents
(para usar com apt-file), e pode opcionalmente usar uma cache da
informação do pacote para acelerar múltiplas
execuções. O ficheiro de configuração do
apt-ftparchive será gerado automaticamente. No entanto isto
não está completamente testado.
Você deve usar ou --autoscanpackages e
--autoscansources ou --index, e não ambos, pois eles
fazem basicamente a mesma coisa.
A acção predefinida (e a recomendada) é
--scandetect que sonda por software instalado e usa a melhor
opção dependendo de qual software você tem instalado
(escolhe entre --index e --autoscan agora mesmo).
Os ficheiros Changes são rejeitados nas seguintes
condições:
* Um ficheiro que está prestes a ser instalado já existe no
arquivo e não é idêntico aquele que está prestes
a ser instalado.
* O ficheiro Changes está incompleto e tem estado assim durante o
tempo $incompletetime.
* Um ficheiro que é parte do ficheiro Changes ainda não
é suficientemente grande e o ficheiro changes esteve lá
durante o tempo $incompletetime.
* Um ficheiro que é parte do ficheiro Changes é maior que o
especificado.
* A verificação de assinaturas está activa e a
assinatura não condiz.
EXEMPLOS de cabeçalhos
Suponha que acabou de submeter um pacote para um
repositório com dput(1), e não quer esperar pelo
processo cron que o apanha. Você pode forçar o manuseamento
imediato do material chegado com este comando. A segunda opção
permite sobre-escrever ficheiros de arquivo existentes.
# debarchiver --scandetect --addoverride
Ola Lundqvist <ola@inguza.com>