Mostrando postagens com marcador rpm. Mostrar todas as postagens
Mostrando postagens com marcador rpm. Mostrar todas as postagens

sexta-feira, 29 de junho de 2012

RPM Package Manager e Yellow dog Updater Modified

O "RPM Package Manager" é um sistema de gerenciamento de pacotes para distribuições Linux desenvolvido originalmente pela Red Hat. Um sistema de gerenciamento de pacotes tem o propósito de automatizar o processo de instalação, atualização e remoção de softwares em um sistema operacional.

Um pacote serve para distribuir um software, que pode estar compilado ou não, mas um software pode ser distribuído em mais de um pacote, ou seja, não necessariamente em um único pacote. Os softwares fornecidos para o Fedora, CentOS, RHEL e descendentes são empacotados pelo RPM Package Manager e utilizam a extensão .rpm.

O arquivo de um pacote RPM possui o seguinte formato para seu nome:

<nome>-<versão>-<lançamento>.<arquitetura>.rpm

Um software sempre é compilado para determinada arquitetura, por exemplo i386, i686, x86_64 etc. Sua extensão indica para qual arquitetura ele é compatível. Por exemplo "firefox-3.6.13-1.fc13.x86_64.rpm". O código fonte de um software também pode ser distribuído em pacote RPM, sua arquitetura recebe o nome src, como "firefox-3.6.13-1.fc13.src.rpm".

Os pacotes RPM que possuem a extensão noarch.rpm referem-se a pacotes que não dependem de determinada arquitetura de computador, ou seja, podem ser instalados em qualquer uma. Por exemplo, são os pacotes com arquivos de imagens, audio etc., ou softwares que serão interpretados, scripts etc.

O pacote RPM traz, em um único arquivo, o software compactado e um rótulo com diversas informações, que incluem nome, versão e descrição. O conteúdo a seguir é o retorno do comando "rpm -qpi <pacote>":

Name        : firefox                            Relocations: (not relocatable)
Version     : 3.6.13                             Vendor: Fedora Project
Release     : 1.fc13                             Build Date: Qui 09 Dez 2010 13:04:06 BRST
Install Date: Sex 10 Dez 2010 23:42:53 BRST      Build Host: x86-17.phx2.fedoraproject.org
Group       : Applications/Internet              Source RPM: firefox-3.6.13-1.fc13.src.rpm
Size        : 18060708                           License: MPLv1.1 or GPLv2+ or LGPLv2+
Signature   : RSA/SHA256, Qui 09 Dez 2010 20:53:23 BRST, Key ID 7edc6ad6e8e40fde
Packager    : Fedora Project
URL         : http://www.mozilla.org/projects/firefox/
Summary     : Mozilla Firefox Web browser
Description :
Mozilla Firefox is an open-source web browser, designed for standards
compliance, performance and portability.



Para que um pacote possa ser instalado, o sistema deve conter os pré-requisitos para o pacote. São as dependências do pacote. Uma dependência proporciona um modo de um pacote requerer outros pacotes, instalados previamente ou simultaneamente, para ser possível sua instalação. Quando tenta-se instalar um pacote e os pré-requisitos para ele estão incompletos, o gerenciador de pacotes retorna uma mensagem e não instala o pacote.

O Fedora, o CentOS e o RHEL utilizam essencialmente duas ferramentas para gerenciar os pacotes em linha de comando, o RPM Package Manager e o YUM (Yellow dog Updater, Modified), este desenvolvido por terceiros e compatível com o sistema de gerenciamento RPM.

O RPM é uma ferramenta simples e direta, para instalar, atualizar ou remover pacotes e realizar pesquisas na base de pacotes instalados. O YUM é uma ferramenta automática, também para instalar, atualizar ou remover pacotes, porém, capaz de localizar as dependências e instalá-las quando necessário. Com o YUM é possível consultar os repositórios de softwares para procurar por determinado pacote ou até atualizar todo o sistema.

Com as ferramentas RPM e YUM podemos realizar diversas operações com os pacotes. No artigo "Guia de referência cruzada dos gerenciadores de pacotes" (http://dan-scientia.blogspot.com.br/2009/10/guia-de-referencia-cruzada-dos.html) publiquei uma tabela comparativa dos comandos entre os principais gerenciadores de pacotes, as principais operações estão listadas lá, juntamente com os comandos.

O sistema de gerenciamento de pacotes RPM mantém no sistema operacional um banco de dados dos pacotes. Este banco, local, guarda informações sobre todos os pacotes instalados no sistema. O banco de dados RPM fica armazenado no diretório "/var/lib/rpm/" e pode conter arquivos, como a listagem a seguir:

Basenames           Packages
Conflictname        Providename
__db.001            Provideversion
__db.002            Pubkeys
__db.003            Requirename
Dirnames            Requireversion
Filemd5s            Sha1header
Group               Sigmd5
Installtid          Triggername
Name

A ferramenta YUM também utiliza o banco de dados RPM, entretanto, o YUM é capaz de consultar repositórios mantidos em servidores acessados pela Internet. Através desta consulta o YUM consegue localizar os pacotes que serão instalados no sistema local, não só o pacote principal mas também suas dependências.

As configurações para acesso à repositórios ficam no arquivo "/etc/yum.conf" ou em arquivos separados, no diretório "/etc/yum.repos.d/". Uma parte do conteúdo do arquivo "/etc/yum.repos.d/fedora-updates.repo" é exibida a seguir:

[updates]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch


Instalação, atualização ou remoção de um software no sistema Linux é extremamente simples, desde que o software esteja devidamente empacotado. Estas ferramentas são muito eficazes. Existem interfaces gráficas para estas ferramentas, facilitando ainda mais. O sistema de gerenciamento de pacotes é, talvez, uma das características que torna o Linux superior aos outros sistemas operacionais.

segunda-feira, 14 de fevereiro de 2011

Adicionando o repositório Fusion no Fedora

O Fedora, em sua instalação, já traz pré-configurado os seus repositórios oficiais de pacotes originais e de atualização. Contudo, é possível adicionar repositórios extras na ferramenta YUM e assim tornar disponível outros softwares para instalação.

O principal repositório extra de software para o Fedora é o RPM Fusion (http://rpmfusion.org/), mantido por voluntários. O RPM Fusion fornece os softwares que o Projeto Fedora ou a Red Hat não tem interesse em fornecê-los. É uma extensão ao repositório oficial do Fedora.

Os softwares são fornecidos em pacotes RPM pré-compilados para todas as versões ativas do Fedora. O RPM Fusion é uma fusão dos repositórios Dribble, Freshrpms, e Livna. Seu objetivo é simplificar a localização dos softwares para um único lugar.

O RPM Fusion divide os softwares em duas categorias: gratuitos e não gratuitos. Os softwares gratuitos são os 100% livres, por exemplo os softwares com licença GPL. Os softwares não gratuitos são os softwares de licença proprietária mas que podem ser distribuídos, por exemplo alguns drivers de placas de vídeo.

Para instalar no Fedora, de uma única vez, com um único comando, as configurações do RPM Fusion no YUM, execute o comando abaixo:

# yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

sexta-feira, 30 de outubro de 2009

Guia de referência cruzada dos gerenciadores de pacotes

Cada distribuição Linux adota um gerenciador de pacotes específico, os mais utilizados são as duplas deb/apt e rpm/yum.

Segue uma tabela de equivalência dentre alguns comandos destes gerenciadores. Os espaços em branco são para indicar ou a inexistência do comando ou o comando ainda não é conhecido por mim.

Por favor, quem souber mais, poste os comandos que faltam ou a correção para algum deles. Esta postagem será atualizada com frequência, assim que eu receber algo novo.

Data da última atualização: 30/10/2009
http://dan-scientia.blogspot.com/2009/10/guia-de-referencia-cruzada-dos.html






















































 dpkgrpmaptyum
SignificadoDebian PackageRPM Package Manager Advanced Packaging ToolYellow dog Updater, Modified
Extensão do pacote*.deb*.rpm*.deb*.rpm
Distros que adotam o empacotamentoDebian, Ubuntu, Linux Mint, KnoppixRed Hat, Fedora, Suse, CentOS, Mandriva, Yellow Dog, LinpusDebian, Ubuntu, Linux Mint, KnoppixRed Hat, Fedora, Suse, CentOS, Mandriva, Yellow Dog, Linpus
Configuração dos repositórios   /etc/apt/sources.list/etc/yum.conf ou /etc/yum.repos.d/
     
TarefaComando   
Instalar pacote do localdpkg -i <pacote>rpm -i <pacote> yum localinstall <pacote>
Atualizar pacote do local rpm -U <pacote> yum localupdate <pacote>
Atualizar pacote do repo   yum update <pacote>
Atualizar pacote se estiver instalado  rpm -F <pacote>  
Instalar pacote do repo  apt-get install <pacote>yum install <pacote>
Instalar grupo de pacotes   yum groupinstall <grupo>
Reinstalar um pacote   yum reinstall <pacote>
Atualizar grupo de pacotes   yum groupupdate <grupo>
Remover pacotedpkg -r <pacote>rpm -e <pacote>apt-get remove <pacote>yum remove <pacote>
Remover pacotes órfãos   package-cleanup --orphans
Remover pacotes solitários   package-cleanup --leaves
Remover grupo de pacotes   yum groupremove <grupo>
Listar arquivos do pacote instaladodpkg -L <pacote>rpm -ql <pacote> 
Listar arquivos do pacote não instaladodpkg-deb -c <pacote> rpm -qpl <pacote>  
Mostrar informações do pacote instaladodpkg -s <pacote>rpm -qi <pacote>apt-cache show <pacote>yum info <pacote>
Mostrar informações do pacote não instalado rpm -qpi <pacote>apt-cache show <pacote>yum info <pacote>
Mostrar novidades da versão do pacote  rpm -q --changelog <pacote>apt-listchanges <pacote> 
Mostrar detalhes sobre um grupo de pacotes   yum groupinfo <grupo>
Extrair arquivo do pacotedpkg-deb --extract <pacote>rpm2cpio <pacote>|cpio -vid  
Listar todos os pacotes instaladosdpkg -lrpm -qa yum list installed
Listar todos os pacotes disponíveis  apt-cache pkgnamesyum list
Listar os grupos de pacotes disponíveis   yum grouplist
Verificar integridade do pacote rpm -K <pacote>  
Verificar integridade dos arquivos instalados do pacote rpm -V <pacote>  
Verificar integridade dos arquivos instalados de todos os pacotesdebsumsrpm -Va  
Mostrar qual pacote pertence o arquivodpkg -S <arquivo>rpm -qf <arquivo>apt-file search <arquivo>yum provides <arquivo>
Listar todos os arquivos que acompanham o arquivo no pacote rpm -qdf <arquivo>  
Mostrar as dependências do pacote rpm -qpR <pacote>apt-cache depends <pacote>yum deplist <pacote>
Mostrar os pacotes que dependem do pacote rpm -q --whatrequires apt-cache rdepends <pacote>yum resolvedep <dependência>
Procurar expressão em pacotes do repositório  apt-cache search <expressão>yum search <expressão>
Procurar pacotes nos repositórios    
Exibir os repositórios de software configurados   yum repolist
Atualizar lista de pacotes dos repositórios  apt-get update(o yum faz automaticamente a cada uso)
Verificar novas atualizações   apt-get -s upgradeyum check-update
Atualizar pacotes  apt-get upgradeyum update
Atualizar todo o sistema  apt-get dist-upgrade yum upgrade
Remover pacote do cache local  apt-get cleanyum clean packages
Remover somente pacotes obsoletos do cache local  apt-get autoclean 
Remover cabeçalhos do cache local  apt-file purgeyum clean headers
Remover cabeçalhos obsoletos do cache local   yum clean oldheaders
Remover pacotes e cabeçalhos do cache local   yum clean all
Mostrar estado do cache  apt-cache stats