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.
O 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
Tag:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix