20 Exemplos Práticos de Comandos RPM no Linux

O RPM (Red Hat Package Manager) é um utilitário padrão de gerenciamento de pacotes de código aberto e amplamente utilizado para sistemas baseados em Red Hat, como CentOS, Fedora, Rocky e Alma Linux.

A ferramenta de gerenciamento de pacotes rpm permite que administradores de sistemas e usuários instalem, atualizem, desinstalem, consultem, verifiquem e gerenciem pacotes de software em sistemas operacionais Unix/Linux, que anteriormente eram conhecidos como arquivos .rpm, contendo programas de software compilados e bibliotecas necessárias pelos pacotes.

Este artigo fornece 20 exemplos úteis de comandos RPM que podem ser úteis para você. Com a ajuda destes comandos RPM, você pode gerenciar a instalação, atualização e remoção de pacotes em seus sistemas Linux.

Fatos sobre o RPM

Aqui estão alguns fatos sobre o RPM (Red Hat Package Manager):

  • O RPM está disponível gratuitamente e é lançado sob a Licença Pública Geral (GPL).
  • O RPM mantém um banco de dados de todos os pacotes instalados, armazenando estas informações no diretório /var/lib/rpm.
  • O RPM serve como o método primário para instalar pacotes em sistemas Linux. Se os pacotes foram instalados usando código-fonte, o RPM não os gerencia.
  • O RPM opera com arquivos .rpm, contendo informações vitais do pacote como sua identidade, origem, dependências, detalhes da versão e mais.

Modos básicos para o comando RPM

Aqui estão os principais modos para o comando RPM:

  • Instalar – O comando rpm -i instala um novo pacote no sistema.
  • Atualizar – O comando rpm -U atualiza um pacote existente para uma versão mais recente.
  • Remover – O comando rpm -e desinstala ou remove um pacote do sistema.
  • Consultar – O comando rpm -q consulta o banco de dados RPM para obter informações sobre os pacotes instalados.
  • Verificar – O comando rpm -V verifica a integridade dos arquivos do pacote instalado.
  • Atualizar (sobrepor) – O comando rpm -F atualiza ou instala um pacote apenas se ele já estiver instalado.
  • Reconstruir Banco de Dados – O comando rpm --rebuilddb reconstrói o banco de dados RPM, resolvendo problemas de corrupção do banco de dados.
  • Importar Chave GPG – O comando rpm --import importa uma chave GPG usada para verificação da assinatura do pacote.
  • Consultar Todos – O comando rpm -qa lista todos os pacotes instalados no sistema.
  • Consultar Arquivos – O comando rpm -ql lista todos os arquivos instalados por um pacote específico.
  • Consultar Documentação – O comando rpm -qd lista os arquivos de documentação fornecidos por um pacote.
  • Consultar Dependências – O comando rpm -qR lista as dependências em tempo de execução de um pacote.
  • Consulta Fornece – O comando rpm -q --provides lista as capacidades fornecidas por um pacote.
  • Consulta Requer – O comando rpm -q --requires lista as dependências exigidas por um pacote.

Onde Encontrar Pacotes RPM

Você pode encontrar pacotes RPM em vários lugares, dependendo de sua distribuição Linux. Aqui estão locais comuns onde você pode encontrar e baixar todos os pacotes RPM.

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

1. Como Verificar a Assinatura do Pacote 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 estão OK.

Use o seguinte comando com a opção --checksig (verificar assinatura) para verificar a assinatura de um pacote chamado hardinfo.

rpm --checksig hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm: digests OK

2. Como Instalar um Pacote RPM

Para instalar um pacote de software RPM, use o seguinte comando com a opção -ivh, que instalará o pacote rpm chamado hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm em um sistema Linux.

rpm -ivh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:hardinfo-2.0.11-1                ################################# [100%]

Vamos desmembrar os componentes do comando acima:

  • -i : instalar um pacote
  • -v : verboso para uma exibição mais agradável
  • -h: imprima marcas de hash (#) para mostrar o progresso da instalação.

3. Como Verificar Dependências de Pacote RPM Antes da Instalação

Vamos supor que você deseje 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 hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm.

O comando consulta e exibe as dependências de tempo de execução necessárias pelo pacote “hardinfo“, o que ajuda a identificar e garantir que todas as dependências necessárias sejam atendidas antes de instalar o pacote.

rpm -qpR hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
 
libX11.so.6()(64bit)
libatk-1.0.so.0()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.33)(64bit)
libc.so.6(GLIBC_2.34)(64bit)
libc.so.6(GLIBC_2.38)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libcairo-gobject.so.2()(64bit)
libcairo.so.2()(64bit)
...

Vamos analisar os componentes do comando acima:

  • -q: Consultar um pacote.
  • -p: Listar as capacidades que este pacote fornece.
  • -R: Listar as capacidades em que este pacote depende.

4. Como Instalar Pacote RPM Sem Dependências

Para instalar um pacote rpm sem dependências, você pode usar a opção --nodeps, que instalará forçosamente um pacote RPM sem verificar ou resolver dependências.

rpm -ivh --nodeps hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

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

5. Como Verificar Pacote RPM Instalado

Para verificar um pacote rpm instalado, você pode usar a opção -q, que consultará e exibirá informações sobre a versão instalada do pacote.

rpm -q hardinfo

hardinfo-2.0.11-1.x86_64

6. Como Encontrar Onde os Arquivos RPM Estão Instalados

Para visualizar todos os arquivos de um pacote rpm instalado, use o -ql (lista de consulta) com o comando rpm.

rpm -ql hardinfo

/usr/bin/hardinfo2
/usr/lib/.build-id
/usr/lib/.build-id/3a
/usr/lib/.build-id/53
/usr/lib/.build-id/7c
/usr/lib/.build-id/ba
/usr/lib/.build-id/e0
/usr/lib64/hardinfo2
/usr/lib64/hardinfo2/modules
/usr/lib64/hardinfo2/modules/benchmark.so
/usr/lib64/hardinfo2/modules/computer.so
/usr/lib64/hardinfo2/modules/devices.so
/usr/lib64/hardinfo2/modules/network.so
...

7. Como Listar os Pacotes RPM Recentemente Instalados

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

rpm -qa --last


hardinfo-2.0.11-1.x86_64                      Mon 04 Mar 2024 01:32:14 PM IST
pipewire-pulseaudio-1.0.3-1.fc39.x86_64       Mon 04 Mar 2024 01:32:02 PM IST
pipewire-jack-audio-connection-kit-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST
pipewire-alsa-1.0.3-1.fc39.x86_64             Mon 04 Mar 2024 01:32:02 PM IST
libsoup-devel-2.74.3-3.fc39.x86_64            Mon 04 Mar 2024 01:32:02 PM IST
json-glib-devel-1.8.0-1.fc39.x86_64           Mon 04 Mar 2024 01:32:02 PM IST
gtk3-devel-3.24.41-1.fc39.x86_64              Mon 04 Mar 2024 01:32:02 PM IST
xdg-desktop-portal-gtk-1.15.1-1.fc39.x86_64   Mon 04 Mar 2024 01:32:01 PM IST
xdg-desktop-portal-1.18.2-1.fc39.x86_64       Mon 04 Mar 2024 01:32:01 PM IST
libcanberra-gtk3-0.30-32.fc39.x86_64          Mon 04 Mar 2024 01:32:01 PM IST
gtk3-3.24.41-1.fc39.x86_64                    Mon 04 Mar 2024 01:32:01 PM IST
...

8. Como Listar Todos os Pacotes RPM Instalados

Digite o seguinte comando para imprimir todos os nomes de pacotes instalados no seu sistema Linux.

rpm -qa

fonts-filesystem-2.0.5-12.fc39.noarch
libreport-filesystem-2.17.11-3.fc39.noarch
hunspell-filesystem-1.7.2-5.fc39.x86_64
abattis-cantarell-vf-fonts-0.301-10.fc39.noarch
fedora-gpg-keys-39-1.noarch
fedora-repos-39-1.noarch
setup-2.14.4-1.fc39.noarch
filesystem-3.18-6.fc39.x86_64
basesystem-11-18.fc39.noarch
default-fonts-core-sans-4.0-9.fc39.noarch
langpacks-fonts-en-4.0-9.fc39.noarch
...

9. Como Atualizar um Pacote RPM

Se desejamos atualizar qualquer pacote RPM, a opção “–U” (atualizar) será usada. Uma das principais vantagens de usar essa opção é que 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 recentemente não funcione, o pacote previamente instalado possa ser usado novamente.

rpm -Uvh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm

10. Como Remover um Pacote RPM

Para desinstalar um pacote RPM, por exemplo, usamos o nome do pacote hardinfo, e não o nome original do pacote hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm. A opção -e (apagar) é usada para remover o pacote.

rpm -evv hardinfo

11. Como Remover um Pacote RPM Sem Dependências

A opção --nodeps (não verificar dependências) remove forçosamente o pacote rpm do sistema. Mas tenha em mente que a remoção de um pacote específico pode quebrar outros aplicativos em funcionamento.

rpm -ev --nodeps hardinfo

12. Como Encontrar o Pacote RPM de um Arquivo Específico

Vamos dizer que você tenha uma lista de arquivos e queira descobrir a qual pacote pertencem esses arquivos. Por exemplo, o seguinte comando com a opção -qf (consulta arquivo) mostrará um arquivo /usr/bin/htpasswd que é de propriedade do pacote httpd-tools-2.4.58-1.fc39.x86_64.

rpm -qf /usr/bin/htpasswd

httpd-tools-2.4.58-1.fc39.x86_64

13. Como Consultar Informações do Pacote RPM Instalado

Vamos dizer que você tenha instalado um pacote rpm e queira saber informações sobre o pacote. A seguinte opção -qi (consulta informação) imprimirá as informações disponíveis do pacote instalado.

rpm -qi hardinfo

Name        : hardinfo
Version     : 2.0.11
Release     : 1
Architecture: x86_64
Install Date: Mon 04 Mar 2024 01:32:14 PM IST
Group       : unknown
Size        : 5174404
License     : GPL2+
Signature   : (none)
Source RPM  : hardinfo-2.0.11-1.src.rpm
Build Date  : Sat 02 Mar 2024 06:37:42 AM IST
Build Host  : fedora.bigbear.dk
Relocations : /usr 
Vendor      : Humanity
URL         : https://www.hardinfo2.org
Summary     : hardinfo2 built using CMake
Description :
Hardinfo2 is a small application that displays information about your hardware and operating system.  It has online benchmarking to check your machine performance against other machines.

14. Obter as Informações do Pacote RPM Antes de Instalar

Você baixou um pacote da internet e quer saber as informações de um pacote antes de instalar. Por exemplo, a seguinte opção -qip (consulta informação pacote) imprimirá as informações de um pacote sqlbuddy.

rpm -qip sqlbuddy

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 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 (consulta documento arquivo) que exibirá as páginas do manual relacionadas ao pacote vmstat.

rpm -qdf /usr/bin/vmstat

/usr/share/doc/procps-ng/AUTHORS
/usr/share/doc/procps-ng/FAQ
/usr/share/doc/procps-ng/NEWS
/usr/share/doc/procps-ng/README.md
/usr/share/doc/procps-ng/bugs.md
/usr/share/man/man1/free.1.gz
/usr/share/man/man1/pgrep.1.gz
...

16. Como Verificar um Pacote RPM

Verificar 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.

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.

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 GPG RPM

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

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8

19. Como Listar Todas as Chaves GPG RPM Importadas

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

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 um Banco de Dados RPM Corrompido

Às vezes o banco de dados rpm fica corrompido e para toda a funcionalidade do rpm e de outras aplicações no sistema. Portanto, neste momento precisamos reconstruir o banco de dados rpm e restaurá-lo com a ajuda do seguinte comando.

cd /var/lib
rm __db*
rpm --rebuilddb
rpmdb_verify Packages

Em conclusão, os comandos rpm apresentados fornecem um guia abrangente para gerenciar eficientemente pacotes de software em distribuições Linux baseadas em RHEL.

Source:
https://www.tecmint.com/20-practical-examples-of-rpm-commands-in-linux/