fbpx Certificação Linux: Comando rpm no Linux (gerenciamento de pacotes) [Guia Básico]

Blog

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

📅 01/01/2019 ⏱ 6 min ✍️ Uira Ribeiro
Linuxcomandos
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

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Especialista Linux com mais de 20 anos de experiência.
Autor de 5 livros e mentor de mais de 14.000 alunos certificados.
20 certificações de alto nível, incluindo LPIC-3, CKA, RHCE e AWS Solutions Architect.

WhatsApp