sourCEntral - mobile manpages

pdf

APT−FTPARCHIVE

NOME

apt-ftparchive − Utilitário para gerar ficheiros de índice

SINOPSE

apt−ftparchive [−dsq] [−−md5] [−−delink] [−−readonly] [−−contents] [−−arch architecture] [−o=config_string] [−c=config_file] {packages path... [override−file [pathprefix]] | sources path... [override−file [pathprefix]] | contents path | release path | generate config_file section... | clean config_file | {−v | −−version} | {−h | −−help}}

DESCRIÇÃO

apt−ftparchive é a ferramenta de linha de comandos que cria os ficheiros índice que o APT usa para aceder a uma fonte de distribuição. Os ficheiros índice devem ser gerados no site de origem baseados no conteúdo desse site.

apt−ftparchive é um super conjunto do programa dpkg-scanpackages(1), incorporando todas as suas funcionalidades através do comando packages. Também contém um gerador de ficheiro de conteúdos, contents, e um meio elaborado de colocar em script o processo de geração para um arquivo completo.

Internamente o apt−ftparchive pode fazer uso de bases de dados binárias para por em cache os conteúdos de um ficheiro .deb e não precisa de nenhum programa externo à excepção do gzip(1). Quando faz uma geração completa, executa automaticamente verificações de alterações de ficheiros e constrói os ficheiros comprimidos desejados.

A menos que a opção −h, ou −−help seja fornecida, um dos comandos abaixo têm que estar presentes.

packages

O comando packages gera um ficheiro pacote a partir duma árvore de directórios. Recebe um dado directório e procura recursivamente por ficheiros .deb, emitindo um registo de pacote para o stdout por cada um. Este comando é aproximadamente equivalente ao dpkg-scanpackages(1).

A opção −−db pode ser usada para especificar uma base de dados de cache binária.

sources

O comando sources gera um índice de fonte a partir duma árvore de directórios. Recebe um dado directório e procura recursivamente por ficheiros .dsc, emitindo um registo de fonte para o stdout por cada um. Este comando é aproximadamente equivalente ao dpkg-scansources(1).

Se for especificado um ficheiro de sobreposição então será procurado um ficheiro de sobreposição de fonte com uma extensão de .src. A opção −−source−override pode ser usada para alterar o ficheiro de sobreposição de fonte que irá ser usado.

contents

O comandocontents gera um ficheiro de conteúdos a partir duma árvore de directórios. Recebe um dado directório e procura recursivamente por ficheiros .deb, e lê a lista de ficheiros de cada ficheiro. Então organiza e escreve para o stdout a lista de ficheiros correspondente a pacotes. Os directórios não são escritos no saída. Se múltiplos pacotes possuírem o mesmo ficheiro então cada pacote é separado por uma vírgula na saída.

A opção −−db pode ser usada para especificar uma base de dados de cache binária.

release

The release command generates a Release file from a directory tree. It recursively searches the given directory for uncompressed and compressed Packages, Sources, Contents, Components and icons files as well as Release, Index and md5sum.txt files by default (APT::FTPArchive::Release::Default−Patterns). Additional filename patterns can be added by listing them in APT::FTPArchive::Release::Patterns. It then writes to stdout a Release file containing (by default) an MD5, SHA1, SHA256 and SHA512 digest for each file.

Valores para os campos de metadados adicionais no ficheiro Release são tomados a partir das variáveis correspondentes sob APT::FTPArchive::Release, ex. APT::FTPArchive::Release::Origin. Os campos suportados são: Origin, Label, Suite, Version, Codename, Date, NotAutomatic, ButAutomaticUpgrades, Acquire−By−Hash, Valid−Until, Signed−By, Architectures, Components, Description.

generate

O comando generate é desenhado para ser executado a partir dum script cron e constrói índices de acordo com o ficheiro de configuração fornecido. A linguagem de configuração disponibiliza um meio flexível de de especificar quais ficheiros índice são construídos a partir de quais directórios, assim como disponibilizar um meio simples de manter as definições requeridas.

clean

O comando clean arruma as bases de dados usadas pelo ficheiro de configuração fornecido ao remover quaisquer registos que já não são necessários.

A CONFIGURAÇÃO DO GENERATE

O comando generate usa um ficheiro de configuração para descrever os arquivos que vão ser gerados. Segue o formato típico de configuração ISC como visto em ferramentas ISC como o bind 8 e dhcpd. apt.conf(5) contém uma descrição da sintaxe. Note que a configuração gerada é analisada de maneira seccional, mas o apt.conf(5) é analisado numa maneira de árvore. Isto apenas afecta o modo de como a etiqueta scope é manuseada.

A configuração do generate tem 4 secções separadas, cada uma descrita mais abaixo.

Secção Dir
A secção Dir define os directórios standard necessários para localizar os ficheiros requisitados durante o processo de geração. Estes directórios precedem a certos caminhos relativos definidos em secções posteriores para produzir um caminho completo e absoluto.

ArchiveDir

Especifica a raiz do arquivo FTP, numa configuração Debian standard este é o directório que contém o ls−LR e nós da distribuição.

OverrideDir

Especifica a localização dos ficheiros de sobrepor.

CacheDir

Especifica a localização dos ficheiros de cache

FileListDir

Especifica a localização dos ficheiros de listas de ficheiros, se a definição FileList for usada mais abaixo.

Secção Default
A secção Default especifica valores predefinidos, e definições que controlam a operação do gerador. Outras secções podem sobrepor estas predefinições em uma definição por−secção.

Packages::Compress

Sets the default compression schemes to use for the package index files. It is a string that contains a space separated list of at least one of the compressors configured via the APT::Compressor configuration scope. The default for all compression schemes is '. gzip'.

Packages::Extensions

Define a lista predefinida das extensões de ficheiros que são ficheiros pacote. A predefinição é '.deb'.

Sources::Compress

Isto é semelhante a Packages::Compress excepto que controla a compressão para os ficheiros das Fontes.

Sources::Extensions

Define a lista predefinida das extensões de ficheiros que são ficheiros de fontes. A predefinição é '.dsc'.

Contents::Compress

Isto é semelhante a Packages::Compress excepto que controla a compressão para os ficheiros de Conteúdos.

Translation::Compress

Isto é semelhante a Packages::Compress excepto que controla a compressão para o ficheiro mestre Translation−en.

DeLinkLimit

Especifica o número de kilobytes para delink (e substitui com hard links) por execução. Isto é usado em conjunto com a definição External−Links por secção.

FileMode

Especifica o modo de todos os ficheiros índice criados. A predefinição é 0644. Todos os ficheiros índice são definidos para este modo independentemente do umask.

LongDescription

Define se as descrições longas devem ser incluídas no ficheiro Packages ou divididas em um ficheiro Translation−en mestre.

Secção TreeDefault
Define predefinições específicas para as secções Tree. Todas estas variáveis são variáveis de substituição e têm as strings $(DIST), $(SECTION) e $(ARCH) substituídas pelos seus respectivos valores.

MaxContentsChange

Define o número de kilobytes dos ficheiros de conteúdo que são gerados a cada dia. Os ficheiros de conteúdo são re−circulados para que ao fim de alguns dias todos sejam reconstruídos.

ContentsAge

Controla o número de dias que se permite a um ficheiro de conteúdo ser verificado sem alteração. Se este limite for ultrapassado o mtime do ficheiro de conteúdo é actualizado. Este caso pode ocorrer se o ficheiro de pacote é alterado num modo que não resulta num novo ficheiro de conteúdo [por exemplo uma edição de sobreposição]. É permitido um soltar na esperança que novos .debs sejam instalados, requerendo um novo ficheiro de qualquer modo. A predefinição é 10, as unidades são em dias.

Directory

Define o topo da árvore de directórios .deb. A predefinição é $(DIST)/$(SECTION)/binary−$(ARCH)/

SrcDirectory

Define o topo da árvore de directórios de pacotes fonte. A predefinição é $(DIST)/$(SECTION)/source/

Packages

Define o ficheiro Packages de saída. A predefinição é $(DIST)/$(SECTION)/binary−$(ARCH)/Packages

Sources

Define o ficheiro Sources de saída. A predefinição é $(DIST)/$(SECTION)/source/Sources

Translation

Define se o ficheiro mestre Translation−en de saída com as descrições longas não deve ser incluído no ficheiro Packages. A predefinição é $(DIST)/$(SECTION)/i18n/Translation−en

InternalPrefix

Define o prefixo de caminho que causa que um symlink seja considerado um link interno em vez de um link externo. A predefinição é $(DIST)/$(SECTION)/

Contents

Define a saída do ficheiro Contents. A predefinição é $(DIST)/Contents−$(ARCH). Se esta definição causar múltiplos ficheiros Packages para mapear em um único ficheiro Contents (tal como a predefinição) então o apt−ftparchive irá automaticamente integrar esses ficheiros pacotes todos juntos.

Contents::Header

Define o ficheiro cabeçalho para prefixar a saída de conteúdos.

BinCacheDB

Define a base de dados de cache binária a usar para esta secção. Múltiplas secções podem partilhar a mesma base de dados.

FileList

Especifica que em vez de navegar na árvore de directórios, o apt−ftparchive deverá ler a lista de ficheiros a partir do ficheiro fornecido. Nomes de ficheiros relativos são prefixados com o directório de arquivo.

SourceFileList

Especifica que em vez de navegar na árvore de directórios, o apt−ftparchive deverá ler a lista de ficheiros a partir do ficheiro fornecido. Nomes de ficheiros relativos são prefixados com o directório de arquivo. Isto é usado quando se processa índices de fonte.

Secção Tree
A secção Tree define uma árvore de ficheiros Debian standard que consiste de um directório base, depois múltiplas secções nesse directório base e finalmente múltiplas Arquitecturas em cada secção. O caminho exacto usado é definido pela variável de substituição Directory.

A secção Tree recebe uma etiqueta scope que define a variável $(DIST) e define a raiz da árvore (o caminho é prefixado por ArchiveDir). Tipicamente esta é uma definição tal como dists/stretch.

Todas as definições definidas na secção TreeDefault podem ser usadas na secção Tree assim como as novas três variáveis.

Quando processa uma secção Tree, o apt−ftparchive executa uma operação semelhante a:

for i in Sections do
for j in Architectures do
Generate for DIST=scope SECTION=i ARCH=j

Sections

Isto é uma lista de secções separada por espaços que aparece sob a distribuição, tipicamente isto é algo como main contrib non−free

Architectures

This is a space separated list of all the architectures that appear under search section. The special architecture 'source' is used to indicate that this tree has a source archive. The architecture 'all' signals that architecture specific files like Packages should not include information about architecture all packages in all files as they will be available in a dedicated file.

LongDescription

Define se as descrições longas devem ser incluídas no ficheiro Packages ou divididas em um ficheiro Translation−en mestre.

BinOverride

Define o ficheiro de sobreposição binário. O ficheiro de sobreposição informação de secção, prioridade e endereço do responsável.

SrcOverride

Define o ficheiro de sobreposição fonte. O ficheiro de sobreposição informação de secção.

ExtraOverride

Define o ficheiro de sobreposição extra binário.

SrcExtraOverride

Define o ficheiro de sobreposição extra fonte.

Secção BinDirectory
A secção bindirectory define uma árvore de directórios binários sem nenhuma estrutura especial. A etiqueta scope especifica a localização do directório binário e as definições são semelhantes às da secção Tree sem nenhumas variáveis de substituição ou definições SectionArchitecture.

Packages

Define a saída do ficheiro Packages.

Sources

Define a saída do ficheiro Sources. É necessário pelo menos um de Packages ou Sources.

Contents

Define a saída do ficheiro Contents (opcional)

BinOverride

Define o ficheiro de sobreposição binário.

SrcOverride

Define o ficheiro de sobreposição fonte.

ExtraOverride

Define o ficheiro de sobreposição extra binário.

SrcExtraOverride

Define o ficheiro de sobreposição extra fonte.

BinCacheDB

Define a base de dados de cache.

PathPrefix

Acrescenta um caminho a todos os caminhos de saída.

FileList, SourceFileList

Especifica o ficheiro de lista de ficheiros.

O FICHEIRO BINARY OVERRIDE

O ficheiro de sobreposição binário é totalmente compatível com dpkg-scanpackages(1). Contém 4 campos separados por espaços. O primeiro campo é o nome do pacote, o segundo é a prioridade a qual forçar esse pacote, o terceiro é a secção onde forçar esse pacote e o último campo é o campo de permutação do responsável.

O formato geral do campo do responsável é:

old [// oldn]* => new

ou simplesmente,

new

. O primeiro formato permite uma lista separada por um duplo slash (//) de antigos endereços e email a serem especificados. Se nenhum destes for encontrado então 'new' é substituído para o campo do responsável. O segundo formato substitui incondicionalmente o campo do responsável.

O FICHEIRO SOURCE OVERRIDE

O ficheiro de sobreposição de fonte é totalmente compatível com dpkg-scansources(1). Contém dois campos separados por espaços. O primeiro campo é o nome de pacote fonte, o segundo é a secção onde o atribuir.

O FICHEIRO EXTRA OVERRIDE

O ficheiro de sobreposição extra permite que qualquer etiqueta arbitrária seja adicionada ou substituída na saída. Tem 3 colunas, a primeira é o pacote, a segunda é a etiqueta e restante da linha é o novo valor.

OPÇÕES

All command line options may be set using the configuration file, the descriptions indicate the configuration option to set. For boolean options you can override the config file by using something like −f−,−−no−f, −f=no or several other variations.

−−md5, −−sha1, −−sha256, −−sha512

Gera o sumário de verificação dado. Estas opções usam a predefinição de ligadas, quando são desligadas os ficheiros de índice gerados não terão os campos de sumário de verificação onde tal for possível Items de Configuração: APT::FTPArchive::Checksum e APT::FTPArchive::Index::Checksum onde Index pode ser Packages, Sources ou Release e o Checksum pode ser MD5, SHA1, SHA256 ou SHA512.

−d, −−db

Usa uma base de dados de cache binária. Isto não tem efeito no comando generate. Item de configuração: APT::FTPArchive::DB.

−q, −−quiet

Silencioso; produz saída apropriada para registar em logs, omitindo indicadores de progresso. Mais q's irão produzir mais silencio até um máximo de 2. Você também pode usar −q=# para definir o nível de silêncio, sobrepondo o ficheiro de configuração. Item de Configuração: quiet.

−−delink

Executa Dissociação. Se é usada a definição External−Links então esta opção activa a dissociação dos ficheiros. A sua predefinição é ligada e e pode ser desligada com −−no−delink. Item de Configuração: APT::FTPArchive::DeLinkAct.

−−contents

Executa a geração de conteúdos. Quando esta opção está definida e os índices de pacotes são gerados com um base de dados cache então a listagem de ficheiros também será extraída e guardada na base de dados para utilização posterior. Quando se usa o comando generate, esta opção também permite a criação de quaisquer ficheiros de Conteúdos. A predefinição é ligado. Item de Configuração: APT::FTPArchive::Contents.

−s, −−source−override

Selecciona o ficheiro de sobreposição de fonte a usar com o comando sources. Item de Configuração: APT::FTPArchive::SourceOverride.

−−readonly

Torna as bases de dados de cache apenas de leitura. Item de Configuração: APT::FTPArchive::ReadOnlyDB.

−a, −−arch

Aceita nos comandos packages e contents apenas ficheiros de pacotes que condizem com *_arch.deb ou *_all.deb em vez de todos os ficheiros de pacotes presentes no caminho fornecido. Item de Configuração: APT::FTPArchive::Architecture.

APT::FTPArchive::AlwaysStat

apt-ftparchive(1) põe em cache o máximo possível de metadados numa base de dados de cache. Se os pacotes forem recompilados e/ou republicados de novo com a mesma versão, irá originar problemas porque serão usados os metadados desactualizados em cache como o tamanho e sumários de verificação. Com esta opção activa isto não irá mais acontecer porque será verificado se o ficheiro foi alterado. Note que esta opção vem regulada para "false" por predefinição pois não é recomendado disponibilizar múltiplas versões/compilações de um pacote com o mesmo número de versão, portanto em teoria ninguém irá ter estes problemas e então todas as verificações extras serão desnecessárias.

APT::FTPArchive::LongDescription

Esta opção de configuração tem a predefinição de "true" e deve apenas ser definida para "false" se o Arquivo gerado com apt-ftparchive(1) também disponibilizar ficheiros Translation. Note que o ficheiro mestre Translation−en só pode ser criado no comando generate.

−h, −−help

Show a short usage summary.

−v, −−version

Show the program version.

−c, −−config−file

Configuration File; Specify a configuration file to use. The program will read the default configuration file and then this configuration file. If configuration settings need to be set before the default configuration files are parsed specify a file with the APT_CONFIG environment variable. See apt.conf(5) for syntax information.

−o, −−option

Set a Configuration Option; This will set an arbitrary configuration option. The syntax is −o Foo::Bar=bar. −o and −−option can be used multiple times to set different options.

EXEMPLOS

Para criar um ficheiro Packages comprimido para um directório que contém pacotes binários (.deb):

apt−ftparchive pacotes directório | gzip > Packages.gz

VEJA TAMBÉM

apt.conf(5)

DIAGNÓSTICO

apt−ftparchive devolve zero na operação normal, 100 decimal em erro.

BUGS

APT bug page [1] . If you wish to report a bug in APT, please see /usr/share/doc/debian/bug−reporting.txt or the reportbug(1) command.

TRANSLATION

The english translation was done by John Doe <john@doe.org> in 2009, 2010 and Daniela Acme <daniela@acme.us> in 2010 together with the Debian Dummy l10n Team <debian−l10n−dummy@lists.debian.org>.

Note that this translated document may contain untranslated parts. This is done on purpose, to avoid losing content when the translation is lagging behind the original content.

AUTORES

Jason Gunthorpe

APT team

NOTAS

1.

APT bug page

http://bugs.debian.org/src:apt

pdf