Gerenciamento de pacotes no Fedora: Yum, PackageKit, Synaptic e Yumex

Gerenciamento de pacotes no Fedora: Yum, PackageKit, Synaptic e Yumex

As versões recentes do Fedora utilizam o PackageKit como gerenciador de pacotes e atualizações, substituindo o Pirut que era encontrado em versões anteriores.

A interface de gerenciamento (o “gpk-application”) é bastante simples, lembrando um pouco o “gnome-app-install”, encontrado no Ubuntu. Os pacotes são organizados em categorias, com um campo de busca e algumas opções de filtros de exibição, que permite exibir apenas os pacotes instalados ou apenas pacotes com aplicativos gráficos, por exemplo:

fedora_html_16171fdc

Existe também uma função para configurar os repositórios no “Sistema > Fontes de programas”, mas o PackageKit se limita a mostrar os repositórios já configurados e permitir que você os ative ou desative, sem entretanto oferecer opções para adicionar ou remover os repositórios, o que precisa ser feito manualmente:

fedora_html_m10b35ffb

O PackageKit é também o responsável pelas atualizações automáticas, na forma do “update-viewer”, disponível no “Sistema > Administração > Atualizar sistema”. Ele é outro aplicativo bastante simples, que se limita a exibir as atualizações disponíveis, sem muitas opções.

Tanto o gpk-application quanto o update-viewer são apenas interfaces para disponibilizar as funções. O PackageKit propriamente dito é um daemon de sistema (o packagekitd), que recebe os comandos e executa as operações usando o yum.

Boa parte do trabalho do PackageKit é feito “por baixo dos panos”, incluindo as funções de instalação de firmwares para componentes de hardware suportados e as associações de arquivos, que permitem instalar pacotes ou ativar repositórios simplesmente clicando sobre os links em páginas web (como no caso dos repositórios do RPM Fusion).

Apesar disso, é de se argumentar que ele é simples demais para atender às necessidades de qualquer usuários mais avançado. Até mesmo o Ubuntu, que é claramente posicionado como uma distribuição destinada a ser fácil de usar, oferece bem mais opções.

Uma solução popular é instalar o Synaptic, que está disponível nos repositórios do Fedora e pode ser instalado rapidamente usando o “yum install synaptic” ou a busca do PackageKit. Diferente da versão usada no Ubuntu (que trabalha em conjunto com o apt-get), o pacote para o Fedora vem pré-configurado para trabalhar junto ao apt-rpm, que é a versão do apt adaptada para trabalhar em conjunto com o Fedora e outras distribuições da família Red Hat.

Uma vez instalado, além do ícone para o Synaptic no “Aplicativos > Sistema” você ganha a possibilidade de instalar e remover pacotes usando o apt-get, com os tradicionais “apt-get update”, “apt-get install” e “apt-get remove”, como no Debian.

A principal observação é que ao usar o Synaptic você deixa de usar o PackageKit e o yum, passando a utilizar o apt-rpm como gerenciador de pacotes. Embora ele funcione perfeitamente bem, o uso dele em conjunto com o Fedora é menos testado, o que, em algumas situações, pode levar a problemas inesperados.

Isso nos leva ao Yumex (Yum Extender) que serve como uma terceira opção. Ele é também bastante simples de usar e mantém o uso do yum, mas oferece mais opções que o gpk-application, exibindo mais informações e permitindo que você tenha um controle maior sobre a instalação:

fedora_html_2f299c04

Ele também está disponível no repositório principal e pode ser instalado diretamente, como em:

# yum install yumex

Agora que foram feitas as devidas apresentações, vou falar um pouco sobre o yum, que, similarmente ao que temos no apt e no urpmi, também pode ser usado diretamente via linha de comando, servindo como uma forma rápida de administrar o sistema, sem precisar das interfaces.

O yum foi originalmente desenvolvido pela equipe do Yellow Dog (uma distribuição baseada no Red Hat, destinada a computadores com chips PowerPC) e foi sistematicamente aperfeiçoado pela equipe da Red Hat, até finalmente assumir o posto atual.

Ele trabalha de forma bastante similar ao apt, baixando os pacotes a partir dos repositórios especificados nos arquivos de configuração, junto com as dependências necessárias. Assim como o apt-get, ele é capaz de solucionar conflitos automaticamente e pode ser também usado para atualizar o sistema. Essencialmente, o yum e o apt solucionaram o antigo problema das dependências (um pacote precisa de outro, que por sua vez precisa de um terceiro) que atormentava os usuários de distribuições mais antigas.

Existem muitas diferenças entre o Fedora e o Debian, uma delas é o formato dos pacotes utilizados: o Fedora utiliza pacotes .rpm, enquanto o debian utiliza pacotes .deb. Ambos também utilizam repositórios separados, com pacotes construídos especificamente para cada uma das duas distribuições, de forma que existem algumas diferenças nos nomes dos pacotes e também em muitos dos arquivos de configuração do sistema.

Para instalar um pacote, use o comando “yum install”, como em:

# yum install evince

Para removê-lo posteriormente, use o “yum remove” como em:

# yum remove evince

Diferente do apt-get, onde você precisa rodar o “apt-get update” antes de cada instalação para atualizar a lista de pacotes, o yum faz a atualização automaticamente cada vez que uma instalação é solicitada, checando os repositórios, baixando os headers do pacotes e calculando as dependências antes de confirmar a instalação.

Naturalmente, a praticidade também tem seu preço, já que torna a instalação de pacotes usando o yum seja mais demorada que usando o apt-get, já que ele precisa baixar e processar todas as informações antes mesmo de confirmar a instalação do pacote e começar o download.

Você pode evitar isso de duas maneiras. A primeira é editar o arquivo “/etc/yum.conf” e descomentar a linha “metadata_expire=90m” no final do arquivo, alterando o “90m” (que corresponde a 90 minutos) por um valor maior, como em:

metadata_expire=3d

Isso fará com ele os dados sejam preservados por até três dias (uma configuração aceitável para um desktop), fazendo com que as operações do yum passem a ser bem mais rápidas.

A segunda opção é adicionar a opção “-C” aos comandos de instalação quando estiver com pressa, o que faz com que o yum ignore a atualização e simplesmente utilize as informações armazenadas no cache da última vez que foi executado, como em:

# yum -C install k3b

O yum possui também um recurso de busca, que é bastante útil quando você está procurando por um pacote, mas não sabe o nome exato, ou em casos de pacotes que possuem nomes diferentes em relação a outras distribuições. Use o comando “yum search”, seguido por alguma palavra ou expressão que faça parte do nome do pacote ou da descrição, como em:

# yum search lame

Ele retorna um relatório contendo todos os pacotes relacionados, incluindo o texto de descrição de cada um. Isso resulta geralmente em uma lista relativamente longa. Para fazer uma busca mais restrita, procurando apenas nos nomes dos pacotes, use o parâmetro “list”, como em:

# yum list lame

Ele é bem menos falador, retornando apenas os pacotes que possuem “lame” no nome, sem pesquisar nas descrições.

Uma terceira opção é a “provides”, que mostra pacotes que incluem um determinado arquivo, pesquisando não no nome ou na descrição, mas sim no conteúdo dos pacotes. Ela é bastante útil em casos em que você precisa de alguma ferramenta ou biblioteca que faz parte de outro pacote maior, como no caso do mcedit (um editor de texto simples, preferido por muitos por ter atalhos fáceis de usar), que faz parte do pacote “mc”:

# yum provides mcedit

Para atualizar um pacote já instalado, use o comando “yum update”, como em:

# yum update totem

O comando “yum install” também pode ser usado para atualizar pacotes. A diferença entre o “install” e o “update” é que o “update” se limita a atualizar pacotes já instalados. Ao perceber que o pacote solicitado não está instalado, ele exibe um aviso e aborta a instalação. Isso reduz a possibilidade de você acabar instalando novos pacotes por engano.

Assim como no caso do apt-get e do aptitude, o yum pode ser usado também para atualizar todo o sistema. Nesse caso, comece usando o parâmetro “check-update”, que lista as atualizações disponíveis:

# yum check-update

Se usado sem especificar um pacote, o “update” vai atualizar de uma vez só todos os pacotes do sistema, de forma similar ao “apt-get dist-upgrade” do Debian:

# yum update

Existe ainda o comando “yum upgrade”, que é um pouco mais incisivo, incluindo também pacotes marcados como obsoletos (que não existem mais na versão atual). Ele é útil em casos em que é necessário atualizar uma versão antiga do sistema:

# yum upgrade

Diferente do apt, que utiliza um arquivo central para a configuração dos repositórios (o “/etc/apt/sources.list”), a lista de repositórios usados pelo yum é dividida em diversos arquivos, organizados na pasta “/etc/yum.repos.d/“.

Quando você adiciona um novo repositório através de um arquivo .rpm, como no caso do RPM Fusion, o que o pacote faz é justamente adicionar os arquivos correspondentes dentro da pasta. O yum verifica os arquivos dentro da pasta cada vez que é executado, fazendo com que o novo repositório passe a ser usado automaticamente.

Naturalmente, é possível também adicionar repositórios manualmente, criando os arquivos e copiando o conteúdo de algum tutorial ou howto, mas usar os pacotes é bem mais prático.

Concluindo, temos a instalação de pacotes locais. Para instalar um pacote baixado manualmente, é usado o comando “rpm -U”, que tem uma função análoga ao “dpkg -i” do Debian. Para usá-lo, você deve acessar a pasta onde foi baixado o arquivo, ou incluir o caminho completo até ele (lembre-se de que você pode usar a tecla Tab para completar o nome do arquivo), como em:

# rpm -U nxclient-3.1.0-6.i386.rpm

Usado dessa forma, o rpm simplesmente instala o pacote silenciosamente, sem exibir qualquer confirmação. Se quiser ver uma barra de progresso e detalhes da instalação, adicione os parâmetros “vh”, como em:

# rpm -Uvh nxclient-3.1.0-6.i386.rpm

Embora o rpm seja o mais usado para fazer instalações locais, devido à simplicidade, você pode também fazer a instalação usando o próprio yum, através do parâmetro “localinstall”, como em:

# yum localinstall nxclient-3.1.0-6.i386.rpm

O problema é que yum verificará a assinatura do pacote e, a menos que ele tenha vindo de um dos repositórios oficiais, reclamará que ele não está assinado, ou que a assinatura não é reconhecida (abortando a instalação), como em:

Package nxclient-3.1.0-6.i386.rpm is not signed

Se você confia na fonte do pacote, ou seja, tem certeza de que não se trata de um trojan ou de um pacote que inclui algum script malicioso, você pode desativar temporariamente a verificação das assinaturas pelo yum, de forma que ele permita a instalação do pacote.

Para isso, edite o arquivo “/etc/yum.conf” e substitua a linha “gpgcheck=1” por:

gpgcheck=0

Depois de instalar o pacote, volte ao arquivo e desfaça a alteração, de forma que o yum volte a verificar as assinaturas, o que garante a autenticidade dos pacotes.

A grande vantagem de usar o yum é que ele é capaz de baixar eventuais dependências do pacote automaticamente (caso os pacotes necessários estejam disponíveis nos repositórios), enquanto o rpm se limita a avisar sobre o problema e abortar a instalação.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X