Trabalhando com RPM

Olá! Neste artigo mostrarei como se trabalhar com o RPM (RedHat Package Manager), visto que este é o sistema de pacotes oficialmente adotado por grande parte das mais famosas distribuições Linux.

[ Hits: 220.926 ]

Por: Eduardo Vieira Mendes em 04/05/2004


Introdução



O que é o RPM?


O RPM é um sistema de instalação de programas criado pela Red Hat.

O que é um pacote RPM?


Um pacote RPM nada mais é do que os arquivos do programa, scripts e regras para sua instalação.

Como instalar pacotes RPM?


Para instalar um pacote RPM use o comando:

rpm -i nome_do_pacote.rpm

Você tem um pacote instalado, mas acaba de pegar uma versão mais nova do programa. O que fazer? Desinstalar o pacote antigo e instalar o novo? Não! Não é preciso que se faça isso! Você pode atualizar para uma versão mais recente de um pacote já instalado com o comando:

rpm -U nome_do_pacote.rpm

Tudo bem, aprendemos instalar e atualizar um pacote, mas tem aquele programa instalado em meu PC que eu nunca uso, como faço para removê-lo?

Bem, para remover um pacote já instalado use o comando:

rpm -e nome_do_pacote

OBS: Veja que agora não colocamos a extensão rpm. Não é necessário que se coloque a extensão!

Para ver a lista de pacotes instalados em seu sistema use o comando:

rpm -qa

Agora vamos verificar se algum pacote já está instalado em nosso sistema. Para isso utilize o comando:

rpm -qa | grep nome_do_pacote

OBS: O nome do pacote não precisa ser digitado inteiramente!

Exemplo: Para sabermos quais pacotes que possuem "gnome" no seu nome estão instalados em nosso sistema utilizamos o comando:

rpm -qa | grep gnome

Agora veja que existem vários pacotes com o nome gnome-yyyy, onde yyyy é o complemento do nome do pacote, e outros que têm um prefixo (ex.: libgnome-xxx, onde o xxx é a versão do pacote).

Para vermos quais arquivos um certo pacote provê utilizamos o comando:

rpm -qlp nome_do_pacote.rpm

Se você quiser obter informações sobre um pacote instalado no sistema utilize o comando:

rpm -qi nome_do_pacote

OBS: Note que mais uma vez não é necessário usar a extensão rpm.

Agora você quer obter informações de um pacote não instalado, utilize o comando:

rpm -qip nome_do_pacote.rpm

Se no caso acima as informações mostradas ainda não são suficientes para o que queremos, podemos obter mais informações sobre um pacote ainda não instalado com o comando:

less nome_do_pacote.rpm

Digamos agora que você tem um pacote instalado, mas por algum motivo qualquer ele não está funcionando normalmente.

Existem outras maneiras de resolver este problemas, mas se você tentou de tudo e ainda não conseguiu resolvê-lo, pode reinstalar o pacote. Mas ao tentar o comando "rpm -U nome_do_pacote" ou "rpm -i nome_do_pacote" você recebe a mensagem de que o pacote já está instalado, basta usar com o parâmetro --replacepkgs assim:

rpm -i --replacepkgs nome_do_pacote.rpm
ou
rpm -U --replacepkgs nome_do_pacote.rpm

Para instalar um pacote sem que seja verificado se o seu disco possui espaço suficiente para o pacote use o comando:

rpm -i --ignoresize nome_do_pacote.rpm

Atenção: Esta opção não é recomendada visto que se não existir espaço suficiente para a instalação o pacote pode e/ou será instalado com problemas!

Para instalar um pacote sem instalar a sua documentação utilize o comando:

rpm -i --excludedocs nome_do_pacote.rpm

OBS: Apenas os arquivos marcados como documentação não serão instalados!

Para instalar um pacote sem a verificação das dependências utilize o comando:

rpm -i --nodeps nome_do_pacote.rpm

Atenção: Esta opção não é recomendada visto que provavelmente o programa apresentará erros uma vez que as dependências não forem atendidas!

Caso você queira instalar uma versão mais antiga de um pacote já instalado utilize o comando:

rpm -U --oldpackage nome_do_pacote.rpm

Caso você queira apenas testar se um pacote vai ser instalado corretamente (se todas as dependências serão atendidas, se não causa nenhum conflito) em seu sistemas utilize o comando:

rpm -i --test nome_do_pacote.rpm

Algumas vezes quando instalamos e desinstalarmos pacotes pode ocorrer da nossa base de dados do rpm ficar corrompida!

Se ao tentar instalar, atualizar ou remover um pacote você começar a receber mensagens de erro do tipo "Segmentation fault ou (null)-(null)" você deve atualizar sua base de dados do rpm com o comando:

rpm --rebuilddb

Ou então você pode construir uma nova com o comando: rpm --initdb

Para maiores informações sobre o rpm use o comando:

# man rpm

Isso é tudo (ou quase tudo) pessoal!

Espero que a partir de agora seja mais fácil para vocês instalarem, atualizarem ou removerem seus pacotes rpm.

Abraços.

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Permissões e propriedades de arquivos

Redes PLC

Prompt Bash avançado

Bluefish - um poderoso editor para web designers

Transforme seu Linux num Neo Geo

Leitura recomendada

KimTu GNU/Linux - Uma distro brasileira

Sbopkg - Instalador de pacotes para Slackware

Quebrando os mitos do software de código aberto

Instalando a DD-WRT em roteadores Linksys WR54G*

Virtualizando com VMWare webserver e autenticando em domínio Samba

  
Comentários
[1] Comentário enviado por alphainfo em 05/05/2004 - 08:59h

Essa de dar um 'less' em um pacote RPM foi legal!! Vale a pena citar o rpm -e pacote_instalado para removê-lo do sistema...

Valew pelo artigo,

Daniel Freire

[2] Comentário enviado por cvs em 05/05/2004 - 10:49h

o problema são as dependencias, as vezes chega a ser impossivel instalar tal programa por conta das "amarrações" de dependencias e como já sofri demais quando usava mandrake e conectiva tenho pra mim a seguinte opinião. "pacotes rpms só vao melhorar quando finalmente nao existirem mais" ... isso é opinião pessoal, entao se alguem gosta, que bom, use! hehehehe :P
Legal o artigo, tem muita coisa ai que facilita a vida.

[3] Comentário enviado por RootUser em 05/05/2004 - 14:04h

Concordo com o CVS eu usava o Conectiva e nao aguentava o tanto de problemas que enfrentava com dependencias de pacotes rpm....

[4] Comentário enviado por ivandourado em 05/05/2004 - 22:36h

Pode ser que para quem utiliza a linha de comandos constantemente (desenvolvedores principalmete) seja realmente um problema, mas no caso específico de desktops, onde (principalmente no Mandrake - citado) tudo é automático, tudo que foi colocado, fica transparente. Acho interessante as colocações para quem não usa a plataforma gráfica como regra. Mas acho que se um usuário Windows que está pretendendo migrar para o linux, vê todas essas informações, continua alienado. O Pessoal que encabeça o movimento livre está esquecendo que é preciso atingir também o usuário doméstico e que, este não entende de linha de comando; ele quer saber mesmo como funciona na janelinha. Já fui desenvolvedor nos anos 80 (estou com 41) e olha "que maquinas e que sistemas" nós tínhamos!!! Hoje sou adepto da plataforma gráfica, amante do linux e apaixonado pelo KDE...eheheh

[5] Comentário enviado por vodooo em 06/05/2004 - 00:21h

Realmente alphainfo faltou essa, achei que tinha colocado!!! Obrigado pela observação.

Me desculpem pela falta de atenção, é que já estava de madrugada quando criei o artigo e não reparei que estava faltando como desinstalar um pacote!!

Abraços

[6] Comentário enviado por vodooo em 06/05/2004 - 00:49h

Peço desculpas mais uma vez por estar desatento!!!

alphainfo, não faltou não, dê uma olhada lá em cima coloquei sim! hehehehe

Abraços

[7] Comentário enviado por lomba_II em 11/01/2005 - 05:28h

este artigo e muito important e bastante e goste ate ja

[8] Comentário enviado por wavemmx em 13/10/2005 - 15:06h

Os pacotes rpm são muito fáceis de instalar e entre outras coisas, por isso são bastante populares

[9] Comentário enviado por masterdev em 20/10/2005 - 15:00h

Pacotes RPM não prestam ao meu mode ver, pois as vezes para instalar um pocote é impossivel, eu usava o CL10 e nunca consegui instalar nada que fosse em pacotes RPM, troquei minha distro para Slackware 10.2 e nada, continua a mesma porcaria de sempre, estou querendo voltar para o windows, pelo menos não tem essa frescura idiota de "dependencias". No windows, quando falta alguma coisa, como por exemplo o .NET Framework, ele fala aonde posso baixar o pacote. No LINUX, nem se quer fala o nome certo da dependencia.
O LINUX só sera melhor que o Windows no dia que não existir esse negocio de dependencias.

[10] Comentário enviado por vodooo em 08/12/2005 - 09:32h

Olá, concordo com todos que disseram que as depêndencias são um saco, mas no caso de usuários que estão migrando do Windows para o Linux o sistema rpm é uma boa opção, principalmente no Mandrake, a melhor distro para usuários iniciantes em linux!

Comecei usando o Winlinux que era instalado e iniciado pelo Windows, mas pelo meu pouco conhecimento na área, não funcionava direito! Algum tempo depois me arrisquei e instalei o Mandrake, fiquei maravilhado com todo este novo universo que encontrei e mais ainda com a facilidade de uso, quando todos diziam que o Linux era um bicho de sete cabeças!

Às vezes sofria com as dependências impostas pelo sistema, mas era minha única opção na época! Quando adquiri mais conhecimento deixei de lado as tão penosas dependências e instalei o Slackware, e, sou feliz até hoje por essa atitude!

[11] Comentário enviado por italo em 10/07/2006 - 14:15h

to migrando pro linux agora, instalei o ubuntu no meu pc e tenhu muita dificulade com os pacotes rpm muitos programas q quero instalar vem como rpm e quando faco rpm - i arq.rpm dix q rpm e um comando invlido. oq faco???

[12] Comentário enviado por lordshady em 19/08/2006 - 09:39h

O tutorial está muito bom, mas, Sou um usuário novato, gostei do linux pela sua estabilidade, qd ele dá pau não é preciso ficar reiniciando a máquina como de praxe no window. O problema é que instalei uma versão linux KUBUNTU,(uma mistura de Kurumin com Ubuntu) que não estou conseguindo usar, o caso é, eu baixei um anti-virus da avast para linux em pacote .rpm, e um emulador em pacote .gz, ta até ai tudo bem, mas acontece que não consegui instalar o pacote .rpm, já o .gz eu não entendi, pois ele é um arquivo compactado, e dentro dele não encontrei nenhum utilitário de instalação.

se puder me ajudar eu agradeço, flw, obrigado.

[13] Comentário enviado por caiobl em 12/12/2006 - 10:43h

MEu deus
kkkk eu sou novo usuario do linux tbme precisod e ajuda heheh
nao consegui isntalar nada ate agora! onde vcs realizam esses comandos??
se alguem souber de um tutorial sobre essas informaçoes de comandos e isntalaçao de arquivos por favor me mandem! =/
brigadao!!!!!!!!!!!!!

[14] Comentário enviado por removido em 30/12/2006 - 20:05h

Olá,

Não sou um usuário avançado em linux (conheci e comecei a utilizar no
inicio de deste ano), mas já li muitos artigos e muita documentação sobre
linux, por isso aconselho àqueles que estão começando, a ler
documentações basicas sobre linux: o que é o linux, onde surgiu,
as diferenças entre GNU/Linux e outros sistemas operacionais,
as diferentes distribuições, e as principais (das quais a maioria das outras
derivaram , Slackware, Red Hat e Debian), pacotes e instalação deles no
GNU/Linux: rpm, deb, tgz, tar.gz, tar.bz., etc.

Não saber estas e outras coisas básicas sobre linux vai dificultar
sua adaptaçao ao pinguim, principalmente se voce estiver esperando
que o Linux seja um Windows gratuito e com código fonte liberado , tenha
em mente que esses dois sistemas tem muitas coisas em comum, mas
também tem diferenças profundas. Quem se interessar leia isso
http://linux.oneandoneis2.org/LNW.htm
ou em português:
http://apimente-br.tripod.com/LNW.htm
O título do artigo é ¨O Linux não é o Windows¨, e explica muitas diferenças
e semelhanças. É extenso mas vale á pena

Leia artigos para iniciantes aqui no VOL, passeie pelo site do Carlos Morimoto www.guiadohardware.net, lá existe uma quantidade enorme
(e com ótima qualidade) de material sobre linux para inicinates, e nunca
se esqueça do oráculo www.google.com.br, ou para linux www.google.com.br/linux lá é bem possível que encontre o que procura.

Não é necessário ficar com raiva do GNU/Linux por não ter conseguido
de pronto fazer alguma coisa, lembrem-se que qualquer sistema operacional
tem defeitos e qualidades e se você insistir poderá depois desfrutar dos
benefícios do GNU/Linux

[15] Comentário enviado por removido em 30/12/2006 - 20:11h

Apenas como um acréscimo ao que disse, quem tiver interesse e fazer um
estudo profundo em linux ou mesmo quem quiser aprender um pouco mais, aconselho o site:

http://focalinux.cipsga.org.br/

Lá existem apostilas sobre linux de iniciante à avançado, vale muito à pena.
É só entrar na seção de downloads. Muitas pessoas tiram o LPI (certificado em linux) estudando por ele.

[16] Comentário enviado por laund em 21/03/2007 - 13:12h

Valeu, belo manual !!! se alguem tiver mais dificuldades com comandos da uma olhada neste link tambem. . . Parabens e abraços !

http://www.devin.com.br/eitch/comandos_linux/

[17] Comentário enviado por mellisilvestre em 03/02/2008 - 20:26h

blz! este seu artigo resumiu minhas dúvidas mais básicas sobre o uso do rpm. Estou migrando do ubuntu para o fedora e não ter mais que usar o comando alien está sendo bem mais simples. Ainda não tive problemas de dependências e espero não ter, mas qualquer coisa acho que é só forçar que funfa.

[18] Comentário enviado por thibaba em 10/02/2008 - 08:49h

O artigo ficou muito bom, está me ajudando muito ainda mais por ser um novato no universo Linux esta tirando muita duvidas. Parabéns e continua e assim.

[19] Comentário enviado por uriel_souza em 26/09/2008 - 09:11h

tentei esses comandos
tentei mesmo
estava tentando instalar o
codeblocks para eu poder programar em linux
num consegui
uso um fedora core 4
da o seguinte erro

[root@localhost uriel]# rpm -i codeblocks-contrib-8.02-0.fc8.i386.rpm
erro: o acesso ao codeblocks-contrib-8.02-0.fc8.i386.rpm falhou: Arquivo ou diretório não encontrado
[root@localhost uriel]#
tentei outro arquivo

[root@localhost frettabkp2]# rpm -i codeblocks-contrib-8.02-0.fc8.i386.rpm
erro: o acesso ao codeblocks-contrib-8.02-0.fc8.i386.rpm falhou: Arquivo ou diretório não encontrado
[root@localhost frettabkp2]#


ja não sei o que fazer
obs baixei o programa certo para fedora

voce pode me ajudar por favor
oque to fazendo de errado
num consegui (eu preciso muito aprender a programar em linux )

[20] Comentário enviado por vitorfelipe em 13/07/2010 - 15:37h

Bom, sou novo usuário do Linux, (Ganhei minha distribuição, UBUNTU de maneira gratuita pedi um cd instalei, =D) continuando... estou encotrando alguns problemas para instalar alguns pacotes... alguns instalam apenas em cliques que é o caso do .deb, outros tem que ir no terminal, isso sinceramente... da uma preguiça, alem do mais que tem que instalar algumas outras coisas para poder fazer a instalação pelo terminal. Conheci o Viva o Linux, e agora não fico mais na mão, com a ajuda do Ubuntu (que na verdade não me ajudou em nada) no Viva o Linux to tirando todas as minhas dúvidas, agora tirei mais uma a dos pacotes .rpm, muito bom continuem assim! Os artigos são de otima qualidade.

[21] Comentário enviado por dtheny em 11/08/2011 - 10:07h

Eu gostaria de saber é como faço para instalar varios rpm's em uma unica so vez.

[22] Comentário enviado por vodooo em 11/08/2011 - 13:17h

rpm -i *.rpm

[23] Comentário enviado por rugal_bernstein em 17/12/2011 - 19:23h

Se tivesse visto este tópico antes, não teria "apanhado" tanto na administração de pacotes rpm nas prova da LPI, embora tenha passado nas provas, deixei a desejar nesse tópico, e agora, acabei de tirar todas as minhas dúvidas remanecentes, das provas da LPI e Mandriva que fiz, vou por tudo em prática, valeu mesmo!


Contribuir com comentário