Capítulo 16. Gerenciamento de Pacotes com RPM

O Gestor de Pacotes RPM (RPM) é um sistema de empacotamento aberto, disponível para uso de todos, que roda no Red Hat Enterprise Linux assim como em outros sistemas Linux e UNIX. A Red Hat, Inc. incentiva outros fabricantes a usarem o RPM em seus produtos. O RPM pode ser distribuído sob os termos da GPL.

O RPM facilita as atualizações do sistema para o usuário final. Tarefas como instalar, desinstalar e atualizar os pacotes RPM, podem ser feitas com comandos curtos. O RPM mantém um banco de dados de pacotes instalados e seus arquivos, para que você possa efetuar buscas e verificações poderosas em seu sistema. Se você prefere uma interface gráfica, pode usar a Ferramenta de Administração de Pacotes para executar muitos comandos RPM. Consulte o Capítulo 17 para mais detalhes.

Durante as atualizações, o RPM lida cuidadosamente com os arquivos de configuração, para que você nunca perca a personalização — algo impossível de ser feito com arquivos .tar.gz normais.

Para o desenvolvedor, o RPM permite levar o código fonte do sotfware e empacotá-lo em uma fonte e pacotes binários para usuários finais. Este processo é bem simples e é iniciado a partir de um arquivo simples e consertos opcionais que você cria. Esta diferenciação clara entre recursos originais e seus consertos, junto a instruções para criação (build), facilita a manutenção do pacote conforme o lançamento de novas versões do software.

NotaNota
 

Como o RPM efetua alterações no seu sistema, você deve estar como root para instalar, remover ou atualizar um pacote RPM.

16.1. Objetivos de Desenvolvimento do RPM

Para entender o uso do RPM, pode ser útil entender seus objetivos de desenvolvimento:

Capacidade de Atualização (Upgradability)

Usando o RPM, você pode atualizar componentes individuais de seu sistema sem precisar reinstalá-los completamente. Quando você obtém uma nova versão de um sistema operacional baseado em RPMs (como o Red Hat Enterprise Linux), não precisa reinstalá-lo em sua máquina (como é o caso de sistemas operacionais baseados em outros sistemas de empacotamento). O RPM permite atualizações inteligentes, totalmente automatizadas e certeiras de seu sistema. Os arquivos de configuração dos pacotes são preservados ao longo das atualizações, para que você não perca sua personalização. Não há arquivos especiais necessários para a atualização de um pacote porque o mesmo arquivo RPM é usado para instalar e atualizar o pacote no seu sistema.

Busca (querying) Poderosa

O RPM é desenvolvido para prover opções poderosas de busca. Você pode procurar determinados pacotes ou arquivos no seu banco de dados inteiro. Você também pode descobrir a qual pacote um arquivo pertence e de onde o pacote veio. Os arquivos que o pacote RPM contém estão em um arquivo comprimido, com um cabeçalho binário personalizado contendo informações úteis sobre o pacote e seu conteúdo, permitindo que você procure pacotes individuais fácil e rapidamente.

Verificação do Sistema

Uma outra funcionalidade imporante é a verificação de pacotes. Se você não sabe se apagou algum arquivo importante de algum pacote, verifique-o. Você será notificado de quaisquer anomalias. Neste ponto, você pode reinstalar o pacote se necessário. Todos os arquivos de configuração que você modificou são preservados durante a reinstalação.

Recursos Originais

Um dos objetivos cruciais do desenvolvimento é permitir o uso de recursos "originais" de software, como distribuídos pelos autores originiais do software. Com o RPM, você tem os recursos originais junto a todos os consertos que foram usados, mais as instruções de criação (build). Esta é uma vantagem importante por diversas razões. Por exemplo: se uma nova versão do programa é lançada, você não precisa necessariamente começar do zero para compilá-la. Você pode verificar no conserto o que deve fazer. Todos os defaults que fazem parte da compilação e todas as alterações efetuadas para que o software fosse criado apropriadamente são facilmente visíveis através desta técnica.

O objetivo de manter os recursos originais talvez seja importante apenas para desenvolvedores, mas resulta em software de melhor qualidade para usuários finais também. Nós gostaríamos de agradecer aos amigos da distribuição BOGUS por dar origem ao conceito do recurso original.