APT.CONF(5)

NOME
apt.conf - Ficheiro de configuração para o APT

DESCRIÇÃO

/etc/apt/apt.conf é o ficheiro de configuração principal partilhado por todas as ferramentas na suite de ferramentas do APT, no entanto não é de maneira nenhuma o único local onde se pode definir opções. A suite também partilha um analisador comum de linha de comandos para disponibilizar um ambiente uniforme.

Quando a ferramenta APT arranca irá ler os ficheiros de configuração pela seguinte ordem:

    1. o ficheiro especificado pela variável de ambiente APT_CONFIG (se existir)

    2. todos os ficheiros em Dir::Etc::Parts em ordem ascendente alfa-numérica não têm extensão ou têm "conf" como extensão do nome de ficheiro e que apenas contêm caracteres alfa-numéricos, traços (-), underscores (_) e pontos (.). Caso contrário o APT irá escrever um aviso de que ignorou um ficheiro, a menos que o ficheiro corresponda a um padrão na lista de configuração de Dir::Ignore-Files-Silently - que então nesse caso será ignorado em silêncio.

    3. o ficheiro de configuração principal especificado por Dir::Etc::main

    4. todas as opções definidas na sub-árvore de configuração específica de binário são movidas para a raiz da árvore.

    5. as opções de linha de comandos são aplicadas para sobrepor as directivas de configuração ou para carregar mais ficheiros de configuração.

SINTAXE

O ficheiro de configuração é organizado numa árvore com as opções organizadas em grupos de funcionamento. A especificação das opções é dada com um sinal de dois pontos duplo , por exemplo APT::Get::Assume-Yes é uma opção dentro do grupo de ferramentas do APT, para a ferramenta Get. A opções não herdam dos seus grupos parentes.

Sintaticamente a linguagem de configuração é modelada após o que as ferramentas ISC usam, como o bind e o dhcp. As linhas que começam com // são tratadas como comentários (ignoradas), assim como todo o texto entre /* e */, tal como os comentários de C/C++. As linhas começadas com # são também tratadas como comentários. Cada linha é do formato APT::Get::Assume-Yes "true";. As aspas e o ponto-e-vírgula final são necessários. O valor deve estar em uma linha, e não existe nenhum tipo de concatenação de string. Os valores não podem incluir barras invertidas ou aspas extras. Os nomes das opções são feitos de caracteres alfa-numéricos e os caracteres "/-:._+". Um novo scope pode ser aberto com chavetas, assim:

    APT {
      Get {
        Assume-Yes "true";
        Fix-Broken "true";
      };
    };

com novas linhas colocadas para o tornar mais legível. As listas podem ser criadas ao abrir um scope e incluindo uma string única entre aspas seguida por um ponto e vírgula. Podem ser incluídas múltiplas entradas, separadas por um ponto e vírgula (;).

    DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};

Em geral o exemplo de ficheiro de configuração /usr/share/doc/apt/examples/configure-index.gz é um bom guia de como deve ficar.

Maiúsculas e minúsculas não são significativas nos nomes dos items de configuração, portanto no exemplo prévio você poderia usar dpkg::pre-install-pkgs.

Os nomes dos items de configuração são opcionais se uma lista for definida com pode ser vista no exemplo DPkg::Pre-Install-Pkgs acima. Se você não especificar um nome, uma nova entrada irá simplesmente adicionar uma nova opção à lista. Se você especificar um nome, você pode sobrepor a opção como qualquer outra opção ao re-atribuir um novo valor à opção.

Estão definidos dois comandos especiais, #include (a qual está obsoleto e não é suportado por implementações alternativas) e #clear: #include irá incluir o ficheiro fornecido, a menos que o nome do ficheiro termine numa barra (/), que no caso todo o directório é incluído. #clear é usado para apagar uma parte da árvore de configuração. O elemento especificado e os seus descendentes são apagados. (Note que estas linhas também precisam de acabar com um 'ponto e vírgula' (;) .)

O comando #clear é a única maneira de apagar uma lista ou um scope completo. Reabrindo um scope (ou usando a sintaxe descrita em baixo com um :: acrescentado) não irá sobrepor entradas escritas anteriormente. As opções podem apenas ser sobrepostas ao atribuir um novo valor a elas - listas e scopes não podem ser sobrepostos, apenas limpos.

Todas as ferramentas do APT recebem uma opção -o que permite uma directiva de configuração arbitrária para ser especificada na linha de comandos. A sintaxe é um nome de opção completo (APT::Get::Assume-Yes por exemplo) seguido por um igual (=) e depois o valor da opção. Para acrescentar um novo elemento a uma lista, adicione um :: ao final do nome da lista. (Como deve suspeitar, a sintaxe de scope não pode ser usada na linha de comandos.)

Note que acrescentar itens a uma lista usando :: só funciona para um item por linha, e que não o deverá usar em combinação com a sintaxe scope (a qual adiciona :: implicitamente). Usar ambas as sintaxes juntamente irá disparar um bug de que infelizmente alguns utilizadores dependem: uma opção com o nome pouco usual "::" o qual actua como qualquer outra opção com um nome. Isto introduz muitos problemas: por um lado, os utilizadores que escrevem múltiplas linhas nesta sintaxe errada na esperança de acrescentarem numa lista irão obter o oposto, pois apenas será usada a última atribuição para esta opção "::". Versões futuras do APT irão dar erros e parar de funcionar se encontrarem esta má utilização, portanto, por favor, corrija tais declarações agora enquanto o APT ainda não se queixa explicitamente delas.

O GRUPO APT

Este grupo de opções controla o comportamento geral do APT assim como mantém as opções para todas as ferramentas.

Architecture
    System Architecture; define a arquitectura a usar quando procura ficheiros e analisa listas de pacotes. A predefinição interna é a arquitectura para a qual o APT foi compilado.

Architectures
    Todas as arquitecturas que o sistema suporta. Por exemplo, CPUs que implementam o conjunto de instruções amd64 (também chamada x86-64) são também capazes de executar binários compilados para o conjunto de instruções i386 (x86). Esta lista é usada quando se busca ficheiros e analisa listas de pacotes. A predefinição inicial é sempre a arquitectura nativa do sistema (APT::Architecture), e as arquitecturas alienígenas são adicionadas à lista predefinida quando são registadas via dpkg --add-architecture.

Compressor
    Este escopo define quais formatos de compressão são suportados, como a compressão e descompressão pode ser executada se o suporte para este formato não está compilado directamente no apt e um valor de custo que indica o custo de se comprimir algo neste formato. Como um exemplo a seguinte estrofe de configuração iria permitir ao apt descarregar e descomprimir assim como criar e armazenar ficheiros com a extensão .reversed de baixo custo os quais irá passar ao comando rev sem parâmetros adicionais de linha de comandos para a compressão e descompressão.

        APT::Compressor::rev {
        	Name "rev";
        	Extension ".reversed";
        	Binary "rev";
        	CompressArg {};
        	UncompressArg {};
        	Cost "10";
        };

Build-Profiles
    Lista todos os perfis de compilação activos para resolução de dependências de compilação, sem o prefixo "profile." no espaço do nome. Por predefinição esta lista está vazia. O DEB_BUILD_PROFILES usado pelo dpkg-buildpackage(1) sobrepõe a notação da lista.

Default-Release
    Lançamento predefinido de onde instalar pacotes se existir mais de uma versão disponível. Contém o nome do lançamento, nome de código ou versão de lançamento. Exemplos: 'stable', 'testing', 'unstable', 'bookworm', 'trixie', '4.0', '5.0*'. Veja também apt_preferences(5).

Ignore-Hold
    Ignore held packages; Esta opção global faz com que ao resolver problemas, os pacotes segurados sejam ignorados na sua decisão de marcação.

Clean-Installed
    A predefinição é ligada. Quando ligada, a funcionalidade autoclean irá remover quaisquer pacotes que já não possam ser descarregados a partir da cache. Se desligada, então os pacotes que estão instalados localmente são também excluídos da limpeza - mas note que o APT não disponibiliza um meio direto de os reinstalar.

Immediate-Configure
    A predefinição é ligada, o que irá fazer com que o APT instale pacotes essenciais e importantes assim que possível numa operação de instalação/actualização, de modo a limitar o efeito de uma chamada ao dpkg(1) falhada. Se esta opção for desactivada, o APT trata um pacote importante do mesmo modo que um pacote extra: entre o desempacotamento do pacote A e a sua configuração podem existir muitas outras chamadas de desempacotamento ou configuração para outros pacotes B, C, etc não relacionados. Se eles causarem a falha da chamada do dpkg(1) (ex. porque os scripts do maintainer do pacote B geram um erro), isto resulta num estado do sistema em que o pacote A fica desempacotado mas não configurado - então não fica garantido o funcionamento de qualquer pacote que dependa de A, porque a sua dependência de A não está mais satisfeita.

    O marcador de configuração imediata também é aplicado no caso potencialmente problemático de dependências circulares, pois uma dependência com a bandeira de imediato é equivalente a uma Pré-Dependência. Em teoria isto permite ao APT reconhecer uma situação na qual está incapaz de executar configuração imediata, abortar, e sugerir ao utilizador que a opção deverá ser desactivada temporariamente de modo a permitir que a operação prossiga. Note o uso da palavra "teoria" aqui; no mundo real este problema tem sido raramente encontrado, em versões não-estável da distribuição, e foram causados por dependências erradas do pacote em questão ou por um sistema já no estado corrompido; portanto você não deve desactivar esta opção às cegas. porque em primeiro lugar o cenário mencionado em cima não é o único problema que pode ajudar a prevenir.

    Antes de uma grande operação como dist-upgrade ser executada com esta opção desactivada você deve tentar explicitamente um install ao pacote que o APT não é capaz de configurar imediatamente; mas por favor certifique-se que também reporta o seu problema à sua distribuição e à equipa do APT com o link de bug em baixo, para que eles possa trabalhar em melhorar ou corrigir o processo de actualização.

Force-LoopBreak
    Nunca active esta opção a menos que realmente saiba o que está a fazer. Ela permite que o APT remova temporariamente um pacote essencial para quebrar um ciclo infinito de Conflito/Conflito ou Conflito/Pré-Dependência entre dois pacotes essenciais. Tal ciclo nunca deveria existir e é um bug grave.. Esta opção irá funcionar se os pacotes essenciais não forem tar, gzip, libc, dpkg, dash ou nada de que esses pacotes dependam.

Cache-Start, Cache-Grow, Cache-Limit
    O APT usa desde a versão 0.7.26 um ficheiro de cache com mapa de memória de tamanho ajustável para armazenar a informação disponível. Cache-Start actua como uma dica do tamanho que a cache irá crescer, e é por isso a quantidade de memória que o APT irá requerer no arranque. O valor predefinido é 20971520 bytes (~20 MB). Note que esta quantidade de espaço precisa estar disponível para o APT; caso contrário ele irá com certeza falhar, portanto para dispositivos com pouca memória este valor deve ser diminuído enquanto que em sistemas com muitas fontes configuradas este deve ser aumentado. Cache-Grow define em bytes com a predefinição de 1048576 (~1 MB) em quanto o tamanho da Cache será aumentado no caso do espaço definido por Cache-Start não ser suficiente. Este valor será aplicado várias vezes até que a cache seja suficientemente grande para armazenar toda a informação ou que o tamanho da cache alcance o Cache-Limit. O valor predefinido de Cache-Limit é 0 o que significa nenhum limite. Se Cache-Grow for definido para 0, o crescimento automático da cache é desactivado.

Build-Essential
    Define quais pacotes são considerados dependências essenciais de compilação.

Get
    A subsecção Get controla a ferramenta apt-get(8), por favor veja a sua documentação para mais informação acerca das opções daqui.

Cache
    A subsecção Cache controla a ferramenta apt-cache(8), por favor veja a sua documentação para mais informação acerca das opções daqui.

CDROM
    A subsecção CDROM controla a ferramenta apt-cdrom(8), por favor veja a sua documentação para mais informação acerca das opções de aqui.

O GRUPO ACQUIRE

O grupo de opções Acquire controla a descarga de pacotes assim como os vários "métodos de obtenção" responsáveis pela própria descarga (veja também sources.list(5)).

Check-Date
    Opção relacionada com segurança que predefine para verdadeira, activando as verificações relativas a hora. Desactiva-la significa que a hora da máquina não pode ser confiada,e o APT irá então desactivar todos as verificações relacionadas com horas, tais como Check-Valid-Until e verificar que o campo Date de um ficheiro release não está no futuro.

Max-FutureTime
    O tempo máximo (em segundos) antes da sua criação (como indicado pelo cabeçalho Date) que o ficheiro Release deve ser considerado como válido. O valor predefinido é 10. Podem ser criadas definições específicas de arquivo ao acrescentar a etiqueta do arquivo ao nome da opção. Preferencialmente, o mesmo pode ser conseguido para entradas sources.list(5) específicas ao usar lá a opção Date-Max-Future.

Check-Valid-Until
    Opção relacionada com segurança com predefinição a 'verdadeiro', como dar a ficheiros Release uma data de expiração previne ataques repetidos durante longo tempo e pode, por exemplo, ajudar os utilizadores a identificar mirrors que não são actualizados à muito tempo - mas a funcionalidade depende da precisão de hora no sistema do utilizador. Os responsáveis do arquivo são encorajados a criar ficheiros Release com o cabeçalho Valid-Until, mas se não o fizerem ou se preferir-se um valor mais rigoroso pode-se usar a opção Max-ValidTime seguinte. A opção Check-Valid-Until das entradas sources.list(5) deve ser preferida para desactivar a verificação seletiva em vez de usar esta sobreposição global.

Max-ValidTime
    O tempo máximo (em segundos) após a sua criação (como indicado pelo cabeçalho Date) que o ficheiro Release deve ser considerado como válido. Se o próprio ficheiro Release incluir um cabeçalho Valid-Until é usada como data de expiração a data que expira mais cedo. O valor predefinido é 0 o que significa "válido para sempre". Podem ser criadas definições específicas de arquivo ao acrescentar a etiqueta do arquivo ao nome da opção. Preferencialmente, o mesmo pode ser conseguido para entradas sources.list(5) específicas ao usar aqui a opção Valid-Until-Max.

Min-ValidTime
    O tempo mínimo (em segundos) após a sua criação (como indicado no cabeçalho Date) que o ficheiro Release deve ser considerado como válido. Utilize isto se você necessitar de usar um mirror raramente actualizado (local) de um arquivo actualizado mais frequentemente com um cabeçalho Valid-Until em vez de desactivar completamente a verificação de data de expiração. Podem e devem ser usadas definições especificas do arquivo ao acrescentar a etiqueta do arquivo ao nome da opção. Preferencialmente, pode ser conseguido o mesmo para entradas sources.list(5) específicas ao usar aqui a opção Valid-Until-Min

AllowTLS
    Permite o uso do suporte TLS interno no método http. Se definido para falso, isto desactiva completamente o suporte para TLS nos métodos próprios do apt (excluindo o método https baseado em curl). Não serão mais chamadas funções relacionadas com TLS.

PDiffs
    Tenta descarregar deltas chamados PDiffs para índices (como os ficheiros Packages) em vez de os descarregar por inteiro. Verdadeiro por predefinição. Preferencialmente, isto pode ser definido para entradas sources.list(5) específicas ou ficheiros index ao usar aqui a opção PDiffs.

    Estão também disponíveis duas sub-opções para limitar o uso de PDiffs: FileLimit pode ser usada para especificar um número máximo de ficheiros PDiff que devem ser descarregados para actualizar um ficheiro. Por outro lado SizeLimit é a percentagem máxima do tamanho de todas as patches comparadas com o tamanho do ficheiro de destino. Se um destes limites for excedido, é descarregado o ficheiro completo em vez das patches.

By-Hash
    Tenta descarregar índices via um URL construído a partir de um sumário "hashsum" do ficheiro esperado, em vez de descarregar via um nome de ficheiro bem conhecido como estável. Verdadeiro por predefinição, mas desactivado automaticamente se a fonte indicar que não tem suporte para tal. A utilização pode ser forçada com o valor especial "force". Preferencialmente, isto pode ser definido para entradas sources.list(5) específicas ou ficheiros index ao usar aqui a opção By-Hash.

Queue-Mode
    Modo de fila; Queue-Mode pode ser um de host ou access que determina como o APT paraleliza ligações de saída. host significa que será aberta uma ligação por máquina destino, access significa que será aberta uma ligação por tipo de URI.

Retries
    Número de tentativas a executar. Se isto for diferente de zero o APT irá tentar, no número fornecido de vezes, obter ficheiros falhados.

Source-Symlinks
    Usa links simbólicos para arquivos fonte. Se definido para verdadeiro, então os arquivos fonte serão links simbólicos, quando possível, em vez de cópias. A predefinição é verdadeiro.

http https
    As opções nesses scopes configuram a obtenção de transportes do APT para os protocolos HTTP e HTTPS e estão documentadas nos manuais apt-transport-http(1) e apt-transport-https(1) respetivamente.

ftp
    ftp::Proxy define o proxy predefinido a usar para URIs FTP. Está no formato standard de ftp://[[user][:pass]@]host[:port]/. Os proxies por máquina podem também ser especificados ao usar o formato ftp::Proxy::<host> com a palavra chave especial DIRECT que significa não usar nenhum proxy. Se nenhuma das definições acima for especificada, será usada a variável de ambiente ftp_proxy. Para usar um proxy FTP você tem que definir o script ftp::ProxyLogin no ficheiro de configuração. Esta entrada especifica os comandos a enviar para dizer ao servidor proxy ao que se ligar. Por favor veja /usr/share/doc/apt/examples/configure-index.gz para um exemplo de como fazer isto. As variáveis de substituição que representam o componente URI correspondente são $(PROXY_USER) $(PROXY_PASS) $(SITE_USER) $(SITE_PASS) $(SITE) e $(SITE_PORT).

    A opção timeout define o tempo limite usado por este método, este valor aplica-se à ligação assim como os tempos de limite de dados.

    São disponibilizadas várias definições para controlar o modo passivo. Geralmente é seguro deixar o modo passivo ligado, funciona em quase todos ambientes. No entanto algumas situações requerem que o modo passivo seja desactivado e em vez disso usar o modo port FTP. Isto pode ser feito globalmente ou para ligações que passam por um proxy ou para uma máquina específica (veja a amostra de ficheiro de configuração para exemplos).

    É possível usar proxy FTP sobre HTTP ao definir a variável de ambiente ftp_proxy para um URL HTTP - veja a discussão do método http em cima para a sintaxe. Você não pode definir isto no ficheiro de configuração e não é recomendado usar FTP sobre HTTP devido à sua baixa eficiência.

    A definição ForceExtended controla o uso de comandos RFC2428 EPSV e EPRT. A predefinição é falso, o que significa que estes comandos apenas são usados se a ligação de controle for IPv6. Definir isto para verdadeiro força o seu uso mesmo em ligações IPv4. Note que a maioria dos servidores FTP não suporta RFC2428.

cdrom
    Para URIs que usam o método cdrom, a única opção configurável é ponto de montagem, cdrom::Mount, o qual deve ser o ponto de montagem para o leitor de CD-ROM (ou DVD, etc.) como especificado em /etc/fstab.É possível fornecer comandos de montar e desmontar alternativos se o seu ponto de montagem não puder ser listado na fstab. A sintaxe é colocar

        /cdrom/::Mount "foo";

    dentro do bloco cdrom. É importante ter a barra final. Comandos para desmontar podem ser especificados usando o UMount.

gpgv
    Para URIs de GPGV a única opção configurável é gpgv::Options, a qual passa parâmetros adicionais ao gpgv.

CompressionTypes
    Lista dos tipos de compressão que são compreendidos pelos métodos de aquisição. Ficheiros como Packages podem estar disponíveis em vários formatos de compressão. Por predefinição os métodos de aquisição podem descomprimir e re-comprimir muitos formatos comuns como xz e gzip; com este scope os formatos suportados podem ser consultados, modificados assim como pode ser adicionado suporte para mais formatos (veja também APT::Compressor). A sintaxe para isto é:

        Acquire::CompressionTypes::Extensão de Ficheiro "Nome de método";

    Também o subgrupo Order pode ser usado para definir em que ordem o sistema de aquisição irá tentar descarregar os ficheiros comprimidos. O sistema de aquisição irá tentar com o primeiro e prosseguir com o próximo tipo de compressão na lista em caso de erro, portanto para preferir um sobre outro tipo, simplesmente adicione o tipo preferido em primeiro lugar - tipos não já adicionados serão acrescentados implicitamente ao fim da lista, então, ex.

        Acquire::CompressionTypes::Order:: "gz";

    pode ser usado para preferir ficheiros comprimidos em gzip sobre todos os outros formatos de compressão. Se o xz deve ser preferido sobre o gzip e o bzip2 a definição de configuração deverá parecer-se com isto:

        Acquire::CompressionTypes::Order { "xz"; "gz"; };

    . Não é necessário adicionar explicitamente bz2 à lista pois isso será adicionado automaticamente.

    Note que o Dir::Bin::nome de método será verificado em tempo de execução. Se esta definição estiver definida e o suporte para este formato não está compilado directamente no apt, o método apenas será usado se este ficheiro existir; ex. para o método bzip2 (o embutido) a definição é:

        Dir::Bin::bzip2 "/bin/bzip2";

    . Note também que as entradas na lista especificadas na linha de comandos serão adicionadas no fim da lista especificada nos ficheiros de configuração, mas antes das entradas predefinidas. Para preferir um tipo neste caso sobre aqueles especificados nos ficheiros de configuração você pode definir a opção directamente - não em estilo de lista. Isto não irá sobrepor a lista definida, irá apenas prefixar a lista com este tipo.

    O tipo especial uncompressed pode ser usado para dar preferência a ficheiros não comprimidos, mas note que a maioria dos arquivos não disponibiliza ficheiros não comprimidos, portanto isto é usado maioritariamente apenas para mirrors locais.

GzipIndexes
    Quando descarrega índices comprimidos em gzip (Pacotes, Fontes ou Traduções), mantêm-os localmente comprimidos em gzip em vez de os desempacotar. Isto poupa imenso espaço no disco à custa de mais pedidos à CPU quando constrói as caches de pacotes locais. Falso por predefinição.

Languages
    A subsecção Languages controla quais ficheiros Translation são descarregados e em que ordem o APT tenta mostrar as traduções das descrições. O APT irá tentar mostrar a primeira descrição disponível para a linguagem que está listada em primeiro. As linguagens podem ser definidas com os seus códigos de linguagem curtos ou longos. Note que nem todos os arquivos disponibilizam ficheiros Translation para todas as linguagens - os códigos de linguagem longos são especialmente raros.

    A lista predefinida inclui "environment" e "en". "environment" tem um significado especial aqui: será substituída em tempo de execução por códigos de linguagem extraídos a partir da variável de ambiente LC_MESSAGES. Também irá assegurar que estes códigos não são incluídos duas vezes na lista. Se LC_MESSAGES estiver definida para "C" apenas o ficheiro Translation-en será usado (se disponível). Para forçar o APT a não usar nenhum ficheiro de tradução use a definição Acquire::Languages=none. "none" é outro código de significado especial que irá parar a procura por um ficheiro Translation apropriado. Isto diz ao APT para também descarregar estes ficheiros sem realmente os usar a menos que o ambiente especifique as linguagens. Portanto o seguinte exemplo de configuração irá resultar na ordem "en, de" num ambiente em Inglês e "de, en" num ambiente em Alemão. Note que o "fr" é descarregado, mas não é usado a menos que o APT seja usado num ambiente em Francês (onde a ordem deveria ser "fr, de, en".

        Acquire::Languages { "environment"; "de"; "en"; "none"; "fr"; };

    Nota: Para prevenir problemas resultantes do APT ser executado em ambientes diferentes (ex. por diferentes utilizadores ou por outros programas) todos os ficheiros de Tradução que se encontram em /var/lib/apt/lists/ serão adicionados ao final da lista (após um "none" implícito).

ForceIPv4
    Ao descarregar, força o uso exclusivo do protocolo IPv4.

ForceIPv6
    Ao descarregar, força o uso exclusivo do protocolo IPv6.

MaxReleaseFileSize
    O tamanho máximo dos ficheiros Release/Release.gpg/InRelease. A predefinição é 10MB.

EnableSrvRecords
    Esta opção controla se o apt irá usar o registo do servidor DNS SRV como especificado em RFC 2782 para selecionar um servidor alternativo a onde ligar: A predefinição é "true".

AllowInsecureRepositories
    Permite às operações de actualização carregarem ficheiros de dados a partir de repositórios se informação se segurança suficiente. O valor predefinido é false". O conceito, implicações assim como alternativas estão detalhados em apt-secure(8).

AllowWeakRepositories
    Permite às operações de actualização carregarem ficheiros de dados a partir de repositórios que disponibilizam informação de segurança, mas estes já não são considerados suficiente fortes criptograficamente. O valor predefinido é false". O conceito, implicações assim como alternativas estão detalhados em apt-secure(8).

AllowDowngradeToInsecureRepositories
    Permite que um repositório anteriormente assinado com gpg se torne em não-assinado durante uma operação de actualização. Quando não existe uma assinatura válida para um repositório anteriormente de confiança, o apt irá recusar a actualização. Esta opção pode ser usada para ultrapassar esta proteção. Certamente você nunca vai querer activar isto. A predefinição é false. O conceito, implicações assim como alternativas estão detalhadas em apt-secure(8).

Changelogs::URI scope
    Adquirir changelogs só pode ser feito se for conhecido um URL de onde os obter. De preferência o ficheiro Release indica isto num campo 'Changelogs'. Se isto não estiver disponível, é usado o campo Label/Origin do ficheiro Release para verificar se uma opção Acquire::Changelogs::URI::Label::LABEL ou Acquire::Changelogs::URI::Origin::ORIGIN existem e se sim é utilizado este valor. Este valor no ficheiro Release pode ser sobreposto com Acquire::Changelogs::URI::Override::Label::LABEL ou Acquire::Changelogs::URI::Override::Origin::ORIGIN. O valor deve ser um URI normal para um ficheiro de texto, excepto se os dados desse pacote específico for substituído pelo marcador de posição @CHANGEPATH@. O valor para isto é: 1. se o pacote pertence a um componente (ex. main) esta é a primeira parte, caso contrário é omitida. 2. a primeira letra do nome do pacote fonte, excepto se o nome do pacote fonte começar com 'lib' e neste caso será as primeiras quatro letras. 3. O nome completo do pacote fonte. 4. O nome completo outra vez e 5. a versão da fonte. A primeira (se presente), segunda, terceira e quarta partes são separadas por uma barra ('/') e entre a quarta e quinta partes fica um underscore ('_'). O valor especial 'no' está disponível para esta opção e indica que esta fonte não pode ser usada para adquirir ficheiros changelog a partir dela. Neste caso será tentada outra fonte se estiver disponível.

CONFIGURAÇÃO ESPECÍFICA DE BINÁRIO

Especialmente com a introdução do binário apt pode ser útil para definir certas opções apenas para um binário específico mesmo como opções que parecessem apenas afectar um certo binário como APT::Get::Show-Versions afecta apt-get assim como apt.

Definir uma opção para apenas um binário específico só pode ser conseguido ao definir a opção dentro escopo Binary::specific-binary. Definir a opção APT::Get::Show-Versions apenas para o apt pode, por exemplo, ser feito de outra maneira definindo Binary::apt::APT::Get::Show-Versions.

Note que como visto na secção DESCRIÇÃO mais acima, você não pode definir opções binário-especificas na própria linha de comandos nem em ficheiros de configuração carregados via linha de comandos.

DIRECTÓRIOS

A secção Dir::State tem directórios que pertencem à informação de estado local. lists é o directório para colocar listas de pacotes descarregadas e status é o nome do ficheiro de estado do dpkg(1). preferences é o nome do ficheiro preferences do APT. Dir::State contém o directório predefinido para pré-fixar em todos os sub-items que não começam com / ou ./.

Dir::Cache contém localizações pertencentes a informação da cache local, como as caches de dois pacotes srcpkgcache e pkgcache assim como a localização onde colocar arquivos descarregados, Dir::Cache::archives. A geração de caches pode ser desligada ao definir pkgcache ou srcpkgcache para "". Isto irá abrandar o arranque mas poupar espaço em disco. Provavelmente é preferível desligar o pkgcache em vez do srcpkgcache. Tal como Dir::State o directório predefinido é contido em Dir::Cache

Dir::Etc contém a localização dos ficheiros de configuração, sourcelist fornece a localização da sourcelist e main é o ficheiro da configuração predefinida (definição não tem efeito, a menos que seja feita a partir do ficheiro de configuração especificado por APT_CONFIG).

A definição Dir::Parts lê todos os fragmentos de configuração em ordem léxica a partir do directório especificado. Após isto estar feito então é carregado o ficheiro de configuração principal.

Programas binários são apontados por Dir::Bin. Dir::Bin::Methods especifica a localização dos manipuladores do método e de gzip, bzip2, lzma, dpkg, apt-get dpkg-source dpkg-buildpackage e apt-cache especifica a localização dos respectivos programas.

O item de configuração RootDir tem um significado especial. Se definido, todos os caminhos serão relativos a RootDir, mesmo caminhos que estão absolutamente especificados. Então, por exemplo, se RootDir estiver definido para /tmp/staging e Dir::State::status estiver definido para /var/lib/dpkg/status, então o ficheiro status será procurado em /tmp/staging/var/lib/dpkg/status. Se desejar usar como prefixo apenas caminhos relativos, defina antes Dir.

A lista Ignore-Files-Silently pode ser usada para especificar quais os ficheiros que o APT deve ignorar em silêncio enquanto analisa os ficheiros nos directórios de fragmento. Por predefinição que termine com .disabled, ~, .bak ou .dpkg-[a-z]+ é ignorado em silêncio. Como visto no último valor predefinido, estes padrões podem usar sintaxe de expressão regular.

APT EM DSELECT

Quando o APT é usado com um método dselect(1), várias directivas de configuração controlam o comportamento predefinido. Estas estão na secção DSelect.

Clean
    Modo Cache Clean: este valor deve ser um de always, prompt, auto, pre-auto e never. always e prompt irão remover todos os pacotes da cache após a actualização, prompt (a predefinição) fá-lo condicionalmente. auto apenas aqueles pacotes que já não podem ser descarregados (por exemplo, substituídos por uma nova versão). pre-auto executa esta acção antes de descarregar novos pacotes.

options
    O conteúdo desta variável é passado ao apt-get(8) como opções de linha de comandos quando é corrido para a fase de instalação.

Updateoptions
    O conteúdo desta variável é passado ao apt-get(8) como opções de linha de comandos quando é executado para a fase de actualização.

PromptAfterUpdate
    Se for verdadeira a operação [U]pdate no dselect(1) irá sempre avisar para continuar. A predefinição é avisar apenas em caso de erro.

COMO O APT CHAMA O DPKG(1)

Várias directivas de configuração controlam como o APT invoca o invokes dpkg(1). Estas estão na secção DPkg.

options
    Isto é uma lista de opções para passar ao dpkg(1). As opções têm de ser especificadas usando a notação de lista e cada item da lista é passado como um argumento único ao dpkg(1).

Path
    Esta é uma string que define a variável de ambiente PATH usada quando se corre o dpkg. Pode ser definida para qualquer valor válido dessa variável de ambiente, ou para string vazia, e neste caso a variável não é alterada.

Pre-Invoke, Post-Invoke
    Isto é uma lista de comandos shell para executar antes/após invocar o dpkg(1). Tal como as opções isto tem que ser especificado em notação listada. Os comandos são invocados em ordem usando /bin/sh, caso algum deles falhe, o APT irá abortar.

Pre-Install-Pkgs
    Isto é uma lista de comandos shell para executar antes de invocar o dpkg(1). Tal como as opções isto tem que ser especificado em notação listada. Os comandos são invocados em ordem usando /bin/sh, caso algum deles falhe, o APT irá abortar. O APT irá passar para os comandos os nomes de ficheiros de todos os ficheiros .deb que vai instalar, um por cada linha no descritor de ficheiro requisitado, usando por predefinição a entrada standard.

    A versão 2 deste protocolo envia mais informação através do descritor de ficheiro requerido: uma linha com o texto VERSION 2, o espaço de configuração do APT, e uma lista de acções de pacote com informação de nome de ficheiro e versão.

    Cada linha directiva de configuração tem a forma chave=valor. Caracteres especiais (sinais de igual, novas-linhas, caracteres não imprimíveis, aspas, e sinais de percentagem na chave e novas-linhas, caracteres não imprimíveis, e sinais de percentagem no value) são %-codificados. As listas são representadas por múltiplas linhas chave=valor com a mesma chave. A secção de configuração termina com uma linha vazia.

    As linhas de acção de pacotes consistem de cinco campos na Versão 2: nome do pacote (sem a qualificação da arquitectura mesmo que alienígena), versão anterior, direcção da alteração de versão (< para actualizações, > para regresses (downgrades), = para nenhuma alteração), nova versão, acção. Os campos da versão são "-" para nenhuma versão (por exemplo quando se instala um pacote pela primeira vez; nenhuma versão é tratada como anterior a nenhuma versão real, então isso é uma actualização, indicada como - < 1.23.4). O campo de acção é "**CONFIGURE**" se o pacote está a ser configurado, "**REMOVE**" se está a ser removido, ou o nome de ficheiro de um ficheiro .deb se estiver a ser desempacotado.

    Na versão 3 após cada campo de versão segue-se a arquitectura dessa versão, a qual é "-" se não existir nenhuma versão, e um campo que mostra o tipo de MultiArch "same", "foreign", "allowed" ou "none". Note que "none" é um nome de tipo incorreto o qual é apenas mantido para permanecer compatível, deve ser lido como "no" e os utilizadores são encorajados a suportar ambos.

    A versão do protocolo a ser usado para o comando cmd pode ser escolhida ao definir DPkg::Tools::options::cmd::Version correctamente, sendo a predefinição a versão 1. Se o APT não suportar a versão requisitada irá então enviar a informação na versão mais alta que suporta.

    O descritor de ficheiro a ser usado para enviar a informação pode ser requisitado com DPkg::Tools::options::cmd::InfoFD o qual usa 0 por predefinição para a saída standard e está disponível desde a versão 0.9.11. como confirmação pode ser detetado o suporte para a opção ao observar a variável de ambiente APT_HOOK_INFO_FD que contém o número do descritor de ficheiro usado.

Run-Directory
    O APT muda para este directório (chdir) antes de invocar o dpkg(1), a predefinição é /.

Build-options
    Estas opções são passadas ao dpkg-buildpackage(1) quando compila pacotes, a predefinição é desactivar a assinatura e produzir todos os binários.

DPkg::ConfigurePending
    Se esta opção for definida, o APT irá chamar dpkg --configure --pending para permitir ao dpkg(1) lidar como todas as configurações e triggers requisitados. Esta opção é activada por predefinição, mas desactiva-la pode ser útil se deseja correr o APT múltiplas vezes numa sequência - ex. numa instalação. Neste cenário você pode desactivar esta opção em todas excepto na última execução.

OPÇÕES PERIODIC E ARCHIVES

Os grupos de opções APT::Periodic e APT::Archives configuram o comportamento das actualizações periódicas do APT, o que é feito pelo script /usr/lib/apt/apt.systemd.daily. Veja o cabeçalho deste script para uma breve documentação das suas opções.

OPÇÕES DE DEPURAÇÃO

Activar opções na secção Debug:: irá causar o envio de informação de depuração para o fluxo de erros standard do programa utilizando as bibliotecas do apt, ou activar modos especiais do programa que são principalmente úteis para depurar o comportamento do apt. A maioria destas opções não têm interesse para o utilizador normal, mas algumas podem ter:

    • Debug::pkgProblemResolver activa mensagens na saída acerca das decisões tomadas por dist-upgrade, upgrade, install, remove, purge.

    • Debug::NoLocking desactiva o bloqueio de todos os ficheiros. Isto pode ser usado para executar algumas operações (por exemplo, apt-get -s install) como um utilizador não root.

    • Debug::pkgDPkgPM escreve a linha de comandos actual de cada vez que o apt invoca o dpkg(1).

    • Debug::IdentCdrom desactiva a inclusão de dados statfs em IDs de CD-ROM.

Segue-se uma lista completa de opções de depuração para o apt.

Debug::Acquire::cdrom
    Escreve informação relacionada com o acesso a fontes de cdrom://.

Debug::Acquire::ftp
    Escreve informação relacionada com o descarregamento de pacotes usando FTP.

Debug::Acquire::http
    Escreve informação relacionada com o descarregamento de pacotes usando HTTP.

Debug::Acquire::https
    Escreve informação relacionada com o descarregamento de pacotes usando HTTPS.

Debug::Acquire::gpgv
    Escreve informação relacionada com a verificação de assinaturas criptográficas usando gpg.

Debug::aptcdrom
    Escreve informação acerca do processo de aceder a coleções de pacotes armazenados em CD-ROMs.

Debug::BuildDeps
    Descreve os processos de resolver dependências de compilação no apt-get(8).

Debug::Hashes
    Escreve cada hash criptográfico que é gerado pelas bibliotecas do apt.

Debug::IdentCDROM
    Não inclui informação de statfs, nomeadamente o número de blocos usados e livres no sistema de ficheiros do CD-ROM, quando gera um ID para um CD-ROM.

Debug::NoLocking
    Desactiva o bloqueio de todos os ficheiros. Por exemplo, isto irá permitir o funcionamento de duas instâncias do “apt-get update” ao mesmo tempo.

Debug::pkgAcquire
    Regista no log quando os items são adicionados ou removidos da fila de download global.

Debug::pkgAcquire::Auth
    Escreve mensagens de estado e erros relacionados com a verificação de checksums e assinaturas criptográficas dos ficheiros descarregados.

Debug::pkgAcquire::Diffs
    Escreve informação acerca do download e aplicação de diffs de lista de índice do pacote, e erros relacionados com as diffs de lista de índice do pacote.

Debug::pkgAcquire::RRed
    Escreve informação relacionada com a aplicação de patch na lista de pacotes do apt quando se descarrega diffs de índice em vez de índices completos.

Debug::pkgAcquire::Worker
    Regista todas as interacções com os sub-processos que realmente executam os downloads.

Debug::pkgAutoRemove
    Regista no log eventos relacionados com o estado instalado-automaticamente de pacotes e com a remoção de pacotes não utilizados.

Debug::pkgDepCache::AutoInstall
    Gera mensagens de depuração descrevendo quais pacotes estão a ser instalados automaticamente para resolver dependências. Isto corresponde ao passo de instalação-automática inicial executado em, ex, apt-get install, e não ao solucionador de dependências total do apt; veja Debug::pkgProblemResolver para isso.

Debug::pkgDepCache::Marker
    Gera mensagens de depuração descrevendo qual pacote está marcado como manter/instalar/remover enquanto o "solucionador-de-problemas" faz o seu trabalho. Cada adição ou remoção pode activar acções adicionais; elas são mostradas indentadas dois espaços adicionais sob da entrada original. O formato de cada linha é MarkKeep, MarkDelete ou MarkInstall seguido por package-name <a.b.c -> d.e.f | x.y.z> (secção) onde a.b.c é a versão actual do pacote, d.e.f é a versão considerada para instalação e x.y.z é a versão mais recente, mas não considerada para instalação (devido a baixa pontuação). Os dois últimos podem ser omitidos se não existir nenhum ou for a mesma versão que aquela instalada. section é o nome da secção onde o pacote aparece.

Debug::pkgDPkgPM
    Ao invocar o dpkg(1), escreve com precisão a linha de comandos com a qual está a ser invocado, com argumentos separados por um caractere de espaço único.

Debug::pkgDPkgProgressReporting
    Escreve todos os dados recebidos do dpkg(1) no descritor de ficheiro de estado e quaisquer erros encontrados enquanto os analisa.

Debug::pkgOrderList
    Gera um rastro do algoritmo que decide a ordem na qual o apt deve passar os pacotes ao dpkg(1).

Debug::pkgPackageManager
    Escreve mensagens de estado seguindo os passos executados quando invoca o dpkg(1).

Debug::pkgPolicy
    Escreve a prioridade da cada lista de pacote no arranque.

Debug::pkgProblemResolver
    Rastreia a execução do solucionador de dependências (isto só se aplica ao que acontece quando é encontrado um problema de dependências complexo).

Debug::pkgProblemResolver::ShowScores
    Mostra uma lista de todos os pacotes instalados com as suas pontuações calculadas usadas pelo pkgProblemResolver. A descrição do do pacote é a mesma que é descrita em Debug::pkgDepCache::Marker

Debug::sourceList
    Escreve informação acerca dos fornecedores lida de /etc/apt/vendors.list.

Debug::RunScripts
    Mostra os comandos externos que são chamados por hooks do apt. Isto inclui por exemplo as opções de configuração DPkg::{Pre,Post}-Invoke ou APT::Update::{Pre,Post}-Invoke.

EXEMPLOS

/usr/share/doc/apt/examples/configure-index.gz é um ficheiro de configuração que mostra valores exemplo para todas as opções possíveis.

FICHEIROS

/etc/apt/apt.conf
    Ficheiro de configuração do APT. Item de Configuração: Dir::Etc::Main.

/etc/apt/apt.conf.d/
    Ficheiros de configuração fragmentados do APT. Item de Configuração: Dir::Etc::Parts.

VEJA TAMBÉM

apt-cache(8), apt-config(8), apt_preferences(5).

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

Daniel Burrows <dburrows@debian.org>
    Documentação inicial do Debug::*.

NOTAS

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