Comando rpm no Linux (gerenciamento de pacotes) [Guia Básico]

O comando rpm é responsável pela instalação, remoção, atualização, conversão dos pacotes. Este comando é organizado primeiro em modos de operação, que podem ser: consulta, verificação, integridade, instalação, remoção, atualização e reconstrução do banco de dados rpm. Cada modo de operação pode ou não conter várias opções disponíveis.

rpm é correlato ao dpkg do Debian, e também necessita que cada dependência seja satisfeita manualmente, bem como os pacotes sejam baixados manualmente. São comandos pouco usados no que se refere a instalação de pacotes nos repositórios das distribuições, uma vez que o yum e apt são bem versáteis, mas permitem que pacotes de terceiros sejam instalados manualmente.

Os modos de operação mais frequentes são:

Para consultar a base de dados

# rpm {-q|--query} [opções de consulta] nome_do_pacote

Exemplo:

# rpm –q bash
bash-2.05b-207

Para verificar o status dos pacotes

# rpm {-V|--verify} nome_do_pacote

Exemplo:

# rpm -V snort-2.0.1-98.i586.rpm
package snort-2.0.1-98.i586.rpm is not installed

Para verificar a assinatura e integridade dos pacotes

# rpm {-K|--checksig} nome_do_pacote

Exemplo:

# rpm -K libpcap-0.7.2-37.i586.rpm
libpcap-0.7.2-37.i586.rpm: sha1 md5 gpg OK

Para instalar um novo pacote:

# rpm {-i|--install} [opções de instalação] nome_do_pacote

Exemplo:

# rpm –i libpcap-0.7.2-37.i586.rpm

Para instalar um novo pacote mostrando detalhes da instalação:

# rpm –ivh libpcap-0.7.2-37.i586.rpm
Preparing...    ####################### [100%]
   1:libcap     ####################### [100%]

Para atualizar um pacote:

# rpm {-U|--upgrade} [opções de instalação] nome_do_pacote

Exemplo:

# rpm -U libpcap-0.7.2-37.i586.rpm

package libpcap-0.7.2-37 is already installed

Para remover um pacote:

# rpm {-e|--erase} [opções de remoção] nome_do_pacote

Exemplo:

# rpm –e libpcap-0.7.2-37.i586.rpm

Para refazer o banco de dados RPM:

# rpm {--initdb|--rebuilddb}

Exemplo:

# rpm --initdb

Para consultar as dependências de um pacote:

# rpm {—qpR }

Exemplo:

# 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

Para instalar um pacote ignorando as dependências (algo bem estúpido de se fazer):

# rpm {—ivh --nodeps }

Exemplo:

# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm
Preparing...    ####################### [100%] 1:BitTorrent    ####################### [100%]

Para listar os pacotes instalados recentemente:

# rpm {—qa --last }

Exemplo:

# rpm -qa --last
kernel-headers-3.14.34-27.48.amzn1.x86_64     Sex 06 Mar 2015 11:55:01 BRT
graphviz-gd-2.38.0-18.44.amzn1.x86_64         Sex 06 Mar 2015 11:55:00 BRT
file-devel-5.19-7.26.amzn1.x86_64             Sex 06 Mar 2015 11:55:00 BRT

Para saber a qual pacote um arquivo pertence:

# rpm {—qf arquivo }

Exemplo:

# rpm -qf /usr/bin/htpasswd
httpd24-tools-2.4.10-15.58.amzn1.x86_64

Para saber informações de um determinado pacote instalado:

# rpm {—qi nome_do_pacote }

Exemplo:

# rpm -qi httpd24
Name        : httpd24 Version     : 2.4.10 Release     : 15.58.amzn1 Architecture: x86_64 Install Date: Sex 13 Fev 2015 21:56:14 BRST Group       : System Environment/Daemons Size        : 3792099 License     : ASL 2.0 Signature   : RSA/SHA256, Qui 12 Fev 2015 17:35:50 BRST, Key ID bcb4a85b21c0f39f Source RPM  : httpd24-2.4.10-15.58.amzn1.src.rpm Build Date  : Qui 12 Fev 2015 14:43:53 BRST Build Host  : build-64003.build Relocations : (not relocatable) Packager    : Amazon.com, Inc. <http://aws.amazon.com> Vendor      : Amazon.com URL         : http://httpd.apache.org/ Summary     : Apache HTTP Server Description : The Apache HTTP Server is a powerful, efficient, and extensible web server.

Para verificar a integridade dos arquivos instalados com o banco de dados de pacotes:

# rpm {—Va }

Exemplo:

# rpm -Va
S.5....T.  c /etc/sysconfig/svnserve
....L....  c /etc/localtime
..?......    /usr/sbin/glibc_post_upgrade.x86_64
S.5....T.  c /etc/httpd/conf/httpd.conf
..?......    /usr/sbin/suexec

As opções de consulta de informações de pacotes mais frequentes são:

  • a    Lista todos os pacotes instalados no sistema;
  • -f     arquivo: Lista o nome do pacote que contém o arquivo procurado;
  • -p    nomedopacote: Mostra se um determinado pacote está instalado;
  • -i     nomedopacote: Mostra informações extras sobre um determinado pacote;
  • -l     nomedopacote: Mostra a lista dos arquivos que um pacote contém;
  • -R    nomedopacote: Mostra a lista de dependências que um pacote necessita para ser instalado.

As opções de instalação e atualização de pacotes mais frequentes são:

  • –force: Esta opção força a instalação de um pacote e seus arquivos mesmo se ele já estiver instalado. Esta opção inclusive força a instalação de um pacote mais antigo por cima de um mais novo;
  • -h: Esta opção mostra o progresso da instalação;
  • —nodeps: Esta opção desabilita a checagem de dependências para a instalação de um pacote;
  • -v: Mostra informações extras durante a instalação e atualização dos pacotes;
  • -vv: Mostra muito mais informações durante a instalação e atualização dos pacotes. Geralmente utilizada por desenvolvedores.

As opções de desinstalação dos pacotes são:

  • –nodeps: Desabilita a checagem de dependências, desinstalando o pacote mesmo que ele seja necessário por outros;
  • –test: Testa a remoção do pacote, sem de fato removê-lo. É útil para testar se a remoção do pacote vai causar algum dano ao sistema ou aplicativo.

Prefira ao atualizar um pacote por uma versão mais nova utilizar o modo –U. Assim o pacote mais antigo será removido, o pacote novo será instalado e as configurações serão mantidas.

Como você pode ver, o uso do rpm é complicado a primeira vista, e pouco prático, já que o administrador precisa baixar os pacotes e instalar as dependências de forma manual. Para tornar tudo mais fácil, as distribuições baseadas em RPM adotaram o YUM.

Aprenda a configurar o firewall Pfsense na prática com o Treinamento de Firewall Pfsense da Certificação Linux! 

Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe