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 Bodnar – distrowatch.com, [1], [2], [3], [4]
Tradução por Roberto Bechtlufft <robertobech at gmail.com>
Deixe seu comentário