O RPM (RPM Package Manager) é
um Gerenciador de Pacotes para Linux capaz de instalar, remover e
atualizar os arquivos de pacotes nele instalados. No Linux, os softwares são instalados
através de 'pacotes'. Os pacotes são arquivos em cujo interior há softwares
inteiros, prontos para serem instalados e executados. 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 é compátivel 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%]
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 quê está sendo feito) e HASH (responsável pela exibição dos sinais de sustinido - ou escopo, ou cerquilha, se preferir - apresentados durante o progresso da instalação).
Parâmetros da Linha de ComandoAo comando RPM podemos passar os seguintes parâmetros:
Exemplos e Observações1 - Para verificar se um pacote chamado RP-PPPOE está instalado: rpm -q rp-pppoe A resposta a este comando será o nome do pacote instalado (se ele estiver instalado); algo como: rp-ppoe-3.5-1. 2- Para verificar todos os pacotes instalados no sistema: rpm -qa 3- Para exibir informações do pacote, tais como release, tamanho, etc: rpm -qi rp-pppoe O resultado mostrado será semelhante a:
4- Para conhecer os arquivos de configuração de um pacote: rpm -qc rp-pppoe O resultado deste comando será algo semelhante a:
No exemplo acima, pppoe.conf, pppoe-server-options e os demais arquivos mostrados são arquivos de configuração do pacote rp-pppoe.
5- Para atualizar um pacote: rpm -Uvh <pacote> Se o <pacote> que você estiver atualizando estiver
numa versão mais antiga que a já instalada, uma mensagem de alerta irá surgir e a
atualização não continuará. Para forçar a atualização mesmo assim, use este mesmo
comando com o parâmetro --force: rpm -Uvh --force <pacote>.
6- Para instalar um determinado pacote: rpm -ivh <pacote>
7- Para desinstalar um determinado pacote: rpm -e <pacote1> Eventualmente, como certos pacotes dependem uns dos outros,
ao tentar desinstalar um pacote PACOTE1 poderá surgir uma mensagem de erro do tipo:
Isso indica que o PACOTE2 precisa do PACOTE1 para funcionar corretamente. Se mesmo assim você quiser desinstalá-lo, use o parâmetro --nodeps. Assim: rpm -e --nodeps <pacote1> O comando acima impediria o erro de dependências. Mas é possível que, por depender do PACOTE1, o PACOTE2 não funcione mais corretamente após isto.
Erros Durante a Instalação de PacotesO processo de instalação foi desenvolvido para ser o mais simples possível. Porém, como pode-se perceber pelos exemplos acima, eventualmente alguns erros podem ocorrer, como o alerta de que o pacote que está sendo instalado é mais antigo do que o que já encontra-se no sistema, conflitos de arquivos, etc. Veja agora maiores informações sobre tais erros:
Preparing
############################# [100%]
/usr/bin/<arquivo> conflicts with file from <pacote2>
Atualização de Pacotes: Salvando Configurações ExistentesPara atualizar um pacote, utilize o comando a seguir: rpm -Uvh <nome-do-pacote> Uma mensagem informativa, semelhante a esta, surgirá: Preparing...
######################### [100%]
Ao atualizarmos um pacote já instalado, qualquer versão anterior do pacote será desinstalada e será feita uma nova instalação, guardando as configurações anteriores do programa para um possível uso caso o formato dos arquivos de configuração não tenha sido alterado. Uma vez que o RPM executa um processo de atualização inteligente, é apresentada uma mensagem do tipo: saving /etc/<pacote>.conf as /etc/<pacote>.conf.rpmsave Isso significa que os arquivos de configuração existentes estão salvos. Esta é uma característica interessante, já que outros métodos de instalação de softwares (como os compactados com o tar e/ou gz) simplesmente não preservam as configurações originais. Vale dizer, porém, que, mesmo instalando pacotes via RPM, algumas mudanças no programa a ser instalado / atualizado podem tornar esse arquivo de configuração não mais compatível com o pacote - embora isso não seja comum. Neste caso, as adequações necessárias deverão ser feitas pelo usuário. Como o processo de atualização é uma combinação de processos de desinstalação e instalação, algumas mensagens de erro podem surgir, como por exemplo, ao se tentar atualizar um pacote com uma versão anterior à versão corrente, será apresentada a seguinte mensagem: rpm -Uvh <pacote> Neste caso, para forçar a atualização, deve-se usar o
parâmetro --oldpackage na (Fonte: Manual (MAN) RPM do Linux, www.rpm.org, |