Referência rápida para gerenciamento de pacotes no Linux

Linux package management cheatsheet
Autor original: Ladislav Bodnar
Publicado originalmente no: distrowatch.com, [1], [2], [3], [4]
Tradução: Roberto Bechtlufft

O gerenciamento de pacotes é provavelmente a característica que mais diferencia as distribuições Linux. Embora a tendência em boa parte dos grandes projetos seja oferecer uma interface gráfica na qual os usuários possam selecionar um pacote e instalá-lo com um clique do mouse (como no Synaptic do Debian ou no Drakrpm do Mandriva), esses programas costumam ser apenas interfaces gráficas para os utilitários de baixo nível que gerenciam as tarefas associadas à instalação de pacotes nos sistemas Linux. Ainda que muitos usuários do Linux sintam-se bem mais à vontade instalando pacotes com essas ferramentas gráficas intuitivas, não dá para negar que o gerenciamento de pacotes pela linha de comando oferece dois excelentes recursos que não estão disponíveis em nenhum utilitário gráfico para gerenciamento de pacotes: poder e velocidade.

Um problema enfrentado por muitos daqueles que estão sempre mudando de distro e por entusiastas de sistemas operacionais é a necessidade de dominar (ou de aprender novamente) um novo grupo de comandos para gerenciamento de pacotes sempre que mudam de distribuição. Além disso, as ferramentas de gerenciamento de pacotes tendem a evoluir, com novos recursos e comandos sendo adicionados nas novas versões. Algumas distribuições até desenvolvem utilitários de gerenciamento de pacotes completamente novos, como foi o caso do openSUSE com o ZYpp. Outras, como o Debian, desencorajam o uso de utilitários consolidados (como o apt-get) em prol de alternativas melhores (como o aptitude) para a atualização do sistema. Essas mudanças todas complicam as coisas para quem quer acompanhar as diferentes distribuições e suas ferramentas de gerenciamento de pacotes.

Por isso, vamos fazer algo diferente: criar uma tabela de referência rápida listando comandos populares para o gerenciamento de pacotes em distribuições Linux.

Tarefa
apt (deb)
Debian, Ubuntu
zypp (rpm)
openSUSE
yum (rpm)
Fedora, CentOS
urpmi (rpm)
Mandriva
Gerenciando o software
Instalar um novo software usando os repositórios de pacotes
apt-get install pacote
zypper install pacote
yum install pacote
urpmi pacote
Instalar um novo software usando um arquivo de pacote
dpkg -i pacote
zypper install pacote
yum localinstall pacote
urpmi pacote
Atualizar um software instalado
apt-get install pacote
zypper update -t pacote
yum update pacote
urpmi pacote
Remover um software instalado
apt-get remove pacote
zypper remove pacote
zypper erase pacote
urpme pacote
Atualizando o sistema
Atualizar lista de pacotes
apt-get update
zypper refresh
yum check-update
urpmi.update -a
Atualizar o sistema
apt-get upgrade
zypper update
yum update
urpmi –auto-select
Procurando por pacotes
Procurar pelo nome do pacote
apt-cache search pacote
zypper search pacote
yum list pacote
urpmq pacote
Procurar por padrão
apt-cache search padrão
zypper search -t pattern padrão
yum search padrão
urpmq –fuzzy pacote
Procurar pelo nome do arquivo
apt-file search caminho
zypper wp arquivo
yum provides arquivo
urpmf arquivo
Listar os pacotes instalados
dpkg -l
rpm -qa
rpm -qa
rpm -qa
Configurando o acesso a repositórios de software
Listar repositórios
cat /etc/apt/sources.list
zypper repos
yum repolist
urpmq –list-media
Adicionar repositório
(edite o /etc/apt/sources.list)
zypper addrepo caminho nome
(adicione o repositório ao /etc/yum.repos.d/)
urpmi.addmedia nome caminho
Remover repositório
(edite o /etc/apt/sources.list)
zypper removerepo nome
(remova o repositório do /etc/yum.repos.d/)
urpmi.removemedia mídia

A segunda tabela lista as ferramentas de gerenciamento de pacotes presentes no Slackware Linux e em outras distribuições baseadas no Slackware. Como Patrick Volkerding já disse em diversas ocasiões, o Slackware dificilmente terá uma ferramenta avançada de gerenciamento de pacotes (leia-se: com resolução de dependências), por isso todas as tarefas de instalação, atualização e remoção continuam a ser realizadas com o pkgtools, um grupo de scripts simples que não mudou muito ao longo dos anos. No entanto, o repositório extra (não suportado) do Slackware, que também está disponível no DVD de instalação, inclui o slackpkg, uma ferramenta de gerenciamento de pacotes criada por terceiros que oferece uma maneira mais automática de instalar software no Slackware Linux. Vale mencionar que alguns derivados populares do Slackware, como o VectorLinux, adotaram como padrão o slapt-get, outra ferramenta de terceiros que imita o comportamento do APT.

Tarefa
pkgtools
Slackware
slackpkg
Slackware
slapt-get
Vector
netpkg
Zenwalk
Gerenciando o software
Instalar um novo software usando os repositórios de pacotes
slackpkg install pacote
slapt-get install pacote
netpkg pacote
Instalar um novo software usando um arquivo de pacote
installpkg pacote
slackpkg install pacote
slapt-get install pacote
netpkg pacote
Atualizar um software instalado
upgradepkg pacote
slackpkg install pacote
slapt-get install pacote
netpkg pacote
Remover um software instalado
removepkg pacote
slackpkg remove pacote
slapt-get remove pacote
netpkg remove pacote
Atualizando o sistema
Atualizar lista de pacotes
slackpkg update
slapt-get update
(automático)
Atualizar o sistema
slackpkg upgrade-all
slapt-get upgrade
netpkg upgrade
Procurando por pacotes
Procurar pelo nome do pacote
slackpkg search pacote
slapt-get –search pacote
netpkg pacote repositório
Procurar por padrão
slackpkg search padrão
slapt-get –search padrão
netpkg list | grep padrão
Procurar pelo nome do arquivo
netpkg arquivo repositório
Listar os pacotes instalados
ls /var/log/packages/
ls /var/log/packages/
slapt-get –installed
netpkg list I
Configurando o acesso a repositórios de software
Listar repositórios
cat /etc/slackpkg/mirrors
cat /etc/slapt-get/slapt-getrc
netpkg mirror
Adicionar repositório
(edite o /etc/slackpkg/mirrors)
(edite o /etc/slapt-get/slapt-getrc)
(edite o /etc/netpkg.conf)
Remover repositório
(edite o /etc/slackpkg/mirrors)
(edite o /etc/slapt-get/slapt-getrc)
(edite o /etc/netpkg.conf)

No próximo grupo, temos algumas (a maioria) das distribuições independentes que vêm ganhando popularidade nos últimos anos. O Sabayon Linux, embora derivado do Gentoo, traz sua própria ferramenta de linha de comando para o gerenciamento de pacotes chamada equo. O Pacman, do Arch Linux já existe há algum tempo e é freqüentemente considerado um dos gerenciadores de pacotes mais velozes. O Conary, desenvolvido pela rPath e popularizado pelo Foresight Linux, é uma abordagem completamente nova no gerenciamento de pacotes. Foi criado por ex-engenheiros famosos da Red Hat, que têm anos de experiência no gerenciamento de pacotes. Por outro lado, o PiSi, do Pardus Linux, é uma ferramenta relativamente nova, mas a distribuição em si vem crescendo rapidamente nos últimos anos.

Tarefa
equo
Sabayon
pacman
Arch
conary
rPath, Foresight
pisi
Pardus
Gerenciando o software
Instalar um novo software usando os repositórios de pacotes
equo install pacote
pacman -S pacote
conary update pacote
pisi install pacote
Instalar um novo software usando um arquivo de pacote
equo install pacote
pacman -U pacote
conary update pacote
pisi install pacote
Atualizar um software instalado
equo install pacote
pacman -S pacote
conary update pacote
pisi install pacote
Remover um software instalado
equo remove pacote
pacman -R pacote
conary erase pacote
pisi remove pacote
Atualizando o sistema
Atualizar lista de pacotes
equo update
pacman -Sy
pisi update-repo
Atualizar o sistema
equo world
pacman -Su
conary updateall
pisi upgrade
Procurando por pacotes
Procurar pelo nome do pacote
equo match pacote
pacman -Ss pacote
conary query pacote
pisi search pacote
Procurar por padrão
equo search padrão
pacman -Ss padrão
conary query pacote
pisi search pacote
Procurar pelo nome do arquivo
equo belongs arquivo
pacman -Qo arquivo
conary query –path caminho
pisi search-file caminho
Listar os pacotes instalados
equo list
pacman -Q
conary query
pisi list-installed
Configurando o acesso a repositórios de software
Listar repositórios
equo repoinfo
cat /etc/pacman.conf
pisi list-repo
Adicionar repositório
(edite o /etc/pacman.conf)
pisi add-repo nome caminho
Remover repositório
(edite o /etc/pacman.conf)
pisi remove-repo nome

Além das ferramentas de gerenciamento de pacotes usadas como parte do sistema pela maioria das distribuições, também existem algumas ferramentas que não estão atreladas a nenhuma distro específica, e que vem sendo incluídas em distribuições variadas. O Smart, desenvolvido originalmente pela Conectiva, não tem sido muito divulgado, mas alguns usuários preferem usá-lo no lugar do urpmi da Mandriva ou do zypper do openSUSE (ele também é compatível com sistemas baseados no Debian e no Slackware). Nos últimos dias, o PackageKit do Fedora também vem ganhando destaque, apresentando uma maneira de gerenciar pacotes em diferentes distribuições e arquiteturas. Incluído em muitas distribuições, a ferramenta de linha de comando pkgcon, do PackageKit, é um front-end para as ferramentas nativas de gerenciamento de pacotes do Fedora, do Ubuntu, do openSUSE, da Mandriva e de outras distribuições.

Tarefa
smart
Mandriva, openSUSE
pkgcon
Fedora, Ubuntu, openSUSE, Mandriva
Gerenciando o software
Instalar um novo software usando os repositórios de pacotes
smart install pacote
pkcon install pacote
Instalar um novo software usando um arquivo de pacote
smart install pacote
pkcon install-file pacote
Atualizar um software instalado
smart install pacote
pkcon update pacote
Remover um software instalado
smart remove pacote
pkcon remove pacote
Atualizando o sistema
Atualizar lista de pacotes
smart update
pkcon refresh
Atualizar o sistema
smart upgrade
pkcon upgrade
Procurando por pacotes
Procurar pelo nome do pacote
smart search pacote
pkcon search name pacote
Procurar por padrão
smart search padrão
pkcon search details padrão
Procurar pelo nome do arquivo
smart query arquivo
pkcon what-provides arquivo
Listar os pacotes instalados
smart query –installed
Configurando o acesso a repositórios de software
Listar repositórios
smart channel –show
pkcon repo-list
Adicionar repositório
smart channel –add nome caminho
Remover repositório
smart channel –remove nome

Por fim, uma tabela para as distribuições baseadas em código fonte. O Portage, do Gentoo, é bem documentado e muito usado, mas as outras distribuições feitas para serem montadas do zero não costumam ter muito destaque na imprensa especializada em Linux, e por isso seus sistemas de gerenciamento de pacotes não são particularmente conhecidos. O Sorcerer (“Feiticeiro”), que já existia antes do Gentoo Linux nascer, usa scripts do Bash para “fazer sua mágica” e baixar, instalar e compilar pacotes. O Sorcerer sofreu um fork, gerando o Lunar Linux e o Source Mage GNU/Linux, ambos incluídos na tabela abaixo. Infelizmente, o Sorcerer não oferece muita documentação online e foi omitido por enquanto.

Tarefa
portage
Gentoo
lunar
Lunar
sorcery
Source Mage
Gerenciando o software
Instalar um novo software usando os repositórios de pacotes
emerge pacote
lin pacote
cast pacote
Instalar um novo software usando um arquivo de pacote
Atualizar um software instalado
emerge pacote
lin pacote
cast pacote
Remover um software instalado
emerge -aC pacote
lrm pacote
dispel pacote
Atualizando o sistema
Atualizar lista de pacotes
emerge –sync
lin moonbase
scribe update
Atualizar o sistema
emerge -NuDa world
lunar update
sorcery upgrade
Procurando por pacotes
Procurar pelo nome do pacote
emerge –search pacote
lvu search pacote
gaze search -name pacote
Procurar por padrão
emerge –search padrão
lvu search padrão
gaze search padrão
Procurar pelo nome do arquivo
gaze from arquivo
Listar os pacotes instalados
find /var/db/pkg/ -mindepth 2 -maxdepth 2 -printf “%Pn”
lvu installed
gaze installed
Configurando o acesso a repositórios de software
Listar repositórios
layman -L
scribe index
Adicionar repositório
layman -a repositório
scribe add repositório
Remover repositório
layman -d repositório
scribe remove repositório

Créditos a Ladislav Bodnardistrowatch.com, [1], [2], [3], [4]

Tradução por Roberto Bechtlufft <robertobech at gmail.com>

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X