Este guia para iniciantes mostra o que você pode fazer com os comandos pacman no Linux, como usá-los para encontrar novos pacotes, instalar e atualizar novos pacotes e limpar seu sistema.
O gerenciador de pacotes pacman é uma das principais diferenças entre Arch Linux e outras distribuições importantes como Red Hat e Ubuntu/Debian. Ele combina um formato de pacote binário simples com um [sistema de compilação] fácil de usar (https://wiki.archlinux.org/index.php/Arch_Build_System). O objetivo do pacman é gerenciar facilmente os pacotes, seja a partir dos repositórios oficiais ou das próprias compilações do usuário.
Se você já usou distribuições baseadas em Ubuntu ou Debian, você pode ter usado os comandos apt-get ou apt. Pacman é o equivalente no Arch Linux. Se você acabou de instalar o Arch Linux, uma das primeiras coisas a fazer após a instalação do Arch Linux é aprender a usar os comandos pacman.
Neste guia para iniciantes, explicarei alguns dos usos essenciais do comando pacmand que você deve saber para gerenciar seu sistema baseado em Arch.
Comandos essenciais do pacman que os usuários do Arch Linux devem saber
Como outros gerenciadores de pacotes, o pacman pode sincronizar listas de pacotes com os repositórios de software para permitir que o usuário baixe e instale pacotes com um simples comando resolvendo todas as dependências necessárias .
Instalar pacotes com pacman
Você pode instalar um único pacote ou vários pacotes usando o comando pacman desta maneira:
pacman -S _package_name1_ _package_name2_ ...
Instalando um pacote O -S significa sincronização. Isso significa que o pacman primeiro sincroniza
O banco de dados pacman categoriza os pacotes instalados em dois grupos de acordo com o motivo pelo qual foram instalados:
- explicitamente instalado: os pacotes que foram instalados por um comando genérico pacman -S ou -U
- dependências: os pacotes que foram instalados implicitamente porque requeridos por outro pacote que foi instalado explicitamente.
Remover um pacote instalado
Para remover um único pacote, deixando todas as suas dependências instaladas:
pacman -R package_name_
Removendo um pacote Para remover um pacote e suas dependências que não são exigidas por nenhum outro pacote instalado:
pacman -Rs _package_name_
Para remover dependências que não são mais necessárias. Por exemplo, o pacote que precisava das dependências foi removido.
pacman -Qdtq | pacman -Rs -
Pacotes de atualização
Pacman oferece uma maneira fácil de atualizar o Arch Linux. Você pode atualizar todos os pacotes instalados com apenas um comando. Isso pode demorar um pouco, dependendo de como o sistema está atualizado.
O comando a seguir sincroniza os bancos de dados do repositório e atualiza os pacotes do sistema, excluindo os pacotes "locais" que não estão nos repositórios configurados:
pacman -Syu
- S significa sincronização
- y é para atualização (local
- u é para atualização do sistema
Basicamente, está dizendo que sincronizar com o repositório central (banco de dados do pacote mestre), atualizar a cópia local do banco de dados do pacote mestre e, em seguida, realizar a atualização do sistema (atualizando todos os pacotes que têm uma versão mais recente disponível).
Atualização do sistema Atenção!
Se você for um usuário do Arch Linux antes de atualizar, é aconselhável visitar a página inicial do Arch Linux para verificar as últimas notícias sobre atualizações fora do comum. Se a intervenção manual for necessária, uma postagem de notícias apropriada será feita. Alternativamente, você pode se inscrever no feed RSS ou na lista de discussão arch-announce.
Também esteja atento para olhar o [fórum] apropriado (https://bbs.archlinux.org/) antes de atualizar o software fundamental (como o kernel, xorg, systemd ou glibc), para qualquer problema relatado.
Upgrades parciais não são suportados em uma distribuição de lançamento contínuo como Arch e Manjaro. Isso significa que quando novas versões de biblioteca são enviadas para os repositórios, todos os pacotes nos repositórios precisam ser reconstruídos nas bibliotecas. Por exemplo, se dois pacotes dependem da mesma biblioteca, atualizar apenas um pacote pode quebrar o outro pacote que depende de uma versão mais antiga da biblioteca.
Use o pacman para procurar pacotes
Pacman consulta o banco de dados de pacote local com o sinalizador -Q, o banco de dados de sincronização com o sinalizador -S e o banco de dados de arquivos com o sinalizador -F.
Pacman pode pesquisar pacotes no banco de dados, tanto nos nomes quanto nas descrições dos pacotes:
pacman -Ss _string1_ _string2_ ...
Pesquisando um pacote Para pesquisar pacotes já instalados:
pacman -Qs _string1_ _string2_ ...
Para pesquisar nomes de arquivo de pacote em pacotes remotos:
pacman -F _string1_ _string2_ ...
Para visualizar a árvore de dependências de um pacote:
pactree _package_naenter code hereme_
Limpando o cache do pacote
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:
- Permite downgrade um pacote sem a necessidade de recuperar a versão anterior através de outras fontes.
- Um pacote que foi desinstalado pode ser facilmente reinstalado diretamente da pasta de cache.
No entanto, é necessário limpar o cache periodicamente para evitar que a pasta aumente de tamanho.
O script paccache (8), fornecido no pacote pacman-contrib, exclui todas as versões em cache de pacotes instalados e desinstalados, exceto os 3 mais recentes, por padrão:
paccache -r
Limpar cache Para remover todos os pacotes em cache que não estão instalados no momento e o banco de dados de sincronização não usado, execute:
pacman -Sc
Para remover todos os arquivos do cache, use a opção limpa duas vezes, esta é a abordagem mais agressiva e não deixará nada na pasta de cache:
pacman -Scc
Instalação de pacotes locais ou de terceiros
Instale um pacote "local" que não seja de um repositório remoto:
pacman -U _/path/to/package/package_name-version.pkg.tar.xz_
Instale um pacote 'remoto', não contido em um repositório oficial:
Comandos para usar no terminal pacman -U http://www.example.com/repo/example.pkg.tar.xz
pacman -U http://www.example.com/repo/example.pkg.tar.xz
Bônus: solução de erros comuns com pacman
Aqui estão alguns erros comuns que você pode encontrar ao gerenciar pacotes com o pacman.
Falha ao confirmar transação (arquivos conflitantes)
Se você vir o seguinte erro:
error: could not prepare transaction error: failed to commit transaction (conflicting files) package: /path/to/file exists in filesystem Errors occurred, no packages were upgraded.
Isso está acontecendo porque o pacman detectou um conflito de arquivos e não os sobrescreverá para você.
Uma maneira segura de resolver isso é primeiro verificar se outro pacote possui o arquivo (pacman -Qo /caminho/para/arquivo ). Se o arquivo pertencer a outro pacote, envie um relatório de bug. Se o arquivo não pertencer a outro pacote, renomeie o arquivo que "existe no sistema de arquivos" e emita novamente o comando de atualização. Se tudo correr bem, o arquivo pode ser removido.
Em vez de renomear manualmente e posteriormente remover todos os arquivos que pertencem ao pacote em questão, você pode executar explicitamente pacman -S –overwrite glob package para forçar o pacman a sobrescrever arquivos que correspondam a glob .
Falha ao confirmar a transação (pacote inválido ou corrompido)
Procure por arquivos .part (pacotes parcialmente baixados) em/var/cache/pacman/pkg/e remova-os. Geralmente, é causado pelo uso de um XferCommand personalizado no pacman.conf.
Falha ao iniciar a transação (não foi possível bloquear o banco de dados)
Quando o pacman está prestes a alterar o banco de dados do pacote, por exemplo, instalando um pacote, ele cria um arquivo de bloqueio em /var/lib/pacman/db.lck. Isso evita que outra instância do pacman tente alterar o banco de dados do pacote ao mesmo tempo.
Se o pacman for interrompido durante a alteração do banco de dados, este arquivo de bloqueio obsoleto pode permanecer. Se você tiver certeza de que nenhuma instância do pacman está em execução, exclua o arquivo de bloqueio.
Verifique se um processo está mantendo o arquivo de bloqueio:
lsof /var/lib/pacman/db.lck
Se o comando acima não retornar nada, você pode remover o arquivo de bloqueio:
rm /var/lib/pacman/db.lck
Se você encontrar o PID do processo que contém o arquivo de bloqueio com a saída do comando lsof, mate-o primeiro e depois remova o arquivo de bloqueio.
Espero que goste do meu humilde esforço para explicar os comandos básicos do pacman. Deixe seus comentários abaixo e não se esqueça de se inscrever em nossas redes sociais. Fique seguro!
Via itsfoss.com. Você pode conferir o post original em inglês:
Getting Started With Pacman Commands in Arch-based Linux DistributionsÚltima atualização deste artigo: 29 de october de 2020