RPM (software)

 Nota: Para outros significados de RPM, veja RPM (desambiguação).
RPM Package Manager (RPM)
Captura de tela
RPM (software)
Autor Erik Troan, Marc Ewing,[1]
Red Hat
Desenvolvedor Community & Red Hat[2][3]
Lançamento 1997 (26–27 anos)[1]
Versão estável 4.19.1 (12 de dezembro de 2023; há 11 meses[4])
Escrito em C, Perl[5]
Sistema operacional Linux, Unix-like
Gênero(s) Sistema gestor de pacotes
Licença GPL
Página oficial rpm.org

O RPM, originalmente abreviatura de Red Hat Package Manager, e atualmente um acrónimo recursivo de RPM Package Manager (“Gerenciador de Pacotes RPM”)[6] é um sistema de gerenciamento de pacotes de software, assim como o formato de arquivo usado por esse sistema. Ele é parte da Linux Standard Base[6] . O RPM serve para instalar, atualizar, desinstalar, verificar e procurar softwares[6]. Originalmente desenvolvido pela Red Hat, RPM é agora usado por muitas distribuições Linux. E também é portado para outros sistemas operacionais como NetWare da Novell e AIX da IBM.

Base de dados RPM

Atrás do gerenciador de pacotes está o banco de dados RPM. Ele consiste de uma lista duplamente ligada que contêm todas as informações de todos os RPMs instalados. O banco de dados lista todos os arquivos que são criados ou modificados quando um usuário instala um programa e facilita a remoção desses arquivos. Se o banco de dados ficar corrompido (o que acontece facilmente se o cliente de RPM é fechado subitamente), as ligações duplas garantem que ele possa ser reconstruído sem nenhum problema. Em computadores com o sistema operacional RedHat instalado, este banco de dados se encontra em /var/lib/rpm.

Rótulo dos Pacotes

Todo pacote RPM tem um rótulo de pacote(package label), que contem as seguintes informações:

  • o nome do software
  • a versão do software (a versão tirada da fonte original do pacote)
  • e edição do pacote (o número de vezes que o pacote foi refeito utilizando a mesma versão do software)
  • a arquitetura sob a qual o pacote foi feito (i386, i686, athlon, ppc, etc.)

os arquivos RPM têm normalmente o seguinte formato:

<nome>-<versão>-<release>.<arquitetura>.rpm

Um exemplo:

nano-0.98-2.i386.rpm

Entretanto, note que o ródulo do pacote está contido com o arquivo e não precisa necessariamente ser o mesmo que o nome do arquivo. O código-fonte também pode ser distribuído em pacotes RPM. O rótulo de tais pacotes não contém a parte destinada para a arquitetura e em seu local inserem "src". Exemplo:

libgnomeuimm2.0-2.0.0-3mdk.src.rpm

Além disso, as bibliotecas são distribuídas em dois pacotes separados para cada versão. Um contendo o código pré-compilado e o outro contendo os arquivos de desenvolvimento tais como os cabeçalhos, da biblioteca em questão. Estes pacotes possuem o complemento "-devel" em seus nomes. Os usuários deve verificar se a versão do pacote de desenvolvimento é a mesma do pacote binário, caso contrário o funcionamento da biblioteca pode encontrar problemas.

Vantagens e desvantagens do formato

As vantagens de utilizar os pacotes RPM em com relação a outro métodos de adquirir e instalar software são:

  • Um método uniforme para o usuário instalar programas.
  • Maior simplicidade para desinstalar os programas.
  • Popularidade: muitos pacotes disponíveis, mesmo que eles comumente precisem de uma recompilação para funcionarem em uma outra distribuição.
  • Instalação não-interativa: facilita uma instalação automática.
  • Código-fonte original incluído (.tar.gz, .tar.bz2): fácil de verificar.
  • Verificação criptografica com o GPG e o md5.

As desvantagens citadas incluem:

  • Comumente tem mudanças no formato de pacote incompatíveis com versões anteriores.
  • Documentação incompleta e desatualizada.
  • Pouca aprendizagem sobre os pacotes.

O RPM também vem sendo criticado pela falta de consistência no nome e conteúdo dos pacotes, o que pode dificultar o manejo automático de dependências. Entretanto, este problema não ocorre apenas no formato RPM, mas é um problema na maioria das distribuições que usam os pacotes RPM tais como o Red Hat, SuSE e Mandrake (Mandriva) Linux. Quando se utilizam pacotes que são de uma distribuição particular (como a Red Hat) ou feitos para uma distribuição em particular (como Freshrpms (https://freshrpms.net/) e RPM Fusion (https://rpmfusion.org/) para Red Hat), então o sistema automático de checagem de dependências pode funcionar, usando acessórios como o apt adaptados do projeto Debian (veja abaixo). Um acessório exclusivo do Mandrakelinux é o urpmi, e pode ajudar com os problemas de dependências.

Acessórios relacionados

O RPM é comumente usado por outros acessórios para manipular dependências, como o Yellow dog Updater Modified (yum) ou o zypper (openSUSE)

Alguns gerenciadores de pacotes são:

Veja também

Outros projetos Wikimedia também contêm material sobre este tema:
Wikilivros Livros e manuais no Wikilivros

Referências

  1. a b «RPM Project Roadmap». rpm5.org. Consultado em 28 de novembro de 2015. Arquivado do original em 4 de dezembro de 2011 
  2. «RPM -- plans, goals, etc.». Max Spevack <mspevack redhat com>. Consultado em 20 de janeiro de 2011 
  3. «RPM.org FAQ». Consultado em 28 de novembro de 2015. Arquivado do original em 10 de novembro de 2014 
  4. Michal Domonkos (12 de dezembro de 2023). «RPM 4.19.1 released!». Rpm-announce (Lista de grupo de correio). Consultado em 12 de dezembro de 2023 
  5. Bailey, Edward C. (2000). «Chapter 1: An Introduction to Package Management». Maximum RPM: Taking the Red Hat Package Manager to the Limit. [S.l.]: Red Hat, Inc. pp. 22–25. ISBN 978-1888172782. Consultado em 28 de novembro de 2015. Arquivado do original em 15 de janeiro de 2013 
  6. a b c FOSTER-JOHNSON, Eric. Chapter 1. Introduction to RPM. In: RPM Guide. [[1]]. Acessado em: 08/09/2020.

Bibliografia

Ligações externas

  • «Sítio oficial» (em inglês) 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!