Você está na página 1de 12

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.

apt (deb) yum (rpm)


zypp (rpm) urpmi (rpm)
Tarefa Debian, Fedora,
openSUSE Mandriva
Ubuntu CentOS

Gerenciando o
software

Instalar um novo
apt-get zypper
software usando os yum install
install install urpmi pacote
repositórios de pacote
pacote pacote
pacotes

Instalar um novo zypper yum


dpkg -i
software usando um install localinstall urpmi pacote
pacote
arquivo de pacote pacote pacote

apt-get zypper yum


Atualizar um software
install update -t update urpmi pacote
instalado
pacote pacote pacote

apt-get zypper zypper


Remover um software
remove remove erase urpme pacote
instalado
pacote pacote pacote

Atualizando o
sistema

Atualizar lista de apt-get zypper yum urpmi.update -a


check-
pacotes update refresh
update

apt-get zypper yum urpmi --auto-


Atualizar o sistema
upgrade update update select

Procurando por
pacotes

apt-cache zypper
Procurar pelo nome do yum list
search search urpmq pacote
pacote pacote
pacote pacote

zypper
apt-cache yum
search -t urpmq --fuzzy
Procurar por padrão search search
pattern pacote
padrão padrão
padrão

apt-file yum
Procurar pelo nome do zypper wp
search provides urpmf arquivo
arquivo arquivo
caminho arquivo

Listar os pacotes
dpkg -l rpm -qa rpm -qa rpm -qa
instalados

Configurando o
acesso a repositórios
de software

cat
zypper yum urpmq --list-
Listar repositórios /etc/apt/s
repos repolist media
ources.list

(adicione o
(edite o zypper
repositório
/etc/apt/s addrepo urpmi.addmedia
Adicionar repositório ao
ources.list caminho nome caminho
/etc/yum.r
) nome
epos.d/)

Remover repositório (edite o zypper (remova o urpmi.removeme


/etc/apt/s removerep repositório dia mídia
do
ources.list
o nome /etc/yum.r
)
epos.d/)

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.

slapt-
pkgtools slackpkg netpkg
Tarefa get
Slackware Slackware Zenwalk
Vector

Gerenciand
o o software

Instalar um
novo
slapt-get
software slackpkg install
-- install netpkg pacote
usando os pacote
pacote
repositórios
de pacotes

Instalar um installpkg slackpkg install slapt-get netpkg pacote


novo pacote pacote install
software
usando um
pacote
arquivo de
pacote

Atualizar um slapt-get
upgradepkg slackpkg install
software install netpkg pacote
pacote pacote
instalado pacote

Remover um slapt-get
removepkg slackpkg remove netpkg remove
software remove
pacote pacote pacote
instalado pacote

Atualizando
o sistema

Atualizar lista slapt-get


-- slackpkg update (automático)
de pacotes update

Atualizar o slackpkg upgrade- slapt-get netpkg


--
sistema all upgrade upgrade

Procurando
por pacotes

Procurar slapt-get
slackpkg search netpkg pacote
pelo nome -- --search
pacote repositório
do pacote pacote

slapt-get
Procurar por slackpkg search netpkg list |
-- --search
padrão padrão grep padrão
padrão

Procurar
netpkg arquivo
pelo nome -- -- --
repositório
do arquivo

Listar os ls slapt-get
ls
pacotes /var/log/package --installe netpkg list I
/var/log/packages/
instalados s/ d
Configurand
o o acesso
a
repositórios
de software

cat
cat /etc/slap
Listar
-- /etc/slackpkg/mirro t- netpkg mirror
repositórios
rs get/slapt
-getrc

(edite
o
(edite o (edite o
Adicionar /etc/slap
-- /etc/slackpkg/mirro /etc/netpkg.con
repositório t-
rs) f)
get/slapt
-getrc)

(edite
o
(edite o (edite o
Remover /etc/slap
-- /etc/slackpkg/mirro /etc/netpkg.con
repositório t-
rs) f)
get/slapt
-getrc)

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.

conary
equo pacman pisi
Tarefa rPath,
Sabayon Arch Pardus
Foresight

Gerenciando o
software

Instalar um novo
equo conary
software usando pacman -S pisi install
install update
os repositórios pacote pacote
pacote pacote
de pacotes

Instalar um novo
equo conary
software usando pacman -U pisi install
install update
um arquivo de pacote pacote
pacote pacote
pacote

Atualizar um equo conary


pacman -S pisi install
software install update
pacote pacote
instalado pacote pacote

Remover um equo conary pisi


pacman -R
software remove erase remove
pacote
instalado pacote pacote pacote

Atualizando o
sistema

pisi
Atualizar lista de equo
pacman -Sy update-
pacotes update
repo

Atualizar o equo conary pisi


pacman -Su
sistema world updateall upgrade

Procurando por
pacotes

equo conary pisi


Procurar pelo pacman -Ss
match query search
nome do pacote pacote
pacote pacote pacote

equo conary pisi


Procurar por pacman -Ss
search query search
padrão padrão
padrão pacote pacote

conary pisi
equo
Procurar pelo pacman -Qo query search-
belongs
nome do arquivo arquivo --path file
arquivo
caminho caminho

Listar os
conary pisi list-
pacotes equo list pacman -Q
query installed
instalados

Configurando o
acesso a
repositórios de
software

Listar equo cat pisi list-


repositórios repoinfo /etc/pacman.conf repo

pisi add-
Adicionar (edite o repo
repositório /etc/pacman.conf) nome
caminho

pisi
Remover (edite o remove-
repositório /etc/pacman.conf) 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.

smart pkgcon
Tarefa Mandriva, Fedora, Ubuntu,
openSUSE openSUSE, Mandriva

Gerenciando o software

Instalar um novo software


smart install
usando os repositórios de pkcon install pacote
pacote
pacotes

Instalar um novo software


smart install
usando um arquivo de pkcon install-file pacote
pacote
pacote

Atualizar um software smart install


pkcon update pacote
instalado pacote

Remover um software smart remove


pkcon remove pacote
instalado 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 smart search pkcon search name
pacote pacote pacote

smart search pkcon search details


Procurar por padrão
padrão padrão

Procurar pelo nome do smart query pkcon what-provides


arquivo arquivo arquivo

Listar os pacotes smart query


--
instalados --installed

Configurando o acesso
a repositórios de
software

smart channel
Listar repositórios pkcon repo-list
--show

smart channel
Adicionar repositório --add nome
caminho

smart channel
Remover repositório
--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.
sorcery
portage lunar
Tarefa Source
Gentoo Lunar
Mage

Gerenciando o
software

Instalar um novo
software usando os cast
emerge pacote lin pacote
repositórios de pacote
pacotes

Instalar um novo
software usando um
arquivo de pacote

Atualizar um cast
emerge pacote lin pacote
software instalado pacote

Remover um dispel
emerge -aC pacote lrm pacote
software instalado pacote

Atualizando o
sistema

Atualizar lista de lin scribe


emerge --sync
pacotes moonbase update

lunar sorcery
Atualizar o sistema emerge -NuDa world
update upgrade

Procurando por
pacotes

gaze
Procurar pelo nome lvu search search
emerge --search pacote
do pacote pacote -name
pacote

Procurar por padrão emerge --search lvu search gaze


padrão padrão search
padrão

Procurar pelo nome gaze from


do arquivo arquivo

find /var/db/pkg/
Listar os pacotes lvu gaze
-mindepth 2 -maxdepth
instalados installed installed
2 -printf "%Pn"

Configurando o
acesso a
repositórios de
software

scribe
Listar repositórios layman -L --
index

scribe add
Adicionar repositório layman -a repositório --
repositório

scribe
Remover repositório layman -d repositório -- remove
repositório

Créditos a Ladislav Bodnar - distrowatch.com, [1], [2], [3], [4]

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