SOURCES.LIST(5)

NOME
sources.list - Lista das fontes de dados APT configuradas

DESCRIÇÃO

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).

SOURCES.LIST.D

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.

FORMATO ESTILO-UMA-LINHA

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.

FORMATO ESTILO-DEB822

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.

OS TIPOS DEB E DEB-SRC: FORMATO GERAL

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://us.archive.ubuntu.com/ubuntu hirsute main restricted
    deb http://security.ubuntu.com/ubuntu hirsute-security main restricted
    deb http://us.archive.ubuntu.com/ubuntu hirsute-updates main restricted

ou com isto no formato estilo deb822:

    Types: deb
    URIs: http://us.archive.ubuntu.com/ubuntu
    Suites: hirsute hirsute-updates
    Components: main restricted
    Types: deb
    URIs: http://security.ubuntu.com/ubuntu
    Suites: hirsute-security
    Components: main restricted

OS TIPOS DEB E DEB-SRC: OPÇÕES

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.

    • Architectures (arch) é uma opção multi-valor que define para quais arquitecturas deve ser descarregada a informação. Se esta opção não for definida é todas as arquitecturas como definido pela opção de configuração APT::Architectures.

    • Languages (lang) é uma opção multi-valor que define para quais linguagens deve ser descarregada informação tal como as descrições de pacotes traduzidas. Se esta opção for definida a predefinição é todas as linguagens como definido pela opção de configuração Acquire::Languages.

    • Targets (target) é uma opção multi-valor que define quais alvos de download o apt irá tentar adquirir a partir desta fonte. Se não for especificado, o valor predefinido é definido pelo scope de configuração Acquire::IndexTargets (os alvos são especificados pelo seu nome no campo Created-By). Adicionalmente, pode-se activar ou desactivar alvos ao usar campo Identifier como uma opção com um valor booleano em vez de se usar esta opção multi-valor.

    • PDiffs (pdiffs) é um valor sim/não que controla se o APT deve tentar usar PDiffs para actualizar índices antigos em vez de descarregar totalmente novos índices. O valor desta opção é ignorado se o repositório não anunciar a disponibilidade de PDiffs. Usa por predefinição o valor da opção com o mesmo nome para um ficheiro índice específico definido no scope Acquire::IndexTargets, o qual usa por predefinição o valor da opção de configuração Acquire::PDiffs o qual usa por predefinição yes.

    • By-Hash (by-hash) pode ter o valor yes, no ou force e controlam se o APT deve tentar obter índices via um URL construído a partir de um hashsum do ficheiro esperado em vez de usar um nome de ficheiro estável e bem conhecido do índice. Usar isto pode evitar erros de correspondência de hashsum, mas requer um mirror que suporte. Um valor yes ou no activa/desactiva o uso desta funcionalidade se esta fonte indicar suporte para tal, enquanto force irá activar a funcionalidade independentemente do que a fonte indique. Recorre à predefinição do valor da opção com o mesmo nome para um ficheiro index específico definido no scope Acquire::IndexTargets, que o próprio usa por predefinição o valor da opção de configuração Acquire::By-Hash a qual é predefinida para yes.

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.

    • Allow-Insecure (allow-insecure), Allow-Weak (allow-weak) e Allow-Downgrade-To-Insecure (allow-downgrade-to-insecure) são valores booleanos os todos são predefinidos com no. Se definidos para yes eles contornam partes de apt-secure(8) e por isto não devem ser usados de forma leviana!

    • Trusted (trusted) é um valor de três estados o qual é predefinido para o APT decidir se uma fonte é de confiança ou se levem ser activados avisos antes de, por ex, pacotes serem instalados a partir dessa fonte. Esta opção pode ser usada para sobrepor essa decisão. O valor yes diz ao APT que deve sempre considerar essa fonte como de confiança, mesmo que não aprove nas verificações de autenticação. Desactiva partes de apt-secure(8), e portanto apenas deve ser usada num contexto local e de confiança (e se assim for mesmo) pois caso contrário a segurança perde-se. O valor no faz o aposto, fazendo com que a fonte seja lidada como não confiável mesmo que as verificações de autenticação passem com sucesso. O valor predefinido não pode ser regulado explicitamente.

    • Signed-By (signed-by) is an option to require a repository to pass apt-secure(8) verification with a certain set of keys rather than all trusted keys apt has configured. It is specified as a list of absolute paths to keyring files (have to be accessible and readable for the _apt system user, so ensure everyone has read-permissions on the file) and fingerprints of keys to select from these keyrings. The recommended locations for keyrings are /usr/share/keyrings for keyrings managed by packages, and /etc/apt/keyrings for keyrings managed by the system operator. If no keyring files are specified the default is the trusted.gpg keyring and all keyrings in the trusted.gpg.d/ directory (see apt-key fingerprint). If no fingerprint is specified all keys in the keyrings are selected. A fingerprint will accept also all signatures by a subkey of this key, if this isn't desired an exclamation mark (!) can be appended to the fingerprint to disable this behaviour. The option defaults to the value of the option with the same name if set in the previously acquired Release file of this repository (only fingerprints can be specified there through). Otherwise all keys in the trusted keyrings are considered valid signers for this repository. The option may also be set directly to an embedded GPG public key block. Special care is needed to encode the empty line with leading spaces and ".":

        Types: deb
        URIs: https://deb.debian.org
        Suites: stable
        Components: main contrib non-free
        Signed-By:
         -----BEGIN PGP PUBLIC KEY BLOCK-----
         .
         mDMEYCQjIxYJKwYBBAHaRw8BAQdAD/P5Nvvnvk66SxBBHDbhRml9ORg1WV5CvzKY
         CuMfoIS0BmFiY2RlZoiQBBMWCgA4FiEErCIG1VhKWMWo2yfAREZd5NfO31cFAmAk
         IyMCGyMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQREZd5NfO31fbOwD6ArzS
         dM0Dkd5h2Ujy1b6KcAaVW9FOa5UNfJ9FFBtjLQEBAJ7UyWD3dZzhvlaAwunsk7DG
         3bHcln8DMpIJVXht78sL
         =IE0r
         -----END PGP PUBLIC KEY BLOCK-----

    • Check-Valid-Until (check-valid-until) é um valor yes/no que controla se o APT deverá tentar detectar ataques de repetição. Um criador de repositório pode declarar uma hora limite para os dados disponibilizados no repositório serem considerados como válidos, e se esta hora for atingida, e nenhuns novos dados forem fornecidos, os dados são considerados expirados e é provocado um erro. Para além de aumentar a segurança, pois um atacante malicioso não pode enviar dados antigos eternamente para impedir um utilizador de actualizar para uma nova versão, isto também ajuda os utilizadores a identificar mirrors que não estão mais actualizados. No entanto, alguns repositórios tais como os arquivos históricos que não são mais actualizados propositadamente, assim esta verificação pode ser desactivada ao definir esta opção para no. Usa por predefinição o valor da opção de configuração Acquire::Check-Valid-Until a qual ela própria usa por predefinição yes.

    • Valid-Until-Min (valid-until-min) e Valid-Until-Max (valid-until-max) podem ser usadas para elevar ou baixar o período de tempo em segundos no qual os dados deste repositório são considerados válidos. -Max pode ser especialmente útil para definir o sue próprio valor se o repositório não disponibilizar um campo Valid-Until no seu ficheiro Release, enquanto -Min pode ser usado para aumentar o tempo válido em mirrors raramente actualizados (locais) de um arquivo mais frequentemente actualizado mas menos acessível (o qual está também em sources.list) em vez de desactivar completamente a verificação. Usa por predefinição o valor das opções de configuração Acquire::Min-ValidTime and Acquire::Max-ValidTime que estão ambas não definidas por predefinição.

    • Check-Date (check-date) é um valor yes/no que controla se o APT deve considerar a hora da máquina correcta e assim executar as verificações relacionadas com horas, tal como verificar que um ficheiro Release não veio do futuro. Desactiva-lo também desactiva a opção Check-Valid-Until mencionada em cima.

    • Date-Max-Future (date-max-future) controla quão longe do futuro um repositório pode estar. Usa por predefinição o valor da opção de configuração Acquire::Max-FutureTime a qual é 10 segundo por predefinição.

    • InRelease-Path (inrelease-path) determina o caminho para o ficheiro InRelease, relativamente à posição normal de um ficheiro InRelease. Por predefinição, esta opção não está definida e o APT irá tentar obter um InRelease ou, se isso falhar, um ficheiro Release e o seu ficheiro associado Release.gpg. Ao definir esta opção, será tentado o caminho especificado em vez do ficheiro InRelease, e o recurso a ficheiros Release será desactivado.

ESPECIFICAÇÃO DA URI

Os tipos de URI actualmente reconhecidos são:

http (apt-transport-http(1))
    O esquema http especifica um servidor HTTP para um arquivo e o método mais comum usado. O URI pode incluir directamente informação de login se o arquivo o requerer, mas deve ser preferível o uso de apt_auth.conf(5). O método também suporta proxies SOCKS5 e HTTP(S) sejam configurados via configuração específica do apt ou especificada pela variável de ambiente http_proxy no formato (assumindo um proxy HTTP que requer autenticação) http://user:pass@server:port/. Os detalhes de autenticação para proxies também pode ser fornecidos via apt_auth.conf(5).

    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 interaçõ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))
    O esquema https especifica um servidor HTTPS para um arquivo e é muito semelhante em utilização e opções disponíveis ao esquema http. A principal diferença é que a comunicação entre o apt e o servidor (ou proxy) é encriptada. Note que a encriptação não previne um atacante de saber com qual servidor (ou proxy) o apt está a comunicar e com uma análise mais profunda pode potencialmente ainda revelar que dados estão a ser descarregados. Se isto for preocupante, os esquemas baseados em Tor mencionados mais abaixo podem ser uma alternativa apropriada.

mirror, mirror+esquema (apt-transport-mirror(1))
    O esquema mirror especifica a localização de uma mirrorlist. Por predefinição o esquema usado para a localização é http, mas pode ser usado qualquer outro esquema via mirror+esquema. A própria mirrorlist pode conter vários URIs diferentes para mirrors que o cliente do APT pode transparentemente pegar, escolher e recorrer entre os pretendentes para ajudar tanto com a distribuição da carga sobre os mirrors disponíveis e assegurando que os clientes podem adquirir dados mesmo que alguns dos mirrors configurados não estejam disponíveis.

file
    O esquema file permite que um directório arbitrário do sistema de ficheiros seja considerado um arquivo. Isto é útil para montagens NFS e mirrors ou arquivos locais.

cdrom
    O esquema cdrom permite ao APT usar uma drive de CD-ROM, DVD ou caneta USB local com mudança de media. Use o programa apt-cdrom(8) para criar entradas cdrom na lista de fontes.

ftp
    O esquema ftp especifica um servidor FTP para um arquivo. O uso de FTP está em declínio em favor de http e https e muitos arquivos ou nunca ofereceram ou estão a retirar o acesso FTP. Se você ainda precisa deste método, estão disponíveis muitas opções de configuração no escopo Acquire::ftp e detalhadas em apt.conf(5).

    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
    O esquema copy é idêntico ao esquema file com a excepção que os pacotes são copiados para o directório cache em vez serem usados directamente da sua localização. Isto é útil para quem use um meio amovível para copiar ficheiros com o APT.

rsh, ssh
    O método rsh/ssh invoca RSH/SSH a ligar a uma máquina remota e aceder a ficheiros como um dado utilizador. É recomendada a configuração prévia de rhosts ou chaves RSA. Os comandos standard find e dd são usados para executar as transferências de ficheiros a partir da máquina remota.

adicionando mais tipos de URI reconhecíveis
    O APT pode ser estendido com mais métodos lançados em outros pacotes opcionais, que devem seguir o esquema de nomeação apt-transport-método. Por exemplo, a equipa do APT também mantém o pacote apt-transport-tor, o qual disponibiliza métodos de acesso para URIs de HTTP e HTTPS com rota via rede Tor.

EXEMPLOS

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

VEJA TAMBÉM

apt-get(8), apt.conf(5), /usr/share/doc/apt/acquire-additional-files.md.gz

BUGS

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

TRADUÇÃO

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.

AUTORES

Jason Gunthorpe

Equipa do APT

NOTAS

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