RPM, YUM e URPMI

O dpkg é uma ferramenta de baixo nível, base do sistema de gerenciamento de pacotes da distribuição linux Debian e derivados. Ferramentas de alto nível, como o APT (apt-get e aptitude), são usadas para obter os pacotes de instalação de localizações remotas ou lidar com as complexas relações entre eles (dependências). O Red Hat e derivados, assim como outras distribuições, usam outros sistemas.

RPM

O RPM (originalmente abreviatura de Red Hat Package Manager) é um sistema de gerenciamento de pacotes de software, servindo para instalar, atualizar, desinstalar, verificar e procurar programas. Seu banco de dados (em /var/lib/rpm) lista todos os arquivos que são criados ou modificados quando um usuário instala um programa e facilita a remoção desses arquivos.

Os arquivos RPM têm normalmente o seguinte formato:

<nome>-<versão>-<release>.<arquitetura>.rpm

RPM

Para instalar um pacote RPM use o comando no diretório que contém o arquivo baixado/copiado:

# rpm -i nome_do_pacote.rpm

A opção “-U” serve para atualizar o pacote já instalado ou instalar o pacote se não estiver (“-F” só atualiza o pacote se já estiver instalado), “-e” para removê-lo (nesse caso, não precisa colocar a extensão “.rpm”), “-qi” para obter informações de um pacote já instalado (ou “-qip” se não estiver instalado”) e “–test” para apenas testar se um pacote vai ser instalado com todas as dependências atendidas e sem causar nenhum conflito.

É possível localizar o pacote que contém um arquivo executável através do comando “rpm -qf $(which nome_do_programa)”.

Para comparar arquivos instalados com informações disponíveis na base de dados RPM (permissões, proprietário, tamanho etc), utilize “-V”; a opção “-qp –changelog” permite ver as mudanças realizadas na nova versão do pacote. A opção “-q” (de query) permite consultas ao banco de dados das instalações. Para verificar se algum pacote já está instalado, utilize a opção “-qa” (para todos os pacotes instalados) e “-qc” (restringindo os arquivos listados para somente arquivos de configuração) para listar todos os arquivos de configuração dele; “-ql” lista os arquivos do pacote. Para mais informações dos pacotes, usar “-qi” ou o comando “yum info nome_do_pacote”.

YUM

O RPM é comumente usado por outros acessórios para manipular dependências, como o Yellowdog Updater Modified (YUM) no Fedora ou o yast no OpenSUSE. São gerenciadores de pacotes de arquivos, similares ao APT, que lidam automaticamente com dependências, computando-as e resolvendo o que deve ser feito para tratá-las. O YUM também trabalha com repositórios, que são coleções de pacotes, normalmente acessível através de uma conexão de rede.

Para instalar um pacote usando o YUM, usar o comando:

# yum install nome_do_pacote

O diretório /etc/yum.repos.d/ contém vários arquivos “repo” (sua localização é configurada no arquivo “/etc/yum.conf”). Um arquivo repo típico é dividido em três seções, uma para pacotes normais, uma para pacotes de depuração (debuginfo) e outra para pacotes de origem (source). Além do local do repositório, o arquivo repo diz se um repositório em particular está ativado e se as assinaturas GPG devem ser usadas para verificar os pacotes transferidos por download.

Se usar “yum remove nome_do_pacote” para remoção, será impresso um aviso depois que os testes de dependência forem realizados. Se o que está tentando remover for dependente para outros pacotes instalados, o YUM perguntará se deseja removê-los além do pacote dependente.

É possível usar “yum update” para atualizar todo o seu sistema ou especificar um único pacote. Remover um pacote com problemas e depois reinstalá-lo, mesmo com outros pacotes que dependem dele que estão instalados e ainda estão OK, pode ser realizada de modo forçado, usando a opção “–force” do rpm ou a função “reinstall” do yum. A opção –nodeps do comando de rpm evita verificação de dependência ao remover um pacote (interessante para reinstalar um pacote sem mexer em suas dependências).

Para fazer o download de RPMs e salvá-los (para instalção em um sistema sem rede, por exemplo), usar “yumdownloader –resolve nome_do_pacote” (a opção “–resolve” adiciona pacotes dependentes).

Sua interface gráfica é o Packagekit, que possui versões para Gnome (gnome-packagekit) e KDE (KPackageKit).

URPMI

A primeira versão da distribuição Linux Mandrake foi em 1998 e do Linux Conectiva foi em 1997. A Mandriva começou suas atividades em 7 de abril de 2005 ao juntar os ativos da empresa francesa Mandrake e a brasileira Conectiva SA, e durou até 2015, finalizando serviços de suporte e atualizações. O Mandrake também possui seu sistema de instalação de pacotes, cuja última versão foi a 9.2. Apesar de não ter mais atualizações, um mirror (espelho) do repositório URPMI de pacotes continua disponível em um servidor francês (do Brasil e de outros países foram desativados).

Para descobrir sua versão do Mandrake, use o comando “cat /etc/issue” (a saída será algo como “Mandrake Linux release 9.2 (FiveStar) for i586”, ou seja, para 32 bits). Veja alguns comandos básicos de utilização do URPMI:

# Remover todas os provedores instalados (o padrão é pegar o repositório do CD em vez da internet) 
urpmi.removemedia -a

# Configurar um novo provedor de pacotes:
# Arquivos da Distribuição (os mesmos que no CD-ROM)
urpmi.addmedia main ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/9.2/i586/Mandrake/RPMS/ with ../base/hdlist.cz
# Contribuições
urpmi.addmedia contrib ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/9.2/contrib/i586/ with ../../i586/Mandrake/base/hdlist2.cz
# Atualizações
urpmi.addmedia --update updates ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/old/updates/9.2/RPMS/ with ../base/hdlist.cz 
# PLF (veja explicação mais abaixo)
urpmi.addmedia --update plf-free ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/plf/mandriva/free/9.2/i586 with hdlist.cz
urpmi.addmedia --update plf-nonfree ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/plf/mandriva/non-free/9.2/i586 with hdlist.cz 

# Atualizar as listas de pacotes
urpmi.update 

# Instalar o pacote emacs
urpmi emacs 

# Remover o pacote emacs
urpme emacs 

Os links dos espelhos foram obtidos preenchendo as opções do site Easy URPMI. Mais informações no link A Quick Reference Guide to urpmi.

O PLF (Penguin Liberation Front) dispunha de pacotes livres que não podiam ser adicionados ao repositório oficial por diversas razões (inclusive políticas), como emuladores, codecs e o MPlayer (tocador de mídias). Seu projeto não existe mais (por isso não é mais necessário registrar a assinatura deles), porém os pacotes ainda podem ser encontrados no endereço utilizado no tutorial.

Compartilhe :)

2 comments

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.