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.
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[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 |
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:
- yast, usado no openSUSE
- DNF, usado no Fedora
- urpmi, usado no Mandriva Linux
Veja também
Referências
- «RPM -- plans, goals, etc.». Max Spevack <mspevack redhat com>. Consultado em 20 de janeiro de 2011
- «RPM.org FAQ». Consultado em 28 de novembro de 2015. Arquivado do original em 10 de novembro de 2014
- 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
- 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
Bibliografia
Ligações externas
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.