RPM
Origem: Wikipédia, a enciclopédia livre.
- Nota: Para outros significados de RPM, ver RPM (desambiguação).
RPM, a simplificação de Red Hat Package Manager é um sistema de gerenciamento de pacotes para Linux. RPM instala, atualiza, desinstala e verifica softwares. RPM é o formato base da Linux Standard Base. Originalmente desenvolvido pela Red Hat Linux, RPM é agora usado por muitas distribuições Linux. E também é portado para outros sistemas operacionais como NetWare da Novell e AIX da IBM.
Índice |
[editar] Base de dados RPM
Atrás do gerenciador de pacotes está o banco de dados rpm. Ele consiste de uma lista duplamante ligada que contêm todas as informações de todos os rpm instalados. O banco da dados lista todos os arquivos que são criados ou modificados quando um usuário instala um programa e facilita a remoção destes mesmos arquivos. Se o banco de dados fica corrompido (o que acontece facilmente se o cliente de rpm é fechado subitamente), as ligações duplas garantem que eles possa ser reconstruído sem nenhum problema. No computadores com o sistema operacional RedHat instalado, este banco da dados se encontra em /var/lib/rpm.
[editar] 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 distribuido em pacotes RPM. O rótulo de tais pacotes não contem 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 distribuidas 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 funcionamente da biblioteca pode encontrar problemas.
[editar] 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 incluido (.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 incomplete 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 [1] (http://freshrpms.net/) para Red Hat), então o sistema automático de chacagem de dependências pode funcionar, usando acessórios como o apt acaptados do projeto Debian (veja abaixo). Um acessório exclusivo do Mandrakelinux é o urpmi, e pode ajutar com os problemas de dependências.
[editar] Acessórios relacionados
O RPM é comumente usado por outros acessórios para manipular dependências, como o Yellow dog Updater Modified yum ou o (versão compatível com RPM) Advanced Packaging Tool (apt).
Alguns gerenciadores de pacotes são
- dpkg usado com o Advanced Packaging Tool (apt) no Debian Linux
- portage usado no Gentoo Linux
- urpmi usado no mandrakelinux
Veja também: Formatos de Arquivos
[editar] Referências externas
- Eric Foster-Johnson, 2003, Red Hat RPM Guide. ISBN 0764549650. A complete, up to date (as of 2003) guide for building RPM packages.
- Fox, Pennington, Red Hat 2003: Fedora Project Developer's Guide: Chapter 4. Building RPM Packages (http://fedora.redhat.com/participate/developers-guide/ch-rpm-building.html)
- RPM man page (http://www.rpm.org/max-rpm/rpm.8.html)
- RPM Package Manager homepage (http://www.rpm.org/)
- RPM Building as a User (http://www.hut.fi/~tkarvine/rpm-build-as-user.html)
- Bailey, Ed 2000: Maximum RPM (http://www.rpm.org/max-rpm/), an outdated but popular rpm reference
- Package File Format - Linux Standards Base