PACMAN.CONF(5) Manual do pacman PACMAN.CONF(5)

pacman.conf - arquivo de configuração do gerenciador de pacotes pacman

/etc/pacman.conf

O pacman, usando libalpm(3), tentará ler pacman.conf cada vez que for chamado. Este arquivo de configuração é dividido em seções ou repositórios. Cada seção define um repositório de pacotes que o pacman pode usar ao procurar pacotes no modo --sync. A exceção é a seção de opções, que define opções globais.

Os comentários são suportados apenas começando uma linha com cerquilha (#). Os comentários não podem começar no meio de uma linha.

#
# pacman.conf
#
[options]
NoUpgrade = etc/passwd etc/group etc/shadow
NoUpgrade = etc/fstab
[core]
Include = /etc/pacman.d/core
[custom]
Server = file:///home/pkgs

Nota

Cada diretiva deve estar em CamelCase, ou seja, as palavras são unidas sem espaços e cada uma é iniciada com letra maiúscula. Se as letras maiúsculas não forem respeitadas, a diretiva não será reconhecida. Por exemplo, noupgrade ou NOUPGRADE não vão funcionar.

RootDir = /caminho/para/diretório/raiz

Define o diretório raiz padrão de instalação para o pacman. Esta opção é usada se você deseja instalar um pacote em uma partição montada temporariamente "pertencente" a outro sistema ou para uma instalação em chroot. NOTA: Se o caminho da base de dados ou o arquivo de log não forem especificados na linha de comando ou no pacman.conf(5), seu local padrão estará dentro deste caminho raiz.

DBPath = /caminho/para/diretório/bd

Substitui o local padrão do diretório de topo de nível da base de dados. O padrão é /var/lib/pacman/. A maioria dos usuários não precisará definir esta opção. NOTA: se especificado, este é um caminho absoluto e o caminho raiz não é prefixado automaticamente.

CacheDir = /caminho/para/diretório/cache

Substitui o local padrão do diretório de cache do pacote. O padrão é /var/cache/pacman/pkg/. Vários diretórios de cache podem ser especificados e são tentados na ordem em que estão listados no arquivo de configuração. Se um arquivo não for encontrado em nenhum diretório de cache, ele será baixado no primeiro diretório de cache com acesso de escrita. NOTA: este é um caminho absoluto, o caminho raiz não é prefixado automaticamente.

HootDir = /caminho/para/diretório/hook

Adiciona diretórios para procurar hooks do alpm, além do diretório de hooks do sistema (/usr/share/libalpm/hooks/). O padrão é /etc/pacman.d/hooks. Vários diretórios podem ser especificados com hooks em diretórios posteriores, tendo precedência sobre hooks em diretórios anteriores. NOTA: este é um caminho absoluto, o caminho raiz não é prefixado automaticamente. Para obter mais informações sobre os hooks do alpm, consulte alpm-hooks(5).

GPGDir = /caminho/para/diretório/gpg

Substitui o local padrão do diretório que contém os arquivos de configuração do GnuPG. O padrão é /etc/pacman.d/gnupg/. Este diretório deve conter dois arquivos: pubring.gpg e trustdb.gpg. pubring.gpg contém as chaves públicas de todos os empacotadores. trustdb.gpg contém uma base de dados chamada trust, que especifica que as chaves são autênticas e confiáveis. NOTA: este é um caminho absoluto, o caminho raiz não é anexado automaticamente.

LogFile = /caminho/para/arquivo/log

Substitui o local padrão do arquivo de log pacman. O padrão é /var/log/pacman.log. Este é um caminho absoluto e o diretório raiz não é prefixado.

HoldPkg = pacote ...

Se um usuário tentar remover um pacote que está listado no HoldPkg, o pacman solicitará confirmação antes de continuar. Padrões de glob no estilo shell são permitidos.

IgnorePkg = pacote ...

Instrui o pacman a ignorar quaisquer atualizações para este pacote ao executar um --sysupgrade. Padrões de glob no estilo shell são permitidos.

IgnoreGroup = grupo ...

Instrui o pacman a ignorar quaisquer atualizações para todos pacotes neste grupo ao executar um --sysupgrade. Padrões de glob no estilo shell são permitidos.

Include = /caminho/para/arquivo/configuração

Inclui outro arquivo de configuração. Este arquivo pode incluir repositórios ou opções gerais de configuração. Os curingas nos caminhos especificados serão expandidos com base nas regras de glob(7).

Architecture = auto &| i686 &| x86_64 | ...

Se definido, o pacman permitirá apenas a instalação de pacotes das arquiteturas especificadas (p.ex., i686, x86_64 etc.). O valor especial auto usará a arquitetura do sistema, fornecida por “uname -m”. Se não estiver definida, nenhuma verificação de arquitetura será feita. NOTA: Pacotes com a arquitetura especial any sempre podem ser instalados, pois eles devem ser independentes da arquitetura.

XferCommand = /caminho/para/comando %u

Se definido, um programa externo será usado para baixar todos os arquivos remotos. Todas as instâncias de %u serão substituídas pelo URL de download. Se presente, as instâncias de %o serão substituídas pelo nome do arquivo local, além de uma extensão “.parte”, que permite que programas como o wget façam o resumo do arquivo corretamente.

Essa opção é útil para usuários que enfrentam problemas com o suporte HTTP/FTP interno ou precisam do suporte a proxy mais avançado que vem com utilitários como wget.

NoUpgrade = arquivo ...

Todos os arquivos listados com uma diretiva NoUpgrade nunca serão tocados durante a instalação/atualização de um pacote, e os novos arquivos serão instalados com a extensão .pacnew. Esses arquivos se referem aos arquivos no arquivo compactado, portanto, não inclua a barra inicial (o RootDir) ao especificá-los. Padrões de glob no estilo shell são permitidos. É possível inverter as correspondências acrescentando um arquivo com um ponto de exclamação. Os arquivos invertidos resultarão na inclusão de novos arquivos na lista negra na lista de permissões. As correspondências subsequentes substituirão as anteriores. Um ponto de exclamação ou barra invertida literal inicial precisa ser escapado.

NoExtract = arquivo ...

Todos os arquivos listados com uma diretiva NoExtract nunca serão extraídos de um pacote para o sistema de arquivos. Isso pode ser útil quando você não deseja que parte de um pacote seja instalada. Por exemplo, se a raiz do seu httpd usa um index.php, você pode não querer que o arquivo index.html seja extraído do pacote apache. Esses arquivos se referem aos arquivos no arquivo compactado, portanto, não inclua a barra inicial (o RootDir) ao especificá-los. Padrões de glob no estilo shell são permitidos. É possível inverter as correspondências acrescentando um arquivo com um ponto de exclamação. Os arquivos invertidos resultarão na inclusão de novos arquivos na lista negra na lista de permissões. As correspondências subsequentes substituirão as anteriores. Um ponto de exclamação ou barra invertida literal inicial precisa ser escapado.

CleanMethod = KeepInstalled &| KeepCurrent

Se definida como KeepInstalled (o padrão), a operação -Sc limpará os pacotes que não estão mais instalados (não presentes na base de dados local). Se definida como KeepCurrent, -Sc limpa pacotes desatualizados (não presentes em nenhuma base de dados de sincronização). O segundo comportamento é útil quando o cache do pacote é compartilhado entre várias máquinas, onde as bases de dados locais geralmente são diferentes, mas as bases de dados de sincronização em uso podem ser as mesmas. Se os dois valores forem especificados, os pacotes serão limpos apenas se não estiverem instalados localmente e não estiverem presentes em nenhuma base de dados de sincronização conhecida.

SigLevel = ...

Define o nível de verificação de assinatura padrão. Para mais informações, consulte Verificação de Assinatura de Pacotes e Bases de Dados abaixo.

LocalFileSigLevel = ...

Define o nível de verificação de assinatura para instalar pacotes usando a operação "-U" em um arquivo local. Usa o valor de SigLevel como o padrão.

RemoteFileSigLevel = ...

Define o nível de verificação de assinatura para instalar pacotes usando a operação "-U" em um arquivo remoto URL. Usa o valor de SigLevel como o padrão.

UseSyslog

Registra mensagens de ação através de syslog(). Isto irá inserir entradas de log em /var/log/messages ou equivalente.

Color

Habilita cores automaticamente somente quando a saída do pacman estiver em um tty.

NoProgressBar

Desabilita barras de progresso. Isso é útil para terminais que não têm suporte a caracteres de escape.

CheckSpace

Executa uma verificação aproximada do espaço em disco disponível adequado antes de instalar os pacotes.

VerbosePkgLists

Exibe o nome, a versão e o tamanho dos pacotes alvos formatados como uma tabela para operações de atualização, sincronização e remoção.

DisableDownloadTimeout

Desativa padrões para limite de baixa velocidade e tempo limite em downloads. Use isso se você tiver problemas para baixar arquivos com proxy e/ou gateway de segurança.

ParallelDownloads = ...

Especifica o número de fluxos de download simultâneos. O valor precisa ser um número inteiro positivo. Se esta opção de configuração não for definida, apenas um fluxo de download é usado (p.ex., downloads acontecem sequencialmente).

Cada seção do repositório define um nome de seção e pelo menos um local onde os pacotes podem ser encontrados. O nome da seção é definido pela string entre colchetes (os dois acima são core e custom). Os nomes do repositório devem ser exclusivos e o nome local é reservado para a base de dados dos pacotes instalados. Os locais são definidos com a diretiva Server e seguem uma estrutura de nomenclatura de URL. Se você quiser usar um diretório local, poderá especificar o caminho completo com um prefixo “file://”, como mostrado acima.

Uma maneira comum de definir locais de base de dados usa a diretiva Include. Para cada repositório definido no arquivo de configuração, uma única diretiva Include pode conter um arquivo que lista os servidores para esse repositório.

[core]
# usa este servidor primeiro
Server = ftp://ftp.archlinux.org/$repo/os/$arch
# em seguida, usa servidores definidos no mirrorlist abaixo
Include = {sysconfdir}/pacman.d/mirrorlist

A ordem dos repositórios nos arquivos de configuração é importante; os repositórios listados primeiro terão precedência sobre os listados posteriormente no arquivo quando os pacotes em dois repositórios tiverem nomes idênticos, independentemente do número da versão.

Include = caminho

Inclui outro arquivo de configuração. Este arquivo pode incluir repositórios ou opções gerais de configuração. Os curingas nos caminhos especificados serão expandidos com base nas regras de glob(7).

Server = url

Uma URL completa para um local onde a base de dados, os pacotes e as assinaturas (se disponíveis) para este repositório podem ser encontrados.

Durante a análise, o pacman definirá a variável $repo com o nome da seção atual. Isso geralmente é utilizado em arquivos especificados usando a diretiva Include, para que todos os repositórios possam usar o mesmo arquivo de espelho. O pacman também define a variável $arch como o primeiro valor da opção Architecture, para que o mesmo arquivo de espelho possa ser usado para diferentes arquiteturas.

SigLevel = ...

Define o nível de verificação de assinatura para este repositório. Para mais informações, consulte Verificação de Assinatura de Pacotes e Bases de Dados abaixo.

Usage = ...

Define o nível de uso para este repositório. Esta opção leva uma lista de tokens que devem ser pelo menos um dos seguintes:

Sync

Habilita atualizações para este repositório.

Search

Habilita pesquisa para este repositório.

Install

Habilita a instalação de pacotes deste repositório durante uma operação --sync.

Upgrade

Permite que este repositório seja uma fonte válida de pacotes ao executar um --sysupgrade.

All

Habilita todos os recursos acima para o repositório. Esse é o padrão se não for especificado.

Observe que um repositório ativado pode ser operado explicitamente, independentemente do nível de uso definido.

A diretiva SigLevel é válida nas seções [options] e de repositório. Se usado em [options], ela define um valor padrão para qualquer repositório que não forneça a configuração.

•Se definida com Never, nenhuma verificação de assinatura é feita.
•Se definida com Opcional, as assinaturas serão verificadas quando presentes, mas bases de dados e pacotes não assinados também serão aceitos.
•Se definida com Required, assinaturas serão exigidas em todos os pacotes e bases de dados.

Como alternativa, você pode obter um controle mais refinado, combinando algumas das opções e prefixos descritos abaixo. Todas as opções em um arquivo de configuração são processadas da maneira de cima para baixo, da esquerda para a direita, onde as opções posteriores substituem e/ou complementam as anteriores. Se SigLevel for especificado em uma seção do repositório, o valor inicial será o da seção [options] ou o padrão interno do sistema, como mostrado abaixo, se não for especificado.

As opções são divididas em dois grupos principais, descritos abaixo. Termos usados como “marginalmente confiável” são termos usados pelo GnuPG, para obter mais informações, consulte gpg(1).

Quando verificar

Estas opções controlam se e quando verificações de assinaturas são feitas.

Never

Toda verificação de assinatura é suprimida, mesmo se assinaturas estiverem presentes.

Optional (padrão)

Assinaturas são verificadas se presentes; a ausência de assinatura não é um erro. Uma assinatura inválida é um erro fatal, assim como a assinatura de uma chave que não está no chaveiro.

Required

Assinaturas são exigidas; ausência de assinatura ou uma assinatura inválida é um erro fatal, assim como a assinatura de uma chave que não está no chaveiro.

O que é permitido

Essas opções controlam quais assinaturas são vistas como permitidas. Observe que nenhuma dessas opções permite a aceitação de assinaturas inválidas ou expiradas ou de chaves revogadas.

TrustedOnly (padrão)

Se uma assinatura for verificada, ela deverá estar no chaveiro e ser totalmente confiável; a confiança marginal não atende a esse critério.

TrustAll

Se uma assinatura for verificada, ela deve estar no chaveiro, mas não é necessário que seja atribuído um nível de confiança (p.ex., confiança desconhecida ou marginal).

Além disso, as opções nos dois grupos podem ser prefixadas com Package ou Database, o que fará com que ela tenha efeito apenas no tipo de objeto especificado. Por exemplo, PackageTrustAll permitiria assinaturas marginais e desconhecidas de nível de confiança para pacotes.

O padrão embutido é o seguinte:

SigLevel = Optional TrustedOnly

Se você possui vários pacotes personalizados, geralmente é mais fácil gerar seu próprio repositório local personalizado do que instalá-los todos com a opção --upgrade. Tudo o que você precisa fazer é gerar uma base de dados de pacotes compactados no diretório com esses pacotes para que o pacman possa encontrá-lo quando executado com --refresh.

repo-add /home/pkgs/custom.db.tar.gz /home/pkgs/*.pkg.tar.gz

O comando acima vai gerar uma base de dados compactada chamada /home/pkgs/custom.db.tar.gz. Observe que a base de dados deve estar no formato definido no arquivo de configuração e {ext} é um tipo de compactação válida conforme documentado em repo-add(8). É isso! Agora configure sua seção personalizada no arquivo de configuração, como mostrado no exemplo de configuração acima. O pacman agora usará o repositório de pacotes. Se você adicionar novos pacotes ao repositório, lembre-se de gerar novamente a base de dados e use a opção --refresh do pacman.

Para informações sobre o comando repo-add, veja “repo-add --help” ou repo-add(8).

pacman(8), libalpm(3)

Consulte o site do pacman em https://archlinux.org/pacman/ para obter informações atuais sobre o pacman e suas ferramentas relacionadas.

Bugs? Você deve estar brincando; não há erros neste software. Mas se por acaso estivermos errados, envie um relatório de erro com o máximo de detalhes possível no rastreador de erros do Arch Linux na seção Pacman.

Atuais mantenedores:

•Allan McRae <allan@archlinux.org>
•Andrew Gregory <andrew.gregory.8@gmail.com>
•Eli Schwartz <eschwartz@archlinux.org>
•Morgan Adamiec <morganamilo@archlinux.org>

Principais colaboradores anteriores:

•Judd Vinet <jvinet@zeroflux.org>
•Aurelien Foret <aurelien@archlinux.org>
•Aaron Griffin <aaron@archlinux.org>
•Dan McGee <dan@archlinux.org>
•Xavier Chantry <shiningxc@gmail.com>
•Nagy Gabor <ngaba@bibl.u-szeged.hu>
•Dave Reisner <dreisner@archlinux.org>

Para outros contribuidores, use git shortlog -s no repositório pacman.git.

A tradução para português brasileiro desta página man foi criada por Rafael Fontenelle <rafaelff@gnome.org>

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.

6 setembro 2021 Pacman 6.0.1