RPM é um acrônimo recursivo para
Red Hat Packet Manager. O RPM é um formato e um gerenciador de pacotes. Nada mais é do que uma ótima ferramenta para a gerência de pacotes, podendo instalar, atualizar, remover, buscar e verificar status de pacotes.
O RPM utiliza um banco de dados para guardar informações sobre pacotes. Este banco fica em /var/lib/rpm. Embora muitas funções de alto nível tenham sido implementadas diretamente no RPM desde o início, como a verificação de dependências (mas não sua resolução), parece que não é tão fácil adicionar ao padrão RPM os recursos encontrados em outros sistemas de gerenciamento de pacotes modernos. Isso levou ao surgimento de novas ferramentas de gerenciamento de pacotes, como o YUM, deixando as rotinas de baixo nível por conta do RPM.
É o formato de pacotes padrão da LSB (a
Linux Standard Base). Os pacotes RPMs têm nomes que obedecem o formato <nome-do-pacote>-<versão>-<release>.<plataforma>.rpm. Um exemplo típico seria o pacote que permite conexões ADSL via PPPoE: rp-pppoe-3.5-1.i386.rpm. Aqui, rp-pppoe é o nome do pacote propriamente dito, 3.5 é a versão do software e 1 é o número do release, i386 é a plataforma que, neste caso, indica que o software em questão é compatível com os chips Intel 386 e posteriores.
A instalação de um pacote como este pode ser feita da seguinte forma:
# rpm -ivh rp-pppoe-3.5-1.i386.rpm
O comando acima gerará uma saída semelhante a esta:
Preparing ########################### [100%]
1: rp-pppoe ########################### [100%]
O texto acima indica que o pacote foi instalado, sem erros ou problemas. Os parâmetros -ivh indicam, respectivamente INSTALL (para instalar o pacote), VERBOSE (para mostrar as mensagens informativas sobre o que está sendo feito) e HASH (responsável pela exibição dos sinais de sustenido apresentados durante o progresso da instalação).
Parâmetros da linha de comando
Ao comando RPM podemos passar os seguintes parâmetros:
- -i :: Install: instala o pacote
- -F :: Freshen: instala pacote apenas se uma versão prévia do pacote já existir
- -v :: Verbose: mostra mensagens explicativas na tela
- -U :: Upgrade: atualiza um pacote
- -h :: Hash: mostra o progresso da instalação
- -q :: Query: consulta se um pacote já está instalado
- -qa :: Query-All: mostra todos os pacotes instalados
- -qf <arquivo> :: Query-File: consulta o pacote do qual o arquivo faz parte
- -qp <pacote> :: Query-Package: consulta um pacote não instalado
- -qi <pacote> :: Query-Info: apresenta informações detalhadas sobre o pacote
- -ql <pacote> :: Query-List: lista os arquivos pertencentes ao pacote
- -qd <pacote> :: Query-Doc: apresenta uma lista dos arquivos de documentação do pacote, como READMEs, páginas de manual (MAN), etc.
- -qc <pacote> :: Query-Config: apresenta uma lista dos arquivos de configuração.
- -V :: Verify: compara arquivos instalados cominformações disponíveis na base de dados RPM. Compara permissões, proprietário, tamanho e outras informações de cada arquivo.
- --force :: força a instalação de um pacote, sobrescrevendo arquivos e pacotes de mesmo nome já instalados
- --nodeps :: No Dependencies: não verifica se há dependências de arquivos antes de instalar um pacote.
- -e :: Erase: remove um pacote instalado
- --nobuild :: No Building: não instala o pacote em questão; apenas realiza uma verificação e reporta eventuais conflitos.