RPM (Red Hat Package Manager) é um utilitário de gerenciamento de pacotes de código aberto padrão 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, os quais, anteriormente conhecidos como arquivos .rpm
, contêm programas de software compilados e bibliotecas necessárias para os 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 RPM
Aqui estão alguns fatos sobre 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 de versão e mais.
Modos Básicos para o Comando RPM
Aqui estão os modos principais 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 do RPM para obter informações sobre os pacotes instalados. - Verificar – O comando
rpm -V
verifica a integridade dos arquivos do pacote instalado. - Atualizar somente se existir – O comando
rpm -F
atualiza ou instala um pacote somente se ele já estiver instalado. - Reconstruir Banco de Dados – O comando
rpm --rebuilddb
reconstrói o banco de dados do RPM, resolvendo problemas de corrupção no banco de dados. - Importar Chave GPG – O comando
rpm --import
importa uma chave GPG usada para verificação de 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 para 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 as localizações 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 privilégios de root você pode gerenciar comandos rpm com suas opções apropriadas.
1. Como Verificar a Assinatura do Pacote RPM
Verifique sempre 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 analisar os componentes do comando acima:
-i
: instalar um pacote-v
: verboso para uma exibição mais agradável-h
: imprimir marcas de hash (#) para mostrar o progresso da instalação.
3. Como Verificar Dependências do Pacote RPM Antes de Instalar
Vamos supor que você gostaria de 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 das quais este pacote depende.
4. Como Instalar o Pacote RPM Sem Dependências
Para instalar um pacote rpm sem dependências, você pode usar a opção --nodeps
, que instalará forçadamente 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çadamente 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 o 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, de modo que, caso o pacote atualizado mais recentemente não funcione, o pacote previamente instalado poderá 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 que estão funcionando.
rpm -ev --nodeps hardinfo
12. Como Encontrar o Pacote RPM de um Arquivo Específico
Vamos supor que você tenha uma lista de arquivos e gostaria de descobrir a qual pacote esses arquivos pertencem. Por exemplo, o seguinte comando com a opção -qf
(consulta de arquivo) irá 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 de Pacote RPM Instalado
Vamos supor que você tenha instalado um pacote rpm e queira saber as informações sobre o pacote. A seguinte opção -qi
(consulta de informações) 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 deseja saber as informações de um pacote antes de instalar. Por exemplo, a seguinte opção -qip
(consulta de informações do 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 de 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 de arquivo de documento) irá 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 do 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 de RPM
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 8.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
19. Como Listar Todas as Chaves GPG de 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 interrompe 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/