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 é 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.
Color
Este escopo define cores e estilos. As cores
básicas suportadas são
red,
green,
yellow,
blue,
magenta,
cyan, e
white.
O sub-escopo action define as cores para listas de pacotes
em install e comandos semelhantes. As seguintes opções
podem ser definidas: APT::Color::Action::Upgrade,
APT::Color::Action::Install,
APT::Color::Action::Install-Dependencies,
APT::Color::Action::Downgrade, APT::Color::Action::Remove;
correspondendo às suas listas no resultado do apt(8).
Cada cor pode referenciar uma ou mais de outras
opções de cor pelo nome, relativo a APT::Color. As suas
sequências de escape serão combinadas.
APT::Color::Bold "\x1B[1m";
APT::Color::Action::Install "cyan";
APT::Color::Action::Upgrade "bold action::install";
As cores podem ser ligadas ou desligadas completamente ao definir
APT::Color para
yes ou
no, ao utilizar as
variáveis de ambiente
NO_COLOR ou
APT_NO_COLOR, ou usando
as opções de linha de comandos
--color,
--no-color.
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).
Snapshot
Instantâneo a usar para todos os
repositórios configurados com Snapshot: yes. Veja também
sources.list(5), a opção
--snapshot que define
este valor, e
Acquire::Snapshots::URI em baixo.
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.
NeverAutoRemove
Nunca autoremove pacotes que correspondem à(s)
expressão(ões) regulares.
Protect-Kernels
Esta opção diz ao apt autoremove que os
kernels são protegidos e predefine para verdadeiro. No caso em que os
kernels não são protegidos eles são tratados como
qualquer outro pacote.
VersionedKernelPackages
Define as expressão(ões) regulares para
pacotes de kernel versionados. Com base nestas expressões um conjunto
de regras é injetado no apt semelhante às expressões
regulares APT::NeverAutoRemove.
NeverAutoRemove::KernelCount
Mantém uma quantidade personalizada de kernels
quando faz autoremove e está predefinido para 2, o que significa que
dois kernels são mantidos. O apt irá sempre manter o kernel que
está em execução e o mais recente. Se o kernel mais
recente for o mesmo que o kernel em execução, é mantido o
segundo mais recente. Devido a isto, qualquer valor menor que 2 será
ignorado. Se você desejar apenas o kernel mais recente, você
deve definir APT::Protect-Kernels para falso.
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
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 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
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.
Snapshots::URI scope
Tal como changelogs, os instantâneos só
podem ser adquiridos se for conhecido um URI de onde os obter.
Preferencialmente o ficheiro Release indica isto num campo 'Snapshots'. Se
isto não estiver disponível o campo Label/Origin do ficheiro
Release é usado para verificar se uma opção
Acquire::Snapshots::URI::Label::LABEL ou
Acquire::Snapshots::URI::Origin::ORIGIN existe e se sim esse valor
é tomado. O valor no ficheiro Release pode ser sobreposto com
Acquire::Snapshots::URI::Override::Label::LABEL ou
Acquire::Snapshots::URI::Override::Origin::ORIGIN. O valor deve ser um
URI normal para um directório, excepto com o ID de instantâneo
substituído pelo marcador de posição @SNAPSHOTID@. O
valor especial 'no' está disponível para esta
opção indicando que esta fonte não pode ser usada para de
onde se adquirir instantâneos. Será tentada outra fonte se
disponível neste caso.
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::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 interaçõ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 é 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.
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