Frases

quarta-feira, 28 de novembro de 2007

Pacotes RPM

Créditos: vodooo no vivaolinux

O que é o RPM?


O RPM é um sistema de instalação de programas criado pela Red Hat.

O que é um pacote RPM?


Um pacote RPM nada mais é do que os arquivos do programa, scripts e regras para sua instalação.

Como instalar pacotes RPM?


Para instalar um pacote RPM use o comando:

rpm -i nome_do_pacote.rpm

Você tem um pacote instalado, mas acaba de pegar uma versão mais nova do programa. O que fazer? Desinstalar o pacote antigo e instalar o novo? Não! Não é preciso que se faça isso! Você pode atualizar para uma versão mais recente de um pacote já instalado com o comando:

rpm -U nome_do_pacote.rpm

Tudo bem, aprendemos instalar e atualizar um pacote, mas tem aquele programa instalado em meu PC que eu nunca uso, como faço para removê-lo?

Bem, para remover um pacote já instalado use o comando:

rpm -e nome_do_pacote

OBS: Veja que agora não colocamos a extensão rpm. Não é necessário que se coloque a extensão!

Para ver a lista de pacotes instalados em seu sistema use o comando:

rpm -qa

Agora vamos verificar se algum pacote já está instalado em nosso sistema. Para isso utilize o comando:

rpm -qa | grep nome_do_pacote

OBS: O nome do pacote não precisa ser digitado inteiramente!

Exemplo: Para sabermos quais pacotes que possuem "gnome" no seu nome estão instalados em nosso sistema utilizamos o comando:

rpm -qa | grep gnome

Agora veja que existem vários pacotes com o nome gnome-yyyy, onde yyyy é o complemento do nome do pacote, e outros que têm um prefixo (ex.: libgnome-xxx, onde o xxx é a versão do pacote).

Para vermos quais arquivos um certo pacote provê utilizamos o comando:

rpm -qlp nome_do_pacote.rpm

Se você quiser obter informações sobre um pacote instalado no sistema utilize o comando:

rpm -qi nome_do_pacote

OBS: Note que mais uma vez não é necessário usar a extensão rpm.

Agora você quer obter informações de um pacote não instalado, utilize o comando:

rpm -qip nome_do_pacote.rpm

Se no caso acima as informações mostradas ainda não são suficientes para o que queremos, podemos obter mais informações sobre um pacote ainda não instalado com o comando:

less nome_do_pacote.rpm

Digamos agora que você tem um pacote instalado, mas por algum motivo qualquer ele não está funcionando normalmente.

Existem outras maneiras de resolver este problemas, mas se você tentou de tudo e ainda não conseguiu resolvê-lo, pode reinstalar o pacote. Mas ao tentar o comando "rpm -U nome_do_pacote" ou "rpm -i nome_do_pacote" você recebe a mensagem de que o pacote já está instalado, basta usar com o parâmetro --replacepkgs assim:

rpm -i --replacepkgs nome_do_pacote.rpm
ou
rpm -U --replacepkgs nome_do_pacote.rpm

Para instalar um pacote sem que seja verificado se o seu disco possui espaço suficiente para o pacote use o comando:

rpm -i --ignoresize nome_do_pacote.rpm

Atenção: Esta opção não é recomendada visto que se não existir espaço suficiente para a instalação o pacote pode e/ou será instalado com problemas!

Para instalar um pacote sem instalar a sua documentação utilize o comando:

rpm -i --excludedocs nome_do_pacote.rpm

OBS: Apenas os arquivos marcados como documentação não serão instalados!

Para instalar um pacote sem a verificação das dependências utilize o comando:

rpm -i --nodeps nome_do_pacote.rpm

Atenção: Esta opção não é recomendada visto que provavelmente o programa apresentará erros uma vez que as dependências não forem atendidas!

Caso você queira instalar uma versão mais antiga de um pacote já instalado utilize o comando:

rpm -U --oldpackage nome_do_pacote.rpm

Caso você queira apenas testar se um pacote vai ser instalado corretamente (se todas as dependências serão atendidas, se não causa nenhum conflito) em seu sistemas utilize o comando:

rpm -i --test nome_do_pacote.rpm

Algumas vezes quando instalamos e desinstalarmos pacotes pode ocorrer da nossa base de dados do rpm ficar corrompida!

Se ao tentar instalar, atualizar ou remover um pacote você começar a receber mensagens de erro do tipo "Segmentation fault ou (null)-(null)" você deve atualizar sua base de dados do rpm com o comando:

rpm --rebuilddb

Ou então você pode construir uma nova com o comando: rpm --initdb

Para maiores informações sobre o rpm use o comando:

# man rpm

Nenhum comentário: