Gerenciamento de pacotes no Mandriva Linux

Este artigo tem como objetivo explicar de forma rápida e prática como funciona o gerenciamento de pacotes na distribuição Mandriva Linux. Tanto usuários novatos como os vindos de outras distros poderão facilmente gerenciar os seus pacotes no Mandriva Linux.

[ Hits: 60.369 ]

Por: Douglas Tabajara em 18/05/2006


Gerenciamento de pacotes no Mandriva Linux - Parte 1



OBS: Este artigo foi originalmente escrito por Douglas Tabajara e Manoel Pinho para o Portal de Usuários Brasileiros do Mandriva Linux,http://www.mandrivabrasil.org.

A maioria das distribuições Linux trabalha com o conceito de pacotes binários para a instalação padronizada de softwares, sendo os mais comuns o deb (usado no Debian e derivados) e o rpm (adotado pelo Red Hat e distribuições derivadas como é o caso do Mandriva Linux, Fedora, SuSE e Conectiva). Um pacote binário de um programa nada mais é do que alguns arquivos, bibliotecas e documentação do programa, scripts para que eles sejam instalados corretamente e uma relação de quais outros pacotes ele depende.

No Mandriva, os pacotes binários (compilados) possuem nomes *mdk.i586.rpm (para PCs com processadores de 32 bits), *mdk.x86_64.rpm (para PCs com processadores de 64 bits) ou ainda *mdk.noarch.rpm (independentes de arquitetura de processador, geralmente contendo documentação ou programas feitos em linguagens interpretadas). Os pacotes fonte, que podem ser recompilados para gerar os pacotes binários, possuem nomes *mdk.src.rpm. Estes últimos contém o código-fonte original do programa, instruções ao programa que compilará o pacote fonte para gerar o pacote binário (no caso dos rpms, o arquivo tem extensão .spec) e, geralmente, patches (arquivos contendo diferenças no código-fonte) necessários para a compilação ou adaptação do programa à distribuição.

Comando rpm


Para que seja possível instalar um pacote, é necessário um software que conheça o tipo de pacote, confira as dependências e aplique as regras de instalação. Estes software são o rpm para pacotes rpm e o dkpg para pacotes deb. Só que estes programas dispõem somente de recursos básicos, não fazendo coisas como downloads e instalação automática dos pacotes marcados como dependências. É aí que entram os softwares de gerenciamento de pacotes, como o conhecido apt do Debian, o apt-rpm do Conectiva Linux, o urpmi do Mandriva Linux e o yum do Red Hat e Fedora.

O comando rpm tem diversas opções (veja com man rpm) e vamos citar somente as opções mais utilizadas:

Instalação de um pacote


rpm -i pacote ou rpm -install pacote

OBS: Para uma melhor visualização do que está acontecendo, em geral costuma-se usar também as opções -v (verbose, que imprime detalhes do que está sendo feito) e -h (para imprimir hashes "#" e dar uma idéia de percentagem de progressão. O comando ficaria então "rpm -ivh pacote".

Instalação de um pacote e dependências ou de vários pacotes ao mesmo tempo


rpm -ivh pacote1 dependência1 dependência2 ... pacote2 ...

OBS: Caso o programa já esteja instalado e o pacote que se quer instalar é de uma versão mais recente, deve-se utilizar a opção -U para atualizar (update) o pacote, que faz a remoção da versão antiga e a instalação da versão mais nova em um único passo.

Atualização de pacote


rpm -U pacote ou rpm -upgrade pacote
rpm -Uvh pacote (para mais detalhes do que está sendo feito)

Instalação/Atualização forçada de pacotes


Embora a opção -force possa ser usada juntamente com a opção -i ou -U para instalação ou atualização forçada de pacotes, isto é, sem que todas as dependências tenham sido satisfeitas, NÃO É RECOMENDADA pois o programa terá grandes chances de não funcionar, além de fazer com que o urpmi e qualquer outra ferramenta de gerenciamento de pacotes tenda a remover o programa por causa das dependências quebradas. Não tente usar rpms feitos para outras distribuições, que geralmente causam estes problemas.

Remoção de pacotes


rpm -e pacote
rpm -e pacote1 pacote2 ... pacoteN


Consultas a pacotes


rpm -qi pacote
Dá informações do pacote caso já esteja instalado.

rpm -qpi pacote-versãomdk.i586.rpm
Dá informações sobre o pacote contido em pacote-versãomdk.i586.rpm, que não precisa estar instalado.

rpm -qa
Lista TODOS os pacotes instalados no sistema. Produz uma listagem enorme, que na maioria das vezes é filtrada com o grep (rpm -qa | grep palavra).

Compilação de pacotes fonte para a geração de pacotes binários


Embora nem todo mundo precise recompilar os pacotes fonte .src.rpm, às vezes isso pode ser útil para aproveitar pacotes fonte de outras distribuições ou de versões mais recentes ou experimentais (cooker) do Mandriva Linux. Isso pode ser feito com:

rpmbuild -rebuild pacote.src.rpm
(que vai instalar o pacote fonte e recompilá-lo para gerar o(s) pacote(s) binário(s) derivados)

ou

rpm -ivh pacote.src.rpm (para instalar o pacote)
rpmbuild -bb arquivospecdopacote.spec
(para compilar e gerar o(s) pacote(s) binário(s) derivados conforme instruções contidas no arquivospecdopacote.spec, que é colocado em /usr/src/RPM/SPECS/ no Mandriva Linux quando o pacote fonte foi instalado).

Cabe ressaltar que praticamente não é preciso usar o rpm diretamente no Mandriva Linux pois o urpmi e as ferramentas gráficas de gerenciamento de software, que serão mostradas a seguir, cumprem as principais funções do rpm com diversas vantagens.

    Próxima página

Páginas do artigo
   1. Gerenciamento de pacotes no Mandriva Linux - Parte 1
   2. Gerenciamento de pacotes no Mandriva Linux - Parte 2
   3. Gerenciamento de pacotes no Mandriva Linux - Parte 3
   4. Gerenciamento de pacotes no Mandriva Linux - Parte 4
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

CentOS 5.8 - MySQL Cluster 7.1 + HAProxy

openSUSE 11.3 (parte 1)

Dpkg, Gnome, kernel, bin, rpm... maravilhoso Linux!

Vida nova para o Kurumin 7

GNOME vs KDE - Usabilidade ou Personalização

  
Comentários
[1] Comentário enviado por removido em 18/05/2006 - 17:13h

Pronto, matou a cobra e mostrou o pau!!!!!!

[2] Comentário enviado por mpinho em 18/05/2006 - 20:42h

Legal o Douglas ter colocado aqui. O Vivaolinux é excelente e informação sempre é útil.

O original do artigo está em

http://www.mandrivabrasil.org/site/content/view/13/29/

e contém algumas figuras que não estão aqui, para quem quiser olhá-las.

[3] Comentário enviado por DouglasTabajara em 18/05/2006 - 20:48h

Realmente é altamente recomendado que aqueles que se interessarem dêem uma olhada no http://mandrivabrasil.org, pois já há outros artigos relacionados ao Mandriva lá!

[]'s

[4] Comentário enviado por FelipeAbella em 25/10/2006 - 21:53h

douglastabajara: Atualmente uso o Suse 10.1, mas ao ver o Mandriva One, gostei muito, e yast(do suse) é muito lento, ai tou baixando o Mandriva Free(por ser mais completo), só que pelo jeito não vai vir com pacotes proprietários da mesma forma que o Mandriva One, o suse resolve com o cd-addon, e no Mandriva? Há algum CD com pacotes plf-nonfree?

[5] Comentário enviado por ramonleonn em 12/07/2007 - 10:30h

Obrigado,

estou utilizando o Mandriva a pouco tempo e estava precisando destas informações!

[6] Comentário enviado por cassioso em 10/01/2008 - 08:55h

Olá, e se eu quiser atualizar TODOS os pacores de uma só vez, como eu faço? Existe algum comando semelhante ao update do yum ou do apt-get?

[7] Comentário enviado por cassioso em 10/01/2008 - 08:57h

Ah, encontrei aqui, em um fórum do mandrivabrasil.org:

"
Para atualizar todas a distro, execute os seguintes comandos:

urpmi.update -a (para atualizar todas as mídias configuradas)
urpmi --auto --auto-select (para baixar e instalar todas as atualizações sem confirmações) ou
urpmi --auto-select (para listar as atualizações e, caso o usuário confirme, fará o download e instalação delas)
"

retirado de: http://www.mandrivabrasil.org/site/content/view/13/29/1/2/


Contribuir com comentário