Gerenciando pacotes com o pacman
Posted by Hugo Doria | Filed under Arch Linux, Linux
O pacman é uma das ferramentas mais legais do Arch Linux. Ele é um gerenciador de pacotes capaz de resolver dependências e que trabalha com um formato binário de pacotes. Além disso, o pacman permite que os pacotes sejam facilmente customizados pelos usuários.
Neste post vou tentar mostrar as principais opções do pacman. São elas:
-S (sincronização)
A opção -S do pacman é a responsável pelos diversos tipos de sincronização. Com ela é possível instalar pacotes, baixar uma lista com as últimas versões dos pacotes, atualizar todo o sistema, etc. Combinando a opção -S com outras é possível realizar diversas tarefas como, por exemplo:
Atualizar a lista de pacotes disponíveis (-Sy):
Antes de fazer qualquer operação de busca, instalação e/ou atualização de um pacote é recomendado atualizar a lista de pacotes disponíveis. O comando abaixo faz isso por você:
# pacman -Sy
Tanto a combinação -Sy, quanto todas as outras combinações, podem ser executadas de forma separada. Exemplo:
# pacman -S -y
NOTA: Por ser mais prático eu vou usar as opções combinadas no decorrer deste post.
Buscar um pacote (-Ss):
# pacman -Ss pacote
Exemplo:
# pacman -Ss firefox
Instalar um pacote dos repositórios (-S):
Sabendo que o pacote está disponível em um dos repositórios habilitados, você pode instalá-lo usando:
# pacman -S pacote
NOTA: Em todas as opções você pode passar mais de um pacote como parâmetro.
As vezes existem versões diferentes do pacote em diferentes repositórios. Você pode especificar de qual repositório você quer que o pacman baixe o pacote da seguinte maneira:
# pacman -S repositório/nome-do-pacote
Exemplo:
# pacman -S testing/firefox
Por padrão o pacman baixa o pacote do primeiro repositório onde ele for encontrado. A ordem dos repositórios pode ser definida no arquivo /etc/pacman.conf.
NOTA: Para instalar um pacote local use a opção -U:
# pacman -U pacote.pkg.tar.gz
Atualizar todo o sistema (-Su):
# pacman -Su
É recomendado que você atualize a lista de pacotes antes de atualizar o sistema. Você pode rodar pacman -Sy antes ou fazer tudo ao mesmo tempo. É só combinar todas as opções da seguinte forma:
# pacman -Syu
Forçar a instalaçao de um pacote (-Sf):
# pacman -Sf pacote
Esta opção é útil quando acontece algum conflito de pacotes, mas use-a com cuidado.
Limpar os pacotes antigos do cache (-Sc):
# pacman -Sc
Para apagar todos os arquivos do cache use:
# pacman -Scc
-R (remoção)
A opção -R serve para remover pacotes. Os arquivos pertencentes ao pacote também são removidos e a base de dados de pacotes é atualizada. Os arquivos de configuração são salvos com a extensão .pacsave.
# pacman -R pacote
A opção acima remove o pacote, mas todas as dependências dele continuarão instaladas.
Combinada com outras, a opção -R pode:
Remover um pacote e suas dependência (-Rs):
O comando abaixo remove um pacote e todas as suas dependências que não estão sendo usadas por nenhum outro pacote.
# pacman -Rs pacote
Remover um pacote sem checar suas dependências (-Rd):
Algum dia você precisará remover um pacote sem que o pacman cheque as dependências do mesmo (por causa de um conflito de pacotes, por exemplo). O comando a seguir fará isso por você:
# pacman -Rd pacote
Remover um pacote e todos os seus arquivos de configuração (-Rn):
# pacman -Rn pacote
NOTA: Com esta opção *todos* os arquivos de um determinado pacote serão removidos (inclusive os arquivos de configuração).
Removendo um pacote e todos os outros que precisam dele (-Rc):
# pacman -Rc pacote
Isso vai remover o pacote e todos os outros pacotes que precisam dele de forma recursiva.
NOTA: Eu recomendo desinstalar um pacote combinando as opções -s, -c e -n da seguinte forma:
# pacman -Rscn pacote
-Q (query)
Com a opção -Q é possível, entre outras coisas:
Listar todos os pacotes instalados (-Q):
# pacman -Q
Obter informações de um pacote instalado (-Qi):
A opção -Qi mostra diversas informações sobre o pacote como, por exemplo, versão, descrição, licensa, dependências, data de criação, quem empacotou, etc.
# pacman -Qi pacote
Listar os arquivos contidos em um pacote (-Ql):
# pacman -Ql pacote
Visualizar o “pacote dono” de um determinado arquivo (-Qo):
Esta opção faz o caminho inverso da opção anterior (-Ql). Aqui você descobre a que pacote pertence um determinado arquivo no disco.
# pacman -Qo caminho-do-arquivo
Exemplo:
# pacman -Qo /etc/pacman.conf
/etc/pacman.conf pertence a pacman 3.0.6-2
Listar os pacotes que foram instalados de forma explícita (-Qe):
# pacman -Qe
Listar todos os pacotes orfãos (-Qdt):
O comando acima lista todos os pacotes que foram instalados por algum outro pacote, mas que não são requeridos por mais nenhum outro pacote instalado. Isso pode acontecer quando se remove um pacote, mas não remove as dependências do mesmo.
É isso. Aqui eu só listei as principais opções do pacman, mas existem várias outras. Recomendo que dê uma olhada na manpage dele.
[tags]pacman, archlinux, arch, package manager[/tags]
Hugo Dória é pai, músico, desenvolvedor oficial e empacotador do Arch Linux, sysadmin e trabalha com instalação e configuração de servidores Linux. :)
November 24th, 2007 at 8:24 pm
Nossa, um guia do pacman muito bem escrito! Algumas das opções eu realmente não conhecia. Gostaria de sugerir a adição de bons aliases para o pacman, que pode tomar como este link ou este link.
Que tal postá-lo no BR-Linux?
Novamente, parabéns.
November 24th, 2007 at 8:27 pm
Correção:
pode tomar como este link…
na verdade seria
que pode tomar como exemplo..
November 24th, 2007 at 8:48 pm
Opa Pablo,
Primeiramente queria agradecer pelo comentário. Gostei da idéia de postar no Br-Linux. Vou enviar uma sugestão de notícia para lá. Obrigado. ;)
Adorei a idéia do alias para o pacman. Vou fazer aqui. Muito bom.
Abraços e obrigado.
November 25th, 2007 at 8:10 am
Parabéns cara, adicionado aos favoritos, conhece uma gui perfeita para o pacman ?
November 25th, 2007 at 1:32 pm
Opa n3rd3x,
Eu ainda não testei nenhuma gui para o pacman e, por isso, não posso lhe indicar nenhuma.
Eu sei que já existe um membro do Arch Linux portando ele para o PackageKit. Só não sei a quantas anda o desenvolvimento.
November 26th, 2007 at 4:49 am
Gostei, ótima dica para quem está chegando e não sabe o que é pacman. :)
November 26th, 2007 at 9:41 am
o Jacman e uma GUI baseada em JAVA!
Não e la essas coisas mas e bonzinho!
December 13th, 2007 at 1:56 pm
[...] podcast foi bem legal e ele falou, entre outras coisas, da história do arch, do pacman, sobre segurança, sobre o AUR, dos planos para a distro e, claro, do projeto em si. Vale a [...]
May 15th, 2008 at 10:38 pm
[...] Gerenciando pacotes com o pacman [...]