Pesquisa de site

20 exemplos práticos de comandos RPM no Linux


RPM (Red Hat Package Manager) é um utilitário de gerenciamento de pacotes de código aberto padrão e mais popular para sistemas baseados em Red Hat como (RHEL , CentOS e Fedora). A ferramenta permite que administradores e usuários do sistema instalem, atualizem, desinstalem, consultem, verifiquem e gerenciar pacotes de software de sistema em sistemas operacionais Unix/Linux. O RPM anteriormente conhecido como arquivo .rpm, que inclui programas de software compilados e bibliotecas necessárias aos pacotes. Este utilitário só funciona com pacotes criados no formato .rpm.

Este artigo fornece alguns exemplos de comandos de 20 RPM que podem ser úteis para você. Com a ajuda deste comando rpm você pode instalar, atualizar e remover pacotes em seus sistemas Linux.

Alguns fatos sobre RPM (RedHat Package Manager)

  1. O RPM é gratuito e lançado sob GPL (Licença Pública Geral).
  2. O RPM mantém as informações de todos os pacotes instalados no banco de dados /var/lib/rpm.
  3. RPM é a única maneira de instalar pacotes em sistemas Linux; se você instalou pacotes usando código-fonte, o rpm não irá gerenciá-los.
  4. O RPM lida com arquivos .rpm, que contém as informações reais sobre os pacotes, tais como: o que é, de onde vem, >informações de dependências, informações de versão etc.

Existem cinco modos básicos para comando RPM

  1. Instalar : É usado para instalar qualquer pacote RPM.
  2. Remover : É usado para apagar, remover ou desinstalar qualquer pacote RPM.
  3. Upgrade : É usado para atualizar o pacote RPM existente.
  4. Verificar : É usado para verificar pacotes RPM.
  5. Query : É usado para consultar qualquer pacote RPM.

Onde encontrar pacotes RPM

Abaixo está a lista de sites rpm, onde você pode encontrar e baixar todos os pacotes RPM.

  1. http://rpmfind.net
  2. http://www.redhat.com
  3. http://freshrpms.net/
  4. http://rpm.pbone.net/

Leia também:

  1. 20 exemplos de comandos YUM no Linux
  2. 10 exemplos de comandos Wget no Linux
  3. 30 comandos Linux mais úteis para administradores de sistema

Por favor lembre-se que você deve ser usuário root ao instalar pacotes no Linux, com privilégios de root você pode gerenciar comandos rpm com suas opções apropriadas.

1. Como verificar um pacote de assinatura RPM

Sempre verifique a assinatura PGP dos pacotes antes de instalá-los em seus sistemas Linux e certifique-se de que sua integridade e origem estejam OK. Use o seguinte comando com a opção –checksig (verificar assinatura) para verificar a assinatura de um pacote chamado pidgin.

[root@tecmint]# rpm --checksig pidgin-2.7.9-5.el6.2.i686.rpm

pidgin-2.7.9-5.el6.2.i686.rpm: rsa sha1 (md5) pgp md5 OK

2. Como instalar um pacote RPM

Para instalar um pacote de software rpm, use o seguinte comando com a opção -i. Por exemplo, para instalar um pacote rpm chamado pidgin-2.7.9-5.el6.2.i686.rpm.

[root@tecmint]# rpm -ivh pidgin-2.7.9-5.el6.2.i686.rpm

Preparing...                ########################################### [100%]
   1:pidgin                 ########################################### [100%]
Comando e opções RPM
  1. -i : instala um pacote
  2. -v : detalhado para uma exibição mais agradável
  3. -h: imprime marcas de hash conforme o arquivo do pacote é descompactado.

3. Como verificar as dependências do pacote RPM antes de instalar

Digamos que você queira fazer uma verificação de dependência antes de instalar ou atualizar um pacote. Por exemplo, use o seguinte comando para verificar as dependências do pacote BitTorrent-5.2.2-1-Python2.4.noarch.rpm. Ele exibirá a lista de dependências do pacote.

[root@tecmint]# rpm -qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm

/usr/bin/python2.4
python >= 2.3
python(abi) = 2.4
python-crypto >= 2.0
python-psyco
python-twisted >= 2.0
python-zopeinterface
rpmlib(CompressedFileNames) = 2.6
Comando e opções RPM
  1. -q : Consulta um pacote
  2. -p : lista os recursos que este pacote oferece.
  3. -R: Lista os recursos dos quais este pacote depende.

4. Como instalar um pacote RPM sem dependências

Se você sabe que todos os pacotes necessários já estão instalados e o RPM está sendo estúpido, você pode ignorar essas dependências usando a opção –nodeps (nenhuma verificação de dependências) antes de instalar o pacote.

[root@tecmint]# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm

Preparing...                ########################################### [100%]
   1:BitTorrent             ########################################### [100%]

O comando acima instala o pacote rpm à força, ignorando os erros de dependências, mas se esses arquivos de dependência estiverem faltando, o programa não funcionará até que você os instale.

5. Como verificar um pacote RPM instalado

Usar a opção -q com o nome do pacote mostrará se um rpm está instalado ou não.

[root@tecmint]# rpm -q BitTorrent

BitTorrent-5.2.2-1.noarch

6. Como listar todos os arquivos de um pacote RPM instalado

Para visualizar todos os arquivos de pacotes rpm instalados, use o -ql (lista de consulta) com o comando rpm.

[root@tecmint]# rpm -ql BitTorrent

/usr/bin/bittorrent
/usr/bin/bittorrent-console
/usr/bin/bittorrent-curses
/usr/bin/bittorrent-tracker
/usr/bin/changetracker-console
/usr/bin/launchmany-console
/usr/bin/launchmany-curses
/usr/bin/maketorrent
/usr/bin/maketorrent-console
/usr/bin/torrentinfo-console

7. Como listar pacotes RPM instalados recentemente

Use o seguinte comando rpm com a opção -qa (query all), listará todos os pacotes rpm instalados recentemente.

[root@tecmint]# rpm -qa --last

BitTorrent-5.2.2-1.noarch                     Tue 04 Dec 2012 05:14:06 PM BDT
pidgin-2.7.9-5.el6.2.i686                     Tue 04 Dec 2012 05:13:51 PM BDT
cyrus-sasl-devel-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:06 PM BDT
cyrus-sasl-2.1.23-13.el6_3.1.i686             Tue 04 Dec 2012 04:43:05 PM BDT
cyrus-sasl-md5-2.1.23-13.el6_3.1.i686         Tue 04 Dec 2012 04:43:04 PM BDT
cyrus-sasl-plain-2.1.23-13.el6_3.1.i686       Tue 04 Dec 2012 04:43:03 PM BDT

8. Como listar todos os pacotes RPM instalados

Digite o seguinte comando para imprimir todos os nomes dos pacotes instalados em seu sistema Linux.

[root@tecmint]# rpm -qa

initscripts-9.03.31-2.el6.centos.i686
polkit-desktop-policy-0.96-2.el6_0.1.noarch
thunderbird-17.0-1.el6.remi.i686

9. Como atualizar um pacote RPM

Se quisermos atualizar qualquer pacote RPM, a opção “–U” (upgrade) será usada. Uma das principais vantagens de usar esta opção é que ela não apenas atualizará a versão mais recente de qualquer pacote, mas também manterá o backup do pacote mais antigo para que, caso o pacote atualizado mais recente não execute o pacote instalado anteriormente pode ser usado novamente.

[root@tecmint]# rpm -Uvh nx-3.5.0-2.el6.centos.i686.rpm
Preparing...                ########################################### [100%]
   1:nx                     ########################################### [100%]

10. Como remover um pacote RPM

Para desinstalar um pacote RPM, por exemplo, usamos o nome do pacote nx, não o nome do pacote original nx-3.5.0-2.el6.centos.i686.rpm >. A opção -e (erase) é usada para remover pacotes.

[root@tecmint]# rpm -evv nx

11. Como remover um pacote RPM sem dependências

A opção –nodeps (Não verificar dependências) remove à força o pacote rpm do sistema. Mas lembre-se de que a remoção de um pacote específico pode danificar outros aplicativos em funcionamento.

[root@tecmint]# rpm -ev --nodeps vsftpd

12. Como consultar um arquivo que pertence a qual pacote RPM

Digamos que você tenha uma lista de arquivos e gostaria de descobrir qual pacote pertence a esses arquivos. Por exemplo, o seguinte comando com a opção -qf (query file) mostrará que um arquivo /usr/bin/htpasswd é próprio do pacote httpd-tools-2.2.15-15.el6.centos.1.i686.

[root@tecmint]# rpm -qf /usr/bin/htpasswd

httpd-tools-2.2.15-15.el6.centos.1.i686

13. Como consultar informações do pacote RPM instalado

Digamos que você instalou um pacote rpm e deseja saber as informações sobre o pacote. A seguinte opção -qi (query info) imprimirá as informações disponíveis do pacote instalado.

[root@tecmint]# rpm -qi vsftpd

Name        : vsftpd				   Relocations: (not relocatable)
Version     : 2.2.2				   Vendor: CentOS
Release     : 11.el6				   Build Date: Fri 22 Jun 2012 01:54:24 PM BDT
Install Date: Mon 17 Sep 2012 07:55:28 PM BDT      Build Host: c6b8.bsys.dev.centos.org
Group       : System Environment/Daemons           Source RPM: vsftpd-2.2.2-11.el6.src.rpm
Size        : 351932                               License: GPLv2 with exceptions
Signature   : RSA/SHA1, Mon 25 Jun 2012 04:07:34 AM BDT, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://vsftpd.beasts.org/
Summary     : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.

14. Obtenha as informações do pacote RPM antes de instalar

Você baixou um pacote da internet e deseja saber as informações de um pacote antes de instalá-lo. Por exemplo, a seguinte opção -qip (query info package) imprimirá as informações de um pacote sqlbuddy.

[root@tecmint]# rpm -qip sqlbuddy-1.3.3-1.noarch.rpm

Name        : sqlbuddy                     Relocations: (not relocatable)
Version     : 1.3.3                        Vendor: (none)
Release     : 1                            Build Date: Wed 02 Nov 2011 11:01:21 PM BDT
Install Date: (not installed)              Build Host: rpm.bar.baz
Group       : Applications/Internet        Source RPM: sqlbuddy-1.3.3-1.src.rpm
Size        : 1155804                      License: MIT
Signature   : (none)
Packager    : Erik M Jacobs
URL         : http://www.sqlbuddy.com/
Summary     : SQL Buddy â Web based MySQL administration
Description :
SQLBuddy is a PHP script that allows for web-based MySQL administration.

15. Como consultar a documentação do pacote RPM instalado

Para obter a lista de documentação disponível de um pacote instalado, use o seguinte comando com a opção -qdf (consultar arquivo de documento) para exibir as páginas de manual relacionadas ao pacote vmstat.

[root@tecmint]# rpm -qdf /usr/bin/vmstat

/usr/share/doc/procps-3.2.8/BUGS
/usr/share/doc/procps-3.2.8/COPYING
/usr/share/doc/procps-3.2.8/COPYING.LIB
/usr/share/doc/procps-3.2.8/FAQ
/usr/share/doc/procps-3.2.8/NEWS
/usr/share/doc/procps-3.2.8/TODO

16. Como verificar um pacote RPM

A verificação de um pacote compara as informações dos arquivos instalados do pacote com o banco de dados rpm. O -Vp (verificar pacote) é usado para verificar um pacote.

[root@tecmint downloads]# rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm

S.5....T.  c /etc/httpd/conf.d/sqlbuddy.conf

17. Como verificar todos os pacotes RPM

Digite o seguinte comando para verificar todos os pacotes rpm instalados.

[root@tecmint]# rpm -Va

S.5....T.  c /etc/rc.d/rc.local
.......T.  c /etc/dnsmasq.conf
.......T.    /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf
S.5....T.  c /etc/yum.conf
S.5....T.  c /etc/yum.repos.d/epel.repo

18. Como importar uma chave RPM GPG

Para verificar pacotes RHEL/CentOS/Fedora, você deve importar a chave GPG. Para fazer isso, execute o seguinte comando. Ele importará a chave GPG do CentOS 6.

[root@tecmint]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

19. Como listar todas as chaves RPM GPG importadas

Para imprimir todas as chaves GPG importadas em seu sistema, use o seguinte comando.

[root@tecmint]# rpm -qa gpg-pubkey*

gpg-pubkey-0608b895-4bd22942
gpg-pubkey-7fac5991-4615767f
gpg-pubkey-0f2672c8-4cd950ee
gpg-pubkey-c105b9de-4e0fd3a3
gpg-pubkey-00f97f56-467e318a
gpg-pubkey-6b8d79e6-3f49313d
gpg-pubkey-849c449f-4cb9df30

20. Como reconstruir banco de dados RPM corrompido

Às vezes, o banco de dados rpm é corrompido e interrompe todas as funcionalidades do rpm e de outros aplicativos no sistema. Então, no momento precisamos reconstruir o banco de dados rpm e restaurá-lo com a ajuda do seguinte comando.

[root@tecmint]# cd /var/lib
[root@tecmint]# rm __db*
[root@tecmint]# rpm --rebuilddb
[root@tecmint]# rpmdb_verify Packages