apt-transport-mirror - manual de referência, opções, exemplos de comandos


NOME

apt-transport-mirror - Transporte APT para seleção de espelho mais automatizada

DESCRIÇÃO

Este transporte APT não está implementando um protocolo para acessar repositórios locais ou remotos por conta própria, mas adquire uma mirrorlist e redireciona todas as requisições para o(s) mirror(s) escolhido(s) desta lista, acessando-os através de outros transportes como apt-transport-http (1). A funcionalidade básica está disponível desde o apt 0.7.24, mas não foi documentada até o apt 1.6, que continha um retrabalho completo do transporte e seus recursos suportados. Observe que um transporte nunca é chamado diretamente por um usuário, mas usado por ferramentas APT com base na configuração do usuário.

Se a aquisição de um arquivo por meio de um espelho falhar, o método garante que outro possível espelho da lista seja automaticamente tentado até que o arquivo seja recuperado ou nenhum espelho seja deixado na lista, tratando de forma transparente os tempos de inatividade do servidor e problemas semelhantes.

As implicações de segurança do transporte dependem das considerações de segurança associadas ao transporte usado para adquirir a lista de espelhos e os transportes envolvidos no acesso ao(s) espelho(s) escolhido(s) pelo transporte.

OPÇÕES

Este transporte não tem opções de configuração no momento. A seleção de espelhos é baseada inteiramente nos espelhos oferecidos na lista de espelhos e nos arquivos que o APT precisa adquirir.

Formato da lista de espelhos

Uma mirrorlist contém uma ou mais linhas, cada uma especificando um URI para um mirror. As linhas vazias e aquelas que começam com um caractere hash (#) são ignoradas. Um URI sempre começa com um esquema de URI que define o transporte usado para este espelho. Se, por exemplo, o URI começar com http:, o transporte responsável é apt-transport-http(1) que pode ter requisitos específicos para o formato da parte restante do URI.

Os metadados sobre um espelho podem ser fornecidos na mesma linha, separados do URI por uma tabulação. Vários itens de metadados podem ser separados por tabulações ou espaços. (Este é um recurso avançado disponível apenas com apt >= 1.6. Versões anteriores do apt falharão ao analisar mirrorlists usando este recurso.)

Desde o apt 1.6, o uso de mirrorlists compactadas também é suportado. Observe que o nome do arquivo da mirrorlist deve especificar o algoritmo de compactação usado; não há detecção automática com base no conteúdo do arquivo.

Seleção de espelhamento por metadados

Conforme especificado no formato, um espelho pode ter metadados adicionais anexados para evitar que um espelho seja selecionado para adquirir um arquivo que não corresponda a esses metadados. Dessa forma, a lista de espelhos pode, por exemplo, contêm espelhos parciais servindo apenas a certas arquiteturas e o APT escolherá automaticamente um espelho diferente para arquivos que requerem uma arquitetura não listada. Os limites suportados são para a arquitetura (arch), codinome do lançamento (codinome), componente do repositório em que o arquivo está (component), idioma ao qual o arquivo se aplica (lang), nome do pacote do lançamento (suite) e tipo de o arquivo (tipo).

Ordem de fallback para espelhos

Se nenhuma prioridade for dada para um espelho por meio da prioridade da chave de metadados, a ordem na qual os espelhos são contatados é aleatória. Se um determinado conjunto de espelhos deve ser tentado antes de qualquer outro conjunto ser tentado, uma prioridade pode ser explicitamente definida. Os espelhos com o menor número são testados primeiro. Os espelhos que não têm prioridade explícita definem o padrão com o número mais alto possível e, portanto, são tentados por último. A escolha entre espelhos com a mesma prioridade é novamente aleatória.

Transportes permitidos em uma mirrorlist

A disponibilidade e escolha de transportes em uma mirrorlist é limitada por como o cliente APT está acessando a mirrorlist. Se um transporte local como arquivo ou cópia for usado, a mirrorlist também pode incluir fontes locais, enquanto uma mirrorlist acessada via http não pode. Além disso, uma mirrorlist não pode conter uma mirrorlist ou outros transportes de encapsulamento (como apt-transport-tor). Veja a documentação desses transportes sobre como utilizá-los com o método mirror.

Observe que as versões apt anteriores a 1.6 não suportam nenhum outro transporte além de http.

EXEMPLOS

Exemplo básico

Um exemplo básico de mirrorlist suportado por todas as versões do apt com um método mirror (>= 0.7.24) no qual o cliente irá escolher qualquer um dos três mirrors:

http://ftp.de.debian.org/debian/
http://ftp.us.debian.org/debian/
http://deb.debian.org/debian/

Supondo que um arquivo com este conteúdo esteja armazenado como /etc/apt/mirrorlist.txt em sua máquina, ele pode ser usado assim em sources.list(5) (desde apt 1.6):

deb mirror+file:/etc/apt/mirrorlist.txt bookworm main

Todas as versões do método mirror suportam uma mirrorlist acessível via HTTP, portanto, supondo que esteja disponível em http://apt.example.org/mirror.lst, a entrada sources.list acima poderia ser escrita como:

deb mirror://apt.example.org/mirror.lst bookworm main

Observe que, desde o apt 1.6, o uso de mirror+http deve ser preferido em vez de mirror para uniformidade. A funcionalidade é a mesma.

Exemplo com seleção de espelhamento aprimorada por metadados

Conforme explicado na definição de formato, as versões do apt anteriores a 1.6 não suportam isso e falharão ao analisar a lista de espelhos. O exemplo mirrorlist é intencionalmente complicado para mostrar alguns aspectos da seleção. A seguinte configuração é assumida: O primeiro espelho é um espelho local acessível por meio do método de arquivo, mas potencialmente incompleto. O segundo espelho tem uma ótima conexão, mas é um espelho parcial na medida em que contém apenas arquivos relacionados às arquiteturas amd64 e tudo. Os espelhos restantes são espelhos médios que devem ser contatados apenas se os anteriores não funcionarem.

file:/srv/local/debian/mirror/	priority:1 type:index
http://partial.example.org/mirror/	priority:2 arch:amd64 arch:all type:deb
http://ftp.us.debian.org/debian/	type:deb
http://ftp.de.debian.org/debian/	type:deb
https://deb.debian.org/debian/

Nesta configuração com esta lista de espelhos, o primeiro espelho será usado para baixar todos os arquivos de índice, assumindo que a própria lista de espelhos seja acessada por meio de um arquivo de transporte local. Se não estiver, se o espelho estiver inacessível ou se não contiver o arquivo solicitado, outro espelho será usado para adquirir o arquivo, escolhido dependendo do tipo do arquivo: Um arquivo de índice será servido pelo último espelho no lista, enquanto um pacote de arquitetura amd64 é servido pelo segundo e os de e.g. arquitetura i386 por um dos três últimos.

INSETOS

Página de bug do APT[1]. Se você deseja reportar um bug no APT, por favor veja /usr/share/doc/debian/bug-reporting.txt ou o comando reportbug(1).

AUTOR

Equipe APT

NOTAS

1. Página de bug do APT: http://bugs.debian.org/src:apt