Pacman-Comandos (Português) - ArchWiki
Pacman-Comandos (Português) - ArchWiki
Pacman-Comandos (Português) - ArchWiki
php/Pacman_(Português)
pacman (Português)
Status de tradução: Esse artigo é uma tradução de Pacman. Data da última tradução: 2020-09-08. Você
pode ajudar a sincronizar a tradução, se houver alterações (https://wiki.archlinux.org/index.php?titl
e=Pacman&diff=0&oldid=633050) na versão em inglês.
1 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
Uso
O que se segue é apenas uma pequena amostra das operações que o pacman pode executar. Para ler mais
exemplos, consulte pacman(8) (https://man.archlinux.org/man/pacman.8).
Dica: Para usuários que utilizaram outras distribuições linux antes, ver o artigo Roseta do pacman será
útil.
Instalando pacotes
2 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
metadados sobre o aplicativo, tal como o nome do aplicativo, versão, dependências etc.
arquivos e instruções de instalação para o pacman
(opcionalmente) arquivos extras para facilitar sua vida, tal como script para iniciar/parar
O pacman, gerenciador de pacotes do Arch, pode instalar, atualizar e remover esses pacotes. O uso de pacotes
em vez de compilar e instalar programas você mesmo possui vários benefícios:
facilmente atualizável: pacman vai atualizar pacotes existentes assim que atualizações
estiverem disponíveis
verificações de dependência: pacman lida com dependências para você, você só precisa
especificar o programa e o pacman o instala junto com todos os outros programas de que
precisa
remoção de limpeza: pacman tem uma lista de todos os arquivos em um pacote; dessa forma,
nenhum arquivo é deixado para trás por equívoco quando você decide remover um pacote.
Nota:
Alguns pacotes muitas vezes têm dependências opcionais de pacotes que fornecem
funcionalidades adicionais para o aplicativo, apesar de não serem estritamente necessárias
para executá-lo. Ao instalar um pacote, o pacman irá listar as dependências opcionais do
pacote, porém elas não serão encontradas no arquivo pacman.log . Utilize o comando
#Consultando base de dados de pacotes para visualizar as dependências opcionais de
um pacote.
Ao instalar um pacote que requer apenas uma dependência (opcional) de algum outro pacote
(isto é, necessário por você), é recomendado usar a opção --asdeps . Para detalhes, veja a
seção #Motivo de instalação.
Atenção: Ao instalar pacotes no Arch, evite atualizar a lista de pacotes sem atualizar o sistema (por
exemplo, quando um pacote não é encontrado nos repositórios oficiais). Na prática, não execute o
comando pacman -Sy nome_pacote , pois isso poderia levar para problemas de dependências. Veja
Manutenção do sistema#Sem suporte a atualizações parciais e BBS#89328 (https://bbs.archli
nux.org/viewtopic.php?id=89328).
Para instalar um único pacote ou lista de pacotes, incluindo dependências, execute o seguinte comando:
Para instalar uma lista de pacotes com expressão regular (veja esse tópico do fórum (https://bbs.archlin
ux.org/viewtopic.php?id=7179)):
Às vezes, há várias versões de um pacote nos diferentes repositórios, por exemplo extra e testing. Para instalar a
versão do repositório extra neste exemplo, o repositório deve ser definido na frente do nome do pacote:
# pacman -S extra/nome_pacote
Para instalar um número de pacotes que compartilham padrões em sua nomenclatura pode-se usar expansão
com chaves:
# pacman -S plasma-{desktop,mediacenter,nm}
3 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
# pacman -S plasma-{workspace{,-wallpapers},pa}
Pacotes virtuais
Um pacote virtual é um pacote especial que não existe por si só, mas é fornecido por um ou mais outros
pacotes. Os pacotes virtuais permitem que outros pacotes não nomeiem um pacote específico como uma
dependência, no caso de haver vários candidatos. Os pacotes virtuais não podem ser instalados por seus nomes,
em vez disso, eles são instalados no seu sistema quando você instala um pacote fornecendo o pacote virtual.
Alguns pacotes pertencem a um grupo de pacotes que podem ser instalados simultaneamente. Por exemplo,
o comando:
# pacman -S gnome
Às vezes, um grupo de pacote conterá uma grande quantidade de pacotes, e pode haver só alguns que você quer
ou não instalar. Em vez de digitar todos os números, exceto aqueles que você não quer, pode ser mais
conveniente selecionar ou excluir pacotes ou intervalos de pacotes com a seguinte sintaxe:
Nota: Se um pacote na lista já está instalado no sistema, ele será reinstalado mesmo se já estiver atualizado.
Este comportamento pode ser substituído com a opção --needed .
Removendo pacotes
# pacman -R nome_pacote
Para remover um pacote e suas dependências que não são exigidas por qualquer outro pacote instalado:
Às vezes, o comando acima pode se recusar a executar ao remover um grupo que contém pacotes necessários.
Nesse caso, tente:
4 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
Para remover um pacote, suas dependências e todos os pacotes que dependem deste pacote:
Atenção: Esta operação é recursiva, e deve ser usada com cuidado, pois pode remover muitos pacotes
potencialmente necessários.
Para remover um pacote, o qual é exigido por outro pacote, sem remover o pacote dependente:
Atenção: A operação a seguir pode quebrar um sistema e deve ser evitada. Veja Manutenção do
sistema#Evite certos comandos do pacman.
O pacman salva arquivos de configuração importantes ao remover certos aplicativos e os nomes com a
extensão: .pacsave. Para prevenir a criação desses arquivos de backup use a opção -n :
Nota: O pacman não removerá as configurações que o próprio aplicativo cria (por exemplo, "dotfiles" na
pasta home).
Atualizando pacotes
Atenção:
Os usuários devem seguir as orientações em Manutenção do sistema#Atualizando o
sistema para atualizar os seus sistemas regularmente e nao executar o seguinte comando
as cegas.
Arch suporta apenas atualizações completa de sistema. Veja Manutenção do
sistema#Sem suporte a atualizações parciais e #Instalando pacotes para mais
detalhes.
O pacman pode atualizar todos os pacotes no sistema com apenas um comando. Isso pode demorar um pouco
dependendo de como anda a atualização do sistema. Este comando pode sincronizar as bases de dados do
repositório e atualizar os pacotes do sistema (excluindo pacotes "locais" que não estão nos repositórios
configurados):
# pacman -Syu
O pacman consulta a base de dados do pacote local com a opção -Q , a base de dados de sincronização com a
opção -S e a base de dados de arquivos com a opção -F . Veja pacman -Q --help , pacman -S --help
e pacman -F --help para as respectivas subopções de cada opção.
O pacman pode pesquisar por pacotes na base de dados, pesquisando nomes e descrições dos pacotes:
Algumas vezes, ERE (Extended Regular Expressions) incorporadas no -s podem causar muitos dos resultados
indesejados, então têm que ser limitadas a corresponder ao nome de pacote apenas; não a descrição nem
qualquer outro campo:
5 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
Inserindo duas opções -i também exibirá a lista de arquivos de backup e seus estados de alterações:
Para obter uma lista dos arquivos instalados por um pacote remoto:
Passando a opção k duas vezes, irá ser realizado uma verificação mais aprofundada.
Pode-se também consultar a base de dados para saber qual pacote um arquivo no arquivo do sistema pertence:
Para consultar o banco de dados para saber de qual pacote remoto um arquivo pertence:
$ pacman -F /caminho/para/nome_de_arquivo
Para listar todos os pacotes que não são exigidos como dependências (órfãos):
$ pacman -Qdt
Dica: Adicione o comando acima para um hook pós-transação do pacman para ser notificado se uma
transação tornou um pacote órfão. Isso pode ser útil para ser notificado quando um pacote foi retirado de um
repositório, desde que qualquer pacote retirado também seja tornado órfão em uma instalação local (a menos
que tenha sido instalado explicitamente). Para evitar quaisquer erros "falha ao executar o comando" quando
nenhum órfão é encontrado, use o seguinte comando para Exec em seu hook:
/usr/bin/bash -c "/usr/bin/pacman -Qtd || /usr/bin/echo '=> Nenhum encontrado.'"
Para listar todos os pacotes explicitamente instalados e que não são necessários como dependências:
6 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
$ pacman -Qet
Pactree
$ pactree nome_pacote
Para ver uma área dependente de um pacote, passe a opção reversa -r ao pactree, ou use whoneeds de
pkgtools (https://aur.archlinux.org/packages/pkgtools/)AUR.
$ tree which-2.21-5
which-2.21-5
|-- desc
O arquivo desc contém metadados como a descrição do pacote, dependências, tamanho do arquivo e o hash
do MD5.
O pacman armazena seus pacotes baixados em /var/cache/pacman/pkg/ e não remove as versões antigas
ou desinstaladas automaticamente. Isso tem algumas vantagens:
1. Isso permite fazer downgrade de um pacote sem a necessidade de obter a versão anterior
por outros meios, tal como o Arch Linux Archive.
2. Um pacote que tenha sido desinstalado pode ser facilmente reinstalado diretamente da pasta
cache, não exigindo um novo download do repositório.
Portanto, é necessário limpar deliberadamente essa pasta periodicamente para evitar que essa pasta cresça
indefinidamente em tamanho.
# paccache -r
Dica: Você pode criar um hook para executar isso automaticamente após cada transação do pacman. Veja
exemplos (https://bbs.archlinux.org/viewtopic.php?pid=1694743#p1694743) e pacman-cleanup-
hook (https://aur.archlinux.org/packages/pacman-cleanup-hook/)AUR.
7 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
Você também pode definir quantas versões mais recentes você deseja manter. Para reter apenas a uma versão
anterior, use:
# paccache -rk1
Adicione a opção -u / --uninstalled para limitar a ação do paccache a pacotes desinstalados. Por
exemplo, para remover todas as versões em cache de pacotes desinstalados, use o seguinte:
# paccache -ruk0
O pacman também tem algumas opções embutidas para limpar o cache e os arquivos de base de dados
restantes dos repositórios que não estão mais listados no arquivo de configuração /etc/pacman.conf . No
entanto, o pacman não oferece a possibilidade de manter um número de versões anteriores e, portanto, é mais
agressivo do que as opções padrão do paccache.
Para remover todos os pacotes em cache que não estão instalados atualmente e a base de dados de
sincronização não utilizada, execute:
# pacman -Sc
Para remover todos os arquivos do cache, use a opção de limpeza duas vezes, sendo essa a abordagem mais
agressiva e que vai deixar nada na pasta de cache:
# pacman -Scc
Atenção: Deve-se evitar apagar do cache todas as versões anteriores dos pacotes instalados e todos os
pacotes desinstalados, a menos que se necessita desesperadamente liberar algum espaço em disco. Isso
impedirá o downgrade ou a reinstalação de pacotes sem baixá-los novamente.
Comandos adicionais
Instale um pacote "local" que não seja de um repositório remoto (ex., o pacote é do AUR):
# pacman -U /caminho/para/pacote/nome_pacote-versão.pkg.tar.xz
# pacman -U file:///caminho/para/pacote/nome_pacote-versão.pkg.tar.xz
Instale um pacote "remoto" (não de um repositório indicado nos arquivos de configuração do pacman):
# pacman -U http://www.exemplo.com/repo/exemplo.pkg.tar.xz
O pacman sempre lista os pacotes a serem instalados ou removidos e pede permissão antes de executar.
8 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
Motivo de instalação
A base de dados do pacman distingue os pacotes instalados em dois grupos de acordo com o motivo pelo qual
eles foram instalados:
Dica: A instalação de dependências opcionais com --asdeps fará com que, se você remover pacotes
órfãos, o pacman também removerá as dependências opcionais.
A lista de pacotes instalados explicitamente pode ser vista com pacman -Qe , enquanto a lista de
dependências instaladas pode ser vista com pacman -Qd .
Nota: O uso das opções --asdeps e --asexplicit na atualização, como com pacman -Syu nome_pacote --asdeps
, não é recomendado. Isso alteraria o motivo da instalação não apenas do pacote que está sendo instalado, mas
também dos pacotes que estão sendo atualizados.
# pacman -Fy
$ pacman -F pacman
Dica: Você pode definir um trabalho cron ou um temporizador do systemd para sincronizar a base de dados
de arquivos regularmente.
Para funcionalidade avançada, instale o pkgfile, que usa uma base de dados separada com todos os arquivos e
seus pacotes associados.
Configuração
As configurações do pacman estão localizados em /etc/pacman.conf : este é o local onde o usuário
9 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
configura o programa para funcionar da forma desejada. Informações detalhadas sobre o arquivo de
configuração pode ser encontrada em pacman.conf(5) (https://man.archlinux.org/man/pacman.c
onf.5).
Opções gerais
Para ver versões antigas e novas dos pacotes disponíveis, descomente a linha "VerbosePkgLists" em
/etc/pacman.conf . A saída de pacman -Syu será algo como:
Atenção: Tenha cuidado ao pular pacotes, já que não há suporte a atualizações parciais.
Para pular a atualização de um pacote específico quando estiver atualizando o sistema, faça:
IgnorePkg=linux
Para vários pacotes use uma lista separada por espaço, ou use adicionais linhas IgnorePkg . Além disso,
padrões de glob podem ser usados. Se você deseja pular pacotes apenas uma vez, você também pode usar a
opção --ignore na linha de comando - dessa vez com uma lista separada por vírgula.
Ainda será possível atualizar pacotes ignorados usando pacman -S : neste caso, pacman lhe lembrará de que
os pacotes têm incluídos em uma declaração de IgnorePkg .
Atenção: Tenha cuidado ao pular grupos de pacotes, já que não há suporte a atualizações parciais.
Tal como acontece com os pacotes, pular um grupo de pacote inteiro também é possível:
IgnoreGroup=gnome
Todos os arquivos listados com uma diretiva NoUpgrade nunca serão tocados durante uma
instalação/atualização de pacote, e os novos arquivos serão instalados com uma extensão .pacnew.
NoUpgrade=caminho/para/arquivo
Nota: O caminho se refere aos arquivos no arquivo do pacote. Portanto, não inclua a barra inicial.
Para pular sempre a instalação de lista de diretórios sob NoExtract . Por exemplo, para evitar a instalação de
units de systemd use:
10 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
NoExtract=usr/lib/systemd/system/*
Regras posteriores sobrescrevem as anteriores e podem negar uma regra adicionando antes ! .
Dica: O pacman emite mensagens de avisos sobre locales faltando ao atualizar um pacote para os quais os
locales foram limpados com localepurge ou bleachbit. Comentando a opção CheckSpace em pacman.conf
suprime aviso, mas considera que a funcionalidade de verificação de espaço será desabilitada para todos os
pacotes.
Se você tiver vários arquivos de configuração (ex.: configuração principal e configuração com repositório
testing habilitado) e você gostaria de compartilhar opções entre configurações, você pode usar a opção
Include declarada nos arquivos de configuração, ex.:
Include = /caminho/para/configurações/comuns
Hooks
Repositórios e espelhos
Além da seção especial [options], cada outra [section] no pacman.conf define um repositório de
pacote a ser usado. Um repositório é uma coleção lógica de pacotes, que são armazenados fisicamente em um
ou mais servidores: por esse motivo, cada servidor é chamado de um espelho para o repositório.
Repositórios são distinguidos entre oficial e não oficiais. A ordem de repositórios no arquivo de configuração
importa; repositórios listados primeiro terão precedências sobre os listados posteriormente quando pacotes nos
dois repositórios tiverem nomes idênticos, independentemente do número da versão. Para usar um repositório
após adicioná-lo, você precisará atualizar todo o sistema primeiro.
Cada seção de repositório permite definir a lista de seus espelhos diretamente ou em um arquivo externo por
meio da diretiva Include : por exemplo, os espelhos para os repositórios oficiais são incluídos no
/etc/pacman.d/mirrorlist . Veja o artigo Espelhos para configuração de espelho.
Segurança de pacote
O pacman oferece suporte a assinaturas de pacotes, que adiciona uma camada extra de segurança para os
pacotes. A configuração padrão, SigLevel = Required DatabaseOptional , habilita verificação de
assinatura para todos os pacotes em um nível global: isso pode ser sobrescrito por linhas SigLevel para cada
11 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
repositório. Para mais detalhes sobre assinatura de pacote e verificação de assinatura, dê uma olhada em
pacman-key.
Solução de problemas
Isso aconteceu porque o pacman detectou um conflito de arquivo e, por design, não vai sobrescrever arquivos
para você. Este é por design, e não uma falha.
O problema geralmente é trivial de resolver. Uma maneira segura é primeiro verificar se outro pacote possui o
arquivo ( pacman -Qo /caminho/para/arquivo ). Se o arquivo for de propriedade de outro pacote,
preencha um relatório de erro. Se o arquivo não for de outro pacote, renomeie o arquivo que "existe no
sistema de arquivos" e execute novamente o comando de atualização. Se tudo correr bem, o arquivo pode então
ser removido.
Se você instalou um programa manualmente sem usar o pacman, (p.ex.: por meio de make install ), você
tem que remover/instalar esse programa com seus arquivos. Veja também Pacman/Dicas e
truques#Identificar arquivos que pertençam a nenhum pacote.
Atenção: Via de regra, evite usar a opção --overwrite . Veja Manutenção do sistema#Evite certos
comandos do pacman.
Quando o pacman vai alterar a base de dados de pacotes, por exemplo instalar um pacote, ele cria um arquivo
de trava em /var/lib/pacman/db.lck . Isso evita que uma outra instância do pacman tente alterar a base
de dados de pacotes ao mesmo tempo.
Se o pacman for interrompido enquanto altera a base de dados, esse arquivo de trava obsoleto pode
permanecer. Se você tem certeza que nenhuma outra instância do pacman está em execução, então exclua o
arquivo de trava:
# rm /var/lib/pacman/db.lck
12 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
Primeiramente, assegure-se de que o pacote realmente existe. Se você tem certeza que o pacote existe, sua lista
de pacote pode estar desatualizada. Tente execute pacman -Syu para forçar uma atualização de todas as
listas de pacote e atualize. Também certifique-se que os espelhos selecionados estejam atualizados e
repositórios são configurados corretamente.
Pode ser também que aquele repositório contendo o pacote não está habilidade no seu sistema. Por exemplo, o
pacote pode estar no repositório multilib, mas o multilib não está habilitado em seu pacman.conf .
Veja também FAQ (Português)#Por que há uma única versão de cada biblioteca compartilhada
nos repositórios oficiais?.
No caso do pacman travar com um erro de "escrita da base de dados" enquanto remove pacotes, e a reinstalação
ou atualização de pacotes falha a partir daí, faça o seguinte:
1. Inicialize usando a mídia de instalação do Arch. De preferência, use uma mídia recente de
forma que a versão do pacman seja igual ou mais nova do que a do sistema.
2. Monte o sistema de arquivos raiz do sistema (ex.: mount /dev/sdaX /mnt ) como root e
verifique se a montagem tem espaço suficiente com df -h
3. Monte os sistemas de arquivos proc, sysfs e dev também:
mount -t proc proc /mnt/proc; mount --rbind /sys /mnt/sys; mount --rbind /dev
/mnt/dev
4. Se o sistema usa locais padrão de base de dados e diretórios, você pode agora atualizar a
base de dados do pacman do sistema e atualizá-lo via pacman --sysroot /mnt -Syu como
root.
5. Após a atualização, uma forma de verificar se pacotes não atualizados, mas ainda quebrados:
find /mnt/usr/lib -size 0
6. Seguido pela reinstalação de qualquer pacote ainda quebrado via
pacman --sysroot /mnt -S pacote .
Mesmo se o pacman estiver terrivelmente quebrado, você pode corrigi-lo manualmente baixando os últimos
pacotes e extraindo-os para os locais corretos. Os passos difíceis a se executar são:
Se você tem um sistema do Arch saudável disponível, você pode ver a lista completa de dependências com:
13 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
Mas você pode precisar atualizar algumas delas, dependendo do seu problema. Um exemplo de extração de um
pacote é
# tar -xvpwf pacote.tar.xz -C / --exclude .PKGINFO --exclude .INSTALL --exclude .MTREE --exclude .BUILDINFO
Note que o uso da opção w para modo interativo. Executar não interativamente é muito arriscado já que você
pode acabar sobrescrevendo um arquivo importante. Também tenha cuidado ao extrair pacotes na ordem
correta (i.e. dependências primeiro). Essa publicação no fórum (https://bbs.archlinux.org/viewtopic.
php?id=95007) contém um exemplo deste processo no qual apenas duas dependências do pacman estava
quebradas.
Muito provavelmente o initramfs acabou corrompido durante uma atualização do kernel (uso indevido da
opção --overwrite do pacman pode ser uma causa). Há duas opções; primeiro, tente a entrada Fallback.
Dica: No caso de você ter removido o Fallback, você pode sempre pressionar a tecla Tab quando o
gerenciador de boot aparecer (para Syslinux) ou e (para GRUB), renomear initramfs-linux-fallback.img e
pressione Enter ou b (dependendo do seu gerenciador de boot) para inicializar com os novos parâmetros.
Quando o sistema iniciar, execute este comando (para o Kernel linux (https://archlinux.org/packag
es/?name=linux) padrão) através do console ou de um terminal para reconstruir a imagem initramfs:
# mkinitcpio -p linux
Se isso não funcionar, de uma versão atual do Arch (CD/DVD ou pendrive USB), monte as partições root e
boot. Então, faça um chroot usando o arch-chroot:
# arch-chroot /mnt
# pacman -Syu mkinitcpio systemd linux
Nota:
Se você não tem uma versão atual ou se tem apenas alguma outra distribuição Linux "live",
você pode fazer chroot usando o jeito antigo. Obviamente, terá que digitar mais do que
simplesmente executar o script arch-chroot .
Se pacman falhar com não foi possível resolver máquina , por favor verifique sua
conexão com a Internet.
Se você não conseguir entrar no ambiente do arch-chroot ou chroot, mas precisa reinstalar
os pacotes, você pode usar o comando pacman --sysroot /mnt -Syu foo bar para usar o
pacman em sua partição raiz.
Soluções potenciais:
14 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
Se estiver instalando o Arch com uma ISO desatualizado, você provavelmente terá que importar chaves PGP.
Concorde com baixar a chave para proceder. Se você não consegue adicionar a chave PGP com sucesso, atualizar
o chaveiro ou atualizar archlinux-keyring (https://archlinux.org/packages/?name=archlinux
-keyring) (veja acima).
Se pacotes forem assinados com novas chaves, que foram adicionadas apenas recentemente ao archlinux-
keyring (https://archlinux.org/packages/?name=archlinux-keyring), essas chaves não estão
disponível localmente durante a atualização (problema ovo ou galinha). O archlinux-keyring (http
s://archlinux.org/packages/?name=archlinux-keyring) instalado não contém a chave até estar
atualizado. Pacman tenta contornar isso procurando em um servidor de chaves, o que pode não ser possível, por
exemplo, atrás de proxys ou firewall e resulta no erro informado. Atualize o archlinux-keyring (http
s://archlinux.org/packages/?name=archlinux-keyring) primeiro como mostrado acima.
Quando a hora do sistema está errado, as chaves de assinatura são considerados como expiradas (ou inválidas)
e verificações de assinatura em pacotes vão falhar com o erro a seguir:
Certifique-se de corrigir o tempo, por exemplo com ntpd -qg executado como root, e execute
hwclock -w como root antes de instalações ou atualizações subsequentes.
Como a própria mensagem de erro diz, sua locale está configurada incorretamente. Consulte Locale.
Certifique-se que as variáveis de ambiente relevantes ( $http_proxy , $ftp_proxy etc.) estão configuradas.
Se você usa o pacman com sudo, você precisa configurar o sudo para passar essas variáveis de ambiente
para o pacman. Além disso, certifique-se que a configuração de dirmngr tenha honor-http-proxy no
/etc/pacman.d/gnupg/dirmngr.conf para honrar o proxy ao atualizar as chaves.
Então você terá que reinstalar todos os pacotes externos, que podem ser listados com pacman -Qmq .
Parece que uma transição anterior do pacman removeu ou corrompeu as bibliotecas compartilhadas
necessárias para o pacman em si.
Para recuperar dessa situação, você precisa desempacotar manualmente as bibliotecas necessárias para seu
15 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
sistema. Primeiro descubra qual pacote contém a biblioteca em falta e, então, localize-o no cache do pacman (
/var/cache/pacman/pkg/ ). Desempacote a biblioteca compartilhada necessária no sistema de arquivos.
Isso vai permitir executar o pacman.
Agora, você precisa reinstalar o pacote quebrado. Note que você precisa usar a opção --overwrite , pois
você acabou de desempacotar arquivos de sistema e o pacman não tem conhecimento deles. O pacman vai
substituir corretamente nosso arquivo de biblioteca compartilhada com o do pacote.
Houve alguns relatos a cerca de problemas de rede que impedem o pacman de atualizar/sincronizar
repositórios. [2] (https://bbs.archlinux.org/viewtopic.php?id=68944) [3] (https://bbs.archlinux.o
rg/viewtopic.php?id=65728) Ao instalar o Arch Linux nativamente, essas questões foram resolvidas
substituindo o gerenciador de download de arquivos padrão do pacman com um alternativo (veja Melhorar
desempenho do pacman para mais detalhes). Ao instalar o Arch Linux como um SO hospedeiro no
Virtualbox, essa questão também foi resolvido usando Host interface em vez de NAT nas propriedades da
máquina.
Se você receber essa mensagem de erro com os espelhos (mirrors) corretos, tente configurar um servidor de
nomes diferente.
Se você deseja instalar um pacote em uma montagem sshfs usando pacman -U e receber esse erro, mova o
pacote para um diretório local e tente instalar novamente.
Entendendo
Ao concluir com êxito uma transação de pacote, o pacman executa as seguintes etapas de alto nível:
1. O pacman obtém o arquivo do pacote a ser instalado para todos os pacotes enfileirados em
uma transação.
2. O pacman executa várias verificações de que os pacotes provavelmente podem ser instalados.
3. Se hooks PreTransaction pré-existentes do pacman se aplicarem, eles serão executados.
4. Cada pacote é instalado/atualizado/removido por vez.
1. Se o pacote tiver um script de instalação, sua função pre_install é executada (ou
pre_upgrade ou pre_remove no caso de um pacote atualizado ou removido).
2. O pacman exclui todos os arquivos de uma versão pré-existente do pacote (no caso de um
pacote atualizado ou removido). Porém, arquivos que foram marcados como arquivos de
configuração no pacote são mantidos (veja Pacman/Pacnew e Pacsave).
3. O pacman descompacta o pacote e despeja seus arquivos no sistema de arquivos (no caso
de um pacote instalado ou atualizado). Arquivos que sobrescreveriam os arquivos de
configuração mantidos, e modificados manualmente (veja a etapa anterior), são
armazenados com um novo nome (.pacnew).
4. Se o pacote tiver um script de instalação, sua função post_install será executada (ou
post_upgrade ou post_remove no caso de um pacote atualizado ou removido).
5. Se hooks do pacman PostTransaction que existem no final da transação se aplicarem, eles
serão executados.h
16 of 17 23/01/2021 13:12
pacman (Português) - ArchWiki https://wiki.archlinux.org/index.php/Pacman_(Português)
Veja também
Página inicial do pacman (https://archlinux.org/pacman/)
libalpm(3) (https://man.archlinux.org/man/libalpm.3)
pacman(8) (https://man.archlinux.org/man/pacman.8)
pacman.conf(5) (https://man.archlinux.org/man/pacman.conf.5)
repo-add(8) (https://man.archlinux.org/man/repo-add.8)
Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.
17 of 17 23/01/2021 13:12