Академический Документы
Профессиональный Документы
Культура Документы
From ArchWiki
1
3.4 Eu recebo um erro ao instalar um pacote: "no econtrou em
sincronia com banco de dados"
3.5 Eu recebo um erro ao instalar um pacote: "alvo no foi
encontrado"
3.6 Pacman est atualizando vrias vezes o mesmo pacote!
3.7 Pacman falha durante uma atualizao!
3.8 Eu instalei programa usando "make install"; esses arquivos
no pertencem a nenhum pacote!
3.9 Preciso de um pacote com um arquivo especfico. Como fao
para saber o que ele dispe?
3.10 Pacman est completamente quebrado! Como fao para
reinstal-lo?
3.11 Depois de atualizar meu sistema, eu recebo um erro "no
possvel encontrar o dispositivo root" depois de reiniciar e o
meu sistema no mais inicializar.
3.12 Assinatura de "Usurio <email@gmail.com>" e de
confiana desconhecida, falha na instalao
3.13 Recebo "PackageName: assinatura do "User
<email@archlinux.org>" invlida"
3.14 Recebo um erro "falha ao confirmar a transao (pacote
invlido ou corrompido)"
3.15 Recebo erro toda vez que uso pacman dizendo 'aviso: locale
atual invlida; usando padro locale "C"'. O que eu fao?
3.16 Como posso ter Pacman para minhas configuraes de
proxy?
3.17 Como fao para reinstalar todos os pacotes, mantendo
informaes sobre se algo foi explicitamente instalado ou
como uma dependncia?
4 Veja tambm
Configurao
Os ajustes do Pacman esto localizados em /etc/pacman.conf . Este o local onde o usurio configura o
programa para funcionar da forma desejada. Informaes detalhadas sobre o arquivo de configurao pode
ser encontrada em man pacman.conf (https://www.archlinux.org/pacman/pacman.conf.5.html).
Opes gerais
Opes gerais esto na seo [options] . Leia a pgina de manual ou olhe no padro pacman.conf para
obter informaes sobre o que pode ser feito aqui.
IgnorePkg=linux
Para vrios pacotes use uma lista separada por espao, ou use adicionais linhas IgnorePkg .
2
Pular um grupos de pacotes para no serem atualizados
Tal como acontece com os pacotes, pular um grupo de pacote inteiro tambm possvel:
IgnoreGroup=gnome
Para pular sempre a instalao de lista de diretrios sob NoExtract . Por exemplo, para evitar a instalao de
units systemd use:
NoExtract=usr/lib/systemd/system/*
Repositrios
A seo define quais repositrios usar, como referido no /etc/pacman.conf . Podem ser mencionados aqui
diretamente ou includos de outro arquivo (como /etc/pacman.d/mirrorlist ), tornando-se assim
necessrio manter apenas uma lista. Veja aqui para configurao de espelho.
/etc/pacman.conf
#[testing]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist
[core]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[extra]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
#[community-testing]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist
[community]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
#[multilib-testing]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist
#[multilib]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist
Cuidados devem ser tomados ao usar o repositrio [testing]. Ele est em desenvolvimento ativo e a
atualizao pode fazer que alguns pacotes parem de funcionar. As pessoas que usam o repositrio [testing]
so encorajadas a se increver em arch-dev-public mailing list (https://mailman.archlinux.org/mailman/listinfo
/arch-dev-public) para obter informaes atualizadas.}}
3
Segurana de pacotes
Pacman suporta 4 assinaturas de pacotes, que adiciona um nvel extra de segurana para os pacotes. A
configurao padro, SigLevel = Required DatabaseOptional , habilita a verificao de assinaturas para
todos os pacotes em um nvel global: este pode ser substituido por linhas por repositrio SigLevel , como
mostrado acima. Para mais detalhes sobre pacote de assinatura e verificao de assinatura, d uma olhada em
pacman-key.
Uso
O que se segue apenas uma pequena amostra das operaes que o pacman pode executar. Para ler mais
exemplos, consulte man pacman (https://www.archlinux.org/pacman/pacman.8.html).
Instalando Pacotes
Para instalar um nico pacote ou lista de pacotes (incluindo dependncias), execute o seguinte comando:
s vezes, h vrias verses de um pacote nos diferentes repositrios, por exemplo [extra] e [testing]. Para
instalar a verso anterior, o repositrio deve ser definido na frente:
# pacman -S extra/nome_pacote
Alguns pacotes pertencem a um grupo de pacotes que podem ser instalados simultaneamente. Por exemplo, o
comando:
# pacman -S gnome
este comando solicitar que voc selecione os pacotes do grupo gnome (https://www.archlinux.org
/groups/x86_64/gnome/) que voc deseja instalar.
s vezes, um grupo de pacote conter uma grande quantidade de pacotes, e pode haver s alguns que voc
quer ou no instalar. Em vez de digitar todos os nmeros, exceto aqueles que voc no quer, pode ser mais
conveniente selecionar ou excluir pacotes ou intervalos de pacotes com a seguinte sintaxe:
4
# pacman -Sg gnome
Nota: Se um pacote na lista j est instalado no sistema, ele ser reinstalado mesmo se j estiver
atualizado. Este comportamento pode ser substitudo com a opo --needed .
Dica: Ao instalar os pacotes, no atualiza a lista de pacotes sem atualizao[broken link: invalid section] do
sistema (ex. pacman -Sy package_name ), isso pode ocasinar erros de dependcias. Veja #Partial upgrades
are unsupported[broken link: invalid section] e https://bbs.archlinux.org/viewtopic.php?id=89328.
Removendo pacotes
# pacman -R package_name
Para remover um pacote e suas dependncias que no so exigidas por qualquer outro pacote instalado:
Para remover um pacote, suas dependncias e todos os pacotes que dependem deste pacote:
Dica: Esta operao recursiva, e deve ser usada com cuidado, pois pode remover muitos pacotes
potencialmente necessrios.
Para remover um pacote, o qual exigido por outro pacote, sem remover o pacote dependente:
O pacman salva arquivos de configurao importantes ao remover certos aplicativos e os nomes com a
extenso: .pacsave . Para prevenir a criao desses arquivos de backup use a opo -n :
Nota: Pacman no remover as configuraes que o prprio aplicativo cria (por exemplo, "dotfiles" na
pasta home).
Atualizando pacotes
Pacman pode atualizar todos os pacotes no sistema com apenas um comando. Isso pode demorar um pouco
dependendo de como anda a atualizao do sistema. Este comando pode sincronizar as bases de dados do
repositrio e atualizar os pacotes do sistema (excluindo pacotes "locais" que no esto nos repositrios
configurados):
5
# pacman -Syu
Dica: Em vez de logo que as atualizaes estiverem disponveis, os usurios devem reconhecer que, devido
natureza Arch's rolling release, uma atualizao pode ter consequncias imprevisveis. Isso significa que
no prudente atualizar se, por exemplo, tem alguma tarefa importante para fazer. Preferencialmente,
atualize durante o tempo livre e esteja preparado para lidar com quaisquer problemas que possam surgir.
Pacman uma ferramenta de gerenciamento de pacotes poderosa, mas no tenta lidar com todos os casos.
Leia The Arch Way (Portugus) se estiver confuso. Os usurios devem estar atentos e ter a responsabilidade
pela manuteno do seu prprio sistema. Ao realizar uma atualizao do sistema, essencial que os
usurios leiam todas as sadas de informaes do pacman e usem o bom senso. Se um arquivo de
configurao do modificado pelo usurio precisa ser atualizado para uma nova verso de um pacote, um
arquivo .pacnew ser criado para evitar a substituio de configuraes alteradas pelo usurio. Pacman
pedir ao usurio para junt-las. Esses arquivos requerem interveno manual do usurio e uma boa prtica
para lidar com eles logo aps cada atualizao ou remoo do pacote. Veja Pacnew e arquivos Pacsave para
mais informaes.
Se algum encontrar problemas que no podem ser resolvidos por estas instrues, certifique-se de pesquisar
no frum. provvel que os outros j tenham encontrado o mesmo problema e publicaram as instrues para
resolv-lo.
$ pacman -Q --help
$ pacman -S --help
Pacman pode pesquisar por pacotes no banco de dados, pesquisando nomes e descries dos pacotes:
6
$ pacman -Si package_name
Inserindo duas flags -i tambm exibir a lista de arquivos de backup e seus estados de alteraes:
Pode-se tambm consultar o banco de dados para saber qual pacote um arquivo no arquivo do sistema
pertence:
$ pacman -Qdt
$ pactree package_name
Para listar todos os pacotes dependentes de um pacote instalado, use whoneeds do pacote pkgtools:
$ whoneeds package_name
Comandos adicionais
Instale um pacote 'local' que no de um repositrio remoto (ex., o pacote do Arch User Repository
(Portugus):
7
# pacman -U /path/to/package/package_name-version.pkg.tar.xz
Dica: Para manter uma cpia do pacote local no cache do pacman, use:
# pacman -U file://path/to/package/package_name-version.pkg.tar.xz
Instalar um pacote 'remoto' (no de um repositrio indicado nos arquivos de configurao do pacman):
# pacman -U http://www.example.com/repo/example.pkg.tar.xz
Dica: S faa isso se tem certeza que os pacotes instalados so estveis e que o downgrade no ser
necessrio, j que remover todas as verses anteriores da pasta cache, deixando apenas as verses dos
pacotes que esto instalados atualmente. Tendo verses mais antigas de pacote vem a calhar no caso de
uma futura atualizao provocar um erro.
# pacman -Sc
Dica: Este limpa todo o cache de pacote. Fazer isso considerado uma m prtica, que evita a
possibilidade de downgrade de alguma coisa diretamente da pasta cache. Os usurios sero forados a ter
que usar uma fonte alternativa de pacotes obsoletos tais como o Arch Rollback Machine[broken link: invalid
section].
# pacman -Scc
Dica: Como alternativa tanto para o -Sc e -Scc , considere usar paccache do pacman
(https://www.archlinux.org/packages/?name=pacman). Isso oferece mais controle sobre o que e
quantos pacotes so apagados. Execute paccache -h para obter instrues.
Arch um rolling release, e novas verses de bibliotecas sero colocadas nos repositrios. Os
desenvolvedores e usurios confiveis reconstruiro todos os pacotes nos repositrios que precisam ser
reconstrudos com as bibliotecas. Se o sistema tem pacotes instalados localmente (tal como pacotes [[Arch
User Repository (Portugus)]), os usurios devero recontru-los quando suas dependncias receberem uma
coliso soname.
Isso significa que as atualizaes parciais so no suportadas. No use pacman -Sy package ou
equivalente como pacman -Sy e depois pacman -S package . Sempre atualize antes de instalar um pacote
-- especialmente se o pacman atualizou as sincronizao de repositrios. Tenha muito cuidado ao usar
IgnorePkg e IgnoreGroup , pelo mesmo motivo.
Se um cenrio de atualizao parcial foi criado e os binrios esto quebrados porque no conseguem
encontrar as bibliotecas que esto ligadas, no "conserte" o problema simplesmente pelo symlinking.
Bibliotecas recebem colises soname quando elas no so compatveis. Um simples pacman -Syu para um
8
espelho devidamente sincronizado resolver o problema, desde que pacman no esteja quebrado.
Soluo de problemas
Uma atualizao para o pacote XYZ quebrou meu sistema!
Arch Linux uma distribuio de ponta rolling-release. Atualizaes de pacotes disponveis assim que so
considerados estveis o suficiente para uso geral. No entanto, as atualizaes, por vezes, exigem a
interveno do usurio: arquivos de configurao podem precisar ser atualizados, dependncias opcionais
podem alterar, etc.
A dica mais importante para se lembrar no "s cegas" atualizar o sistema Arch. Sempre leia a lista de
pacotes a serem atualizados. Note se os pacotes "crticos" vo ser atualizados (linux
(https://www.archlinux.org/packages/?name=linux), xorg-server (https://www.archlinux.org
/packages/?name=xorg-server), e assim por diante). Se assim for, geralmente uma boa idia verificar se
h alguma notcia no http://www.archlinux-br.org/ e verifique as mensagens mais recentes no frum para ver
se as pessoas esto enfrentando problemas com o resultado de uma atualizao.
Se uma atualizao do pacote esperada/conhecida por causar de problemas, empacotadores garantiro que
pacman exiba uma mensagem apropriada quando o pacote atualizado. Se enfrentar problemas aps uma
atualizao, verifique a sada do pacman, veja o log ( /var/log/pacman.log ).
Neste ponto, s depois de garantir que no h nenhuma informao disponvel atravs de pacman, no
h nenhuma notcia relativa em http://www.archlinux-br.org/, e no h mensagem no frum sobre a
atualizao, considere a busca de ajuda no frum, atravs IRC, ou downgrade do pacote problemtico.
Eu sei que uma atualizao para o pacote ABC foi lanada, mas pacman diz que o meu
sistema est atualizado!
Espelhos do Pacman no so sincronizados imediatamente. Pode demorar mais de 24 horas antes que uma
atualizao esteja disponvel para voc. As nicas opes ser paciente ou usar outro espelho. MirrorStatus
(https://www.archlinux.org/mirrors/status/) pode ajudar a identificar um espelho atualizado.
Por que isso est acontecendo: pacman detectou um conflito de arquivo, e pelo projeto, no vai substituir os
arquivos para voc. Esta uma caracterstica do projeto, e no um defeito.
O problema usualmente simples de se resolver. Uma maneira segura primeiro verificar se outro pacote
possui o arquivo ( pacman -Qo /path/to/file ). Se o arquivo de propriedade de outro pacote, enviar
relatrio de bug. Se o arquivo no propriedade de outro pacote, renomeie o 'existente no sistema de
arquivo' e re-execute o comando atualizar. Se tudo correr bem, o arquivo pode ento ser removido.
Se voc tinha instalado um programa manualmente, sem usar pacman ou interface, voc tem que remov-lo e
todos os seus arquivos e reinstalar corretamente usando pacman.
9
Cada pacote instalado fornece arquivo /var/lib/pacman/local/$package-$version/files que contm
metadata sobre este pacote. Se este arquivo for corrompido - vazio ou ausente - que resulta no erro "o
arquivo existe no sistema de arquivos" durante a atualizao do pacote. Esse erro geralmente s diz respeito
a um nico pacote e, em vez de renomear manualmente e depois remover todos os arquivos que pertencem
ao pacote em questo, voc pode executar pacman -S --force $package para forar o pacman substituir
estes arquivos
Primeiramente, verifique se o pacote realmente existe (e fique atento para os erros de digitao!). Se o
determinado pacote existe sua lista de pacotes pode estar desatualizada ou seus repositrios podem estar
configurados incorretamente. Tente executar pacman-Syy. para forar uma atualizao de todas as listas
de pacotes
Primeiramente, verifique se o pacote realmente existe (e fique atento para os erros de digitao!). Se o
determinado pacote existe sua lista de pacotes pode estar desatualizada ou seus repositrios podem estar
configurados incorretamente. Tente executar pacman-Syy para forar uma atualizao de todas as listas de
pacotes.
Pode ser tambm que o repositrio que contm o pacote no est ativado em seu sistema, por exemplo, o
pacote poderia estar no repositrio multilib, mas multilib no est habilitado em seu pacman.conf.
Nota: A verso 3.4 do pacman deveria exibir um erro de entradas duplicadas, que deveria deixar esta nota
obsoleta.
No caso de coliso do pacman com um erro de "escrita de banco de dados" equanto remove um pacote, e
falha ao reinstalar ou atualizar pacotes:
Se receber um erro "arquivos conflitantes", note que o pacman substituir manualmente o programa instalado
10
se adicionar com o --force , por exemplo,( pacman -S --force ). Veja Pacman tips#Identify files not
owned by any package para um script que procura o arquivo de sistema por arquivos rejeitados.
Ateno: Tome cuidado ao usar a opo --force , pois pode causar problemas graves se usada
indevidamente. Recomenda-se usar esta opo apenas quando for requisitada em Arch notcias.
Preciso de um pacote com um arquivo especfico. Como fao para saber o que ele
dispe?
Instale pkgfile que usa um banco de dados separado com todos os arquivos e seus pacotes associados.
No caso de pacman est quebrado sem possibilidade de reparo, baixe manualmente os pacotes necessrios
(openssl (https://www.archlinux.org/packages/?name=openssl), libarchive
(https://www.archlinux.org/packages/?name=libarchive), e pacman (https://www.archlinux.org
/packages/?name=pacman)) e extraia eles no root. O binrio pacman ser restaurado juntamente com seu
arquivo de configurao padro. Depois disso, reinstale esses pacotes com pacman para manter a integridade
do banco de dados do pacote. Informaes adicionais e um exemplo de script (desatualizado) que automatiza
o processo est disponvel nesta [2] (https://bbs.archlinux.org/viewtopic.php?id=95007) mensagem.
Muito provavelmente seus initramfs quebrou durante uma atualizao do kernel (uso indevido da opo do
pacman --force pode ser uma causa). Voc tem duas opes:
Dica: No caso de voc ter removido esta entrada por alguma razo, 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 parmetros.
Quando o sistema iniciar, execute este comando (para amarzenar no Kernel linux
(https://www.archlinux.org/packages/?name=linux)) atravs do console ou de um terminal para
reconstruir a imagem initramfs:
# mkinitcpio -p linux
Nota: Se voc no tem uma verso de 2012 ou se tem apenas alguma outra distribuio Linux "live"
que possa aplicar chroot usando o jeito antigo. Obviamente, no ser mais simples que digitando o
script arch-chroot .
11
Reinstalando o Kernel (o pacote linux (https://www.archlinux.org/packages/?name=linux)) ir
gerar automaticamente a imagem com mkinitcpio -p linux . No precisa fazer separamente.
Nota: Se voc no pode entrar no ambiente arch-chroot ou chroot, mas precisa reintalar os pacotes
voc pode usar o comando pacman -r /mnt -Syu foo bar para utilizar pacman em sua partio
root.
Siga pacman-key#Resetting all the keys. Ou pode tentar atualizar manualmente archlinux-keyring
(https://www.archlinux.org/packages/?name=archlinux-keyring) primeiro o pacote, ex.
pacman -S archlinux-keyring .
Isso acontece quando o relgio do sistema est errado. Ajuste a hora e execute:
# hwclock -w
Procure por arquivos *.part (pacotes baixados parcialmente) em /var/cache/pacman/pkg e remove eles
(muitas vezes causado pelo uso da opo XferCommand em pacman.conf ).
Recebo erro toda vez que uso pacman dizendo 'aviso: locale atual invlida; usando
padro locale "C"'. O que eu fao?
Como a prpria mensagem de erro diz, sua locale est configurada incorretamente. Consulte Locale.
Certifique-se que as variveis de ambiente relevantes ( $http_proxy , $ftp_proxy etc.) esto configuradas.
Se voc usa Pacman com sudo, voc precisa configurar o sudo para passar essas variveis de ambiente para o
Pacman.
Como fao para reinstalar todos os pacotes, mantendo informaes sobre se algo foi
explicitamente instalado ou como uma dependncia?
Para reinstalar todos os pacotes nativos: pacman -S $(pacman -Qnq) (a opo -S preserva a razo de
instalao por padro).
Ento voc ter que reinstalar todos os pacotes externos, que podem ser listados com pacman -Qmq .
12
Veja tambm
Common Applications/Utilities#Package management
13