A lista de fontes /etc/apt/sources.list e os ficheiros contidos em /etc/apt/sources.list.d/ estão desenhados para suportar qualquer número de fontes activas e uma variedade de meios de fontes. Os ficheiros listam uma fonte por linha (estilo-uma-linha) ou contêm múltiplas estrofes definindo uma ou mais fontes por estrofe (estilo deb822), com a fonte de maior preferência listada em primeiro lugar (no caso de uma versão única estar disponível a partir de mais do que uma fonte). A informação disponível a partir das fontes configuradas é obtida pelo apt-get update (ou por um comando equivalente de outro front-end do APT).
O directório /etc/apt/sources.list.d disponibiliza um modo de adicionar entradas na sources.list em ficheiros separados. São permitidos dois formatos diferentes de ficheiro como descrito nas próximas duas secções. Os nomes de ficheiros precisam de ter ou a extensão .list ou .sources dependendo do formato contido. Os nomes dos ficheiros podem apenas conter letras (a-z e A-Z), dígitos (0-9), e os caracteres underscore (_), menos (-) e ponto (.). De outro modo o APT irá escrever um aviso de que ignorou um ficheiro, a menos que esse ficheiro coincida com um padrão na lista de configuração Dir::Ignore-Files-Silently - que neste caso serão ignorados em silêncio.
Os ficheiros neste formato têm a extensão .list. Cada linha que especifica uma fonte começa com um tipo (ex. deb-src) seguido de opções e argumentos para esse tipo. Entradas individuais não podem ser continuadas até a linha seguinte. As linhas vezias são ignoradas,e um caractere # em qualquer pondo de uma linha marca o restante da linha como um comentário. Consequentemente uma entrada pode ser desactivada ao comentar a linha inteira. Se for preciso fornecer opções, estas são separadas por espaços e elas todas juntas são posicionas entre parênteses rectos ([]) incluídos na linha após o tipo e separado dele por um espaço. Se uma opção permitir vários valores estes são separados entre eles com uma vírgula (,). Um nome de opção é separado do(s) seu(s) valor(es) por um sinal de igual (=). Opções de multi-valor também têm -= e += como separadores, os quais em vez de substituir a predefinição pelos valor(es) fornecidos modificam os valor(es) predefinidos para remover ou incluir os valores fornecidos.
Este é o formato tradicional e suportado por todas as versões do apt. Note que nem todas as opções descritas abaixo são suportadas por todas as versões do apt. Note também que algumas aplicações mais antigas que analisem este formato por si mesmas podem não esperar encontrar opções pois estas não eram comuns antes da introdução do suporte a multi-arquitecturas.
Os ficheiros neste formato têm a extensão .sources. O formato é semelhante em sintaxe a outros ficheiros usados por Debian e seus derivados, tais como os ficheiros de meta-dados que o apt irá descarregar das fontes configuradas ou o ficheiro debian/control de um pacote fonte Debian. As entradas individuais são separadas por uma linha vazia; as linha vazias adicionais são ignoradas, e um caractere # no inicia da linha marca a linha inteira como um comentário. Uma entrada pode assim ser desactivada ao comentar cada linha que pertence à estrofe, mas é geralmente mais fácil adicionar o campo "Enabled: no" à estrofe para desactivar a entrada. Removendo o campo ou defini-lo para "yes" volta a activá-la. As opções têm a mesma sintaxe que todos os outros campos. Um nome de campo é separado por dois pontos (:) e opcionalmente por espaços dos seus valor(es). Note especialmente que múltiplos valores são separados por espaços em branco (como espaços, tabs e novas-linhas), não por vírgulas como no formado de uma-linha. Os campos de multi-valor como Architectures também têm Architectures-Add e Architectures-Remove para modificar o valor predefinido em vez de o substituir.
Este é um novo formato suportado pelo apt desde versão 1.1. As versões anteriores ignoravam tais ficheiros com uma mensagem descrita antes. É objectivo tornar gradualmente este formato no formato predefinido, descontinuando o anteriormente descrito formato de estilo-uma-linha, pois é mais fácil de criar, aumentar e modificar para as pessoas e para as máquinas especialmente se estiverem envolvidas muitas fontes e/ou opções. Os desenvolvedores que estão a trabalhar com e/ou a analisar fontes do apt são altamente encorajados a adicionar suporte a este formato e a contactar a equipa do APT para coordenar e partilhar este trabalho. Os utilizadores podem já livremente adoptar este formato, mas podem encontrar problemas com software que ainda não suporte o formato.
O tipo deb descreve um arquivo Debian típico de dois níveis, distribution/component. A distribution é geralmente um nome de uma suite como stable ou testing ou um nome de código como bullseye ou bookworm enquanto que componente é um de main, contrib ou non-free. O tipo deb-src faz referência a um código fonte de distribuição Debian no mesmo formato que o tipo deb. É necessária uma linha deb-src para obter índices das fontes.
O formato para duas entradas estilo-uma-linha usando os tipos deb e deb-src é:
deb [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...] deb-src [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...]
Em alternativa, a entrada equivalente em estilo deb822 parece-se com isto:
Types: deb deb-src URIs: uri Suites: suite Components: [component1] [component2] [...] option1: value1 option2: value2
O URI para o tipo deb tem de especificar a base da distribuição Debian, a partir do qual o APT irá encontrar a informação que precisa. suite pode especificar um caminho exacto, que no caso os componente têm de ser omitidos e suite deve terminar com uma barra (/). Isto é útil para o caso de apenas ser de interesse um sub-directório particular do arquivo denotado pelo URI. Se suite não especificar um caminho exacto, pelo menos um component tem de estar presente.
suite também pode conter uma variável. $(ARCH) a qual se expande à arquitectura Debian (tal como amd64 ou armel) usada no sistema. Isto permite que seja usados ficheiros sources.list independentes da arquitectura. Em geral, isto é apenas de interesse quando se especifica um caminho exacto; de outro modo o APT irá gerar automaticamente um URI com a arquitectura actual.
Especialmente no formato de estilo uma-linha como apenas pode ser especificada por linha uma distribuição, pode ser necessário ter várias linhas para o mesmo URI, se só for desejado um sub-conjunto de todas as distribuições e componentes dessa localização. O APT irá ordenar a lista de URI após ter gerado internamente um conjunto completo, e irá desabar as várias referências à mesma máquina na Internet, por exemplo, numa única ligação, para que não estabeleça uma ligação ineficiente, a feche, faça outra coisa, e depois volte a estabelecer ligação à mesma máquina. O APT também paraleliza ligações a máquinas diferentes para lidar mais eficientemente com sites com largura de banda baixa.
É importante listar as fontes por ordem de preferência, com a fonte mais preferida listada em primeiro lugar. Tipicamente isto irá resultar numa ordenação por velocidades desde o mais rápido até ao mais lento (CD-ROM seguido por máquinas numa rede local, seguido por máquinas distantes na Internet, por exemplo).
Como um exemplo, as fontes da sua distribuição podem-se parecer com isto no formato estilo uma-linha:
deb http://deb.debian.org/debian bullseye main contrib non-free deb http://security.debian.org bullseye-security main contrib non-free
ou com isto no formato estilo deb822:
Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main contrib non-free Types: deb URIs: http://security.debian.org Suites: bullseye-security Components: main contrib non-free
Cada entrada de fonte pode ter opções especificas para modificar qual fonte é acedida e como os dados são adquiridos dela. O formato, sintaxe e nomes das opções varia entre os formatos de estilo-uma-linha e estilo-deb822 como descrito, mas estes não têm as mesmas opções disponíveis. Para simplificar listamos o nome-de-campo deb822 e disponibilizamos o nome de uma-linha entre parênteses. Lembre-se que além de definir explicitamente opções de multi-valor, existe também a opção de modificá-os com base na predefinição, mas não estamos a listar explicitamente esses nomes aqui. As opções não suportadas são ignoradas em silêncio por todas as versões do APT.
Mais ainda, existem opções que se definidas afectam todas as fontes com o mesmo URL e Suite, então elas têm de ser definidas em todas as tais entradas e não podem variar entre componentes diferentes. O APT irá tentar detectar e terminar em erro em tais anomalias.
Os tipos de URI actualmente reconhecidos são:
http (apt-transport-http(1))
Note que estas formas de autenticação são inseguras pois toda a comunicação com o servidor remoto (ou proxy) não está encriptada, portanto um atacante suficientemente capaz pode observar e guarda o login assim como todas as outras interacções. O atacante pode não pode modificar a comunicação totalmente pois o modelo de segurança de dados do APT é independente do método de transporte escolhido. Veja apt-secure(8) para mais detalhes.
https (apt-transport-https(1))
mirror, mirror+esquema (apt-transport-mirror(1))
file
cdrom
ftp
Por favor note que pode ser especificado um proxy FTP ao usar a variável de ambiente ftp_proxy. É possível especifica um proxy HTTP (os servidores proxy HTTP geralmente compreendem URLs de FTP) usando esta variável de ambiente e apenas esta variável de ambiente. Os proxies que usam HTTP especificados no ficheiro de configuração serão ignorados.
copy
rsh, ssh
adicionando mais tipos de URI reconhecíveis
Usa o arquivo armazenado localmente (ou montagem NFS) em /home/apt/debian para stable/main, stable/contrib, e stable/non-free.
deb file:/home/apt/debian stable main contrib non-free
Types: deb URIs: file:/home/apt/debian Suites: stable Components: main contrib non-free
Como em cima, excepto que usa a distribuição unstable (de desenvolvimento).
deb file:/home/apt/debian unstable main contrib non-free
Types: deb URIs: file:/home/apt/debian Suites: unstable Components: main contrib non-free
Especificação de fontes para o referido acima.
deb-src file:/home/apt/debian unstable main contrib non-free
Types: deb-src URIs: file:/home/apt/debian Suites: unstable Components: main contrib non-free
A primeira linha obtém a informação do pacote para a arquitectura em APT::Architectures enquanto a segunda obtém sempre amd64 e armel.
deb http://deb.debian.org/debian bullseye main deb [ arch=amd64,armel ] http://deb.debian.org/debian bullseye main
Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main Types: deb URIs: http://deb.debian.org/debian Suites: bullseye Components: main Architectures: amd64 armel
Usa HTTP para aceder ao arquivo em archive.debian.org, e usa apenas a área hamm/main.
deb http://archive.debian.org/debian-archive hamm main
Types: deb URIs: http://archive.debian.org/debian-archive Suites: hamm Components: main
Usa FTP para aceder ao arquivo em ftp.debian.org, sob o directório debian, e usa apenas a área bullseye/contrib.
deb ftp://ftp.debian.org/debian bullseye contrib
Types: deb URIs: ftp://ftp.debian.org/debian Suites: bullseye Components: contrib
Usa FTP para aceder ao arquivo em ftp.debian.org, sob o directório debian, e usa apenas a área unstable/contrib. Se esta linha aparecer também como aquela no exemplo anterior em sources.list será usada uma única sessão FTP para ambas linhas de recurso.
deb ftp://ftp.debian.org/debian unstable contrib
Types: deb URIs: ftp://ftp.debian.org/debian Suites: unstable Components: contrib
Usa HTTP para aceder ao arquivo em ftp.tlh.debian.org, sob o directório universe, e usa apenas os ficheiros encontrados sob unstable/binary-i386 em máquinas i386, unstable/binary-amd64 em amd64, e assim por diante para outras arquitecturas suportadas. [Note que este exemplo apenas mostra como usar a variável de substituição; os arquivos oficiais debian não estão estruturados assim]
deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/
Types: deb URIs: http://ftp.tlh.debian.org/universe Suites: unstable/binary-$(ARCH)/
Usa HTTP para obter pacotes binários assim como fontes a partir das suites stable, testing e unstable e os componentes main e contrib.
deb http://deb.debian.org/debian stable main contrib deb-src http://deb.debian.org/debian stable main contrib deb http://deb.debian.org/debian testing main contrib deb-src http://deb.debian.org/debian testing main contrib deb http://deb.debian.org/debian unstable main contrib deb-src http://deb.debian.org/debian unstable main contrib
Types: deb deb-src URIs: http://deb.debian.org/debian Suites: stable testing unstable Components: main contrib
apt-get(8), apt.conf(5), /usr/share/doc/apt/acquire-additional-files.md.gz
m[blue]página de bugs do APTm[][1]. Se deseja reportar um bug no APT, por favor veja /usr/share/doc/debian/bug-reporting.txt ou o comando reportbug(1).
A tradução Portuguesa foi feita por Américo Monteiro <a_monteiro@netcabo.pt> de 2009 a 2012. A tradução foi revista pela equipa de traduções portuguesas da Debian <traduz@debianpt.org>.
Note que este documento traduzido pode conter partes não traduzidas. Isto é feito propositadamente, para evitar perdas de conteúdo quando a tradução está atrasada relativamente ao conteúdo original.
Jason Gunthorpe
Equipa do APT