Você está na página 1de 22

Gerenciadores de Pacotes no GNU/Linux

Gilmar Sampaio de Oliveira Junior

Aluno do curso de Segurana da Informao na FATEC So Caetano do Sul


14/09/2015

01. Introduo
Um gerenciador de pacote uma ferramenta utilizada para instalao,

remoo e atualizao de programas. Normalmente so encontrados em sistemas


GNU/Linux, tendo em vista que tais sistemas consistem de milhares de pacotes
distintos.

Os programas so distribudos atravs de pacotes, que esto ligados a

metadados, estes metadados contm informaes adicionais, tais como uma

descrio do aplicativo e uma lista de dependncias, que so programas necessrias


para que o programa execute corretamente.

Os programas e metadados podem ser encontrados em repositrios, que

podem ser locais (CD, DVD ou disco rgido) ou online (servidores FTP). Aps a

instalao, os metadados so armazenados em um banco de dados local de pacotes


que usado para recuperar os pacotes do software.
02. Pacotes
Um pacote de software um arquivo, normalmente compactado de acordo

com a distribuio, que contm todos os arquivos (binrios, shell scripts, configurao,

dados, bibliotecas, documentao, papeis de parede, icones e outros) necessrios


para a instalao de um software (aplicativo), alm de todas as informaes

necessrias para a sua instalao, remoo, configurao e manuteno ser usado


pelo gerenciador de pacotes.

Como um quebra cabea, os sistemas GNU/Linux so formados por diversos

pacotes. Um programa pode ser divido em vrios pacotes, na qual voc poder

instalar apenas as partes que lhe for conveniente, deixando o sistema mais enxuto.
Basicamente em sistemas GNU/Linux temos dois tipos de pacotes:

Cdigo-fonte: conjunto de arquivos, cdigo-fonte, documentao e arquivos de

configurao, que devero ser compilados para serem instalados no sistema;

Binrios: pacote de cdigo-fonte pr-compilados para uma distribuio ou

arquitetura especfica, juntamente com outros arquivos necessrio para a


utilizao/instalao.

Nosso foco de estudo ser os arquivos binrios, comumente chamados

apenas de pacotes, e sua instalao atravs da linha de comando, tendo em vista que

alguns pacotes binrios podem ser instalados baixando o pacote (compatvel com seu
sistema) e dando alguns cliques como no Windows, ou atravs de gerenciadores de
pacote em modo grfico.

As distribuies GNU/Linux utilizam softwares empacotados para facilitar a

manipulao pelo gerenciador de pacotes. muito mais fcil e rpido instalar o pacote

de um software que j foi compilado e empacotado do que baixar o seu cdigo-fonte,


compil-lo e instal-lo manualmente. Da mesma forma, muito fcil e rpido
desinstalar o pacote desse software do que remov-lo manualmente.

Quando o pacote executado, seus dados so descompactados e copiados

para o sistema de arquivos do sistema operacional, criando links simblicos onde for
necessrio, atalhos no menu e no desktop e, s vezes, oferecendo opes de
configurao ao usurio.

Alguns pacotes podem depender de outros, ou seja, um certo pacote X precisa

de uma biblioteca do pacote Y, isso conhecido como dependncia, e ser tratada


mais adiante.

Os pacotes so criados para uma verso especfica de uma determinada

distribuio, pois as dependncias podem variar entre distribuies e verses de uma


distribuio.

H muitos formatos de pacotes. Os mais conhecidos so .tgz, .deb e .rpm.

Uns menos comuns .pup, .pisi, .tazpkg e .mo.


03. Metadados do pacote

Nos repositrios, que so locais onde encontramos os pacotes, tambm

encontramos informaes adicionais dos pacotes, vulgarmente chamadas de

metadados, tais informao podem variar de acordo com o pacote e distribuio, e


podem conter:

Um resumo;

Uma lista de arquivos contidos no pacote;

Uma descrio;

A verso do software contido, bem como o nmero da verso do pacote;


Quando, onde e por quem foi compilado;
Para qual arquitetura foi compilado;

Somas de verificao dos arquivos contidos no pacote (checksum);


A licena do software contido;

Outros pacotes que ele necessita para funcionar corretamente (dependncias);


etc.

Alguns

metadados

so

armazenados

localmente,

atualizados

periodicamente, para que o sistema possua informaes atualizadas sobre os pacotes


instalados e disponveis.

Cada distribuio chama os metadados de nomes diferentes, alguns sero

citados ao longo desde artigo.

04. Dependncias do pacote


Durante a instalao de algum pacote, podemos encontrar algum que

dependa de outro pacote, esta dependncia pode ser de uma ferramenta, biblioteca,

etc. Para que a execuo sejam bem sucedidas temos que resolver primeiramente a
dependncia. Exemplificando, o pacote A necessita que os pacotes B, C e D sejam
instalados em ordem para funcionar corretamente.

Alguns aspectos importantes com relao as dependncias de pacote:

Dependncias de pacote so transitivas. Isto significa que: se o pacote A

necessita do pacote B, e o pacote B necessita do pacote C, necessariamente


o pacote A tambm necessita do pacote de C. Sendo este fato o porqu de, s

vezes, se ter um monte de pacotes a instalar, embora se deseje apenas um

aplicativo.

Dependncias em bibliotecas (tipicamente pacotes que comeam com "lib" em

seus nomes) so muito comuns e praticamente todos os aplicativos individuais


dependem de um conjunto de pacotes de bibliotecas.

Os pacotes e as dependncias do pacote so aspectos muito importantes nas

distribuies GBU/Linux, pois fornecem uma maneira modular para criar e gerir um
sistema operacional e seus aplicativos

tambm uma maneira muito eficiente de manter um sistema estvel e

seguro. Assim, quando uma falha de segurana, exploit ou bug afeta uma biblioteca
usada por um ou vrios aplicativos, atualizar um pacote singular atualizar o sistema
para todos aplicativos.

Como exemplo, o pacote openssl contm bibliotecas de criptografia que so

usadas por muitas aplicaes e outras bibliotecas (por exemplo, para a criptografia
SSL). Quando uma nova do openssl est disponvel, todas as aplicaes que o usam
se beneficiaro dela apenas pela atualizao de um nico.
05. Repositrios de pacotes
Os repositrios so colees de pacotes tipicamente armazenados em um

servidor remoto, mas que tambm podem residir localmente em um HD, CD-ROM,

DVD e outras mdias de armazenamento. O importante saber que os repositrios


armazenam dados sobre pacotes em um formato especfico, dependendo do
gerenciador de pacotes.

Gerenciadores de pacotes utilizam os repositrios para instalar softwares no

sistema. O gerenciador consulta uma lista dos repositrios em um arquivo do


sistema. Cada distribuio mantem seus prprios repositrios on-line e seus arquivos

esto em diretrios distintos dentro do sistema, tais listas podem ser modificadas de
acordo com a distribuio que est sendo usando.

O gerenciador de pacotes, o formato dos pacotes e o repositrio compem

um sistema de gerenciamento de pacotes.

Encontramos dois tipos de repositrios:

Repositrios de pacotes oficiais, que incluem os pacotes testados e suportados

pela distribuio, que so mantidos pelos mantenedores da distribuio.

Repositrios adicionais (ou no oficiais) de pacotes administrados por terceiro.

Os quais fornecem vrios pacotes adicionais, alguns dos quais esto mais
atualizados, embora tenham sido minimamente testados, ou que no podem

ser distribudos juntamente com a destruio oficial por vrias razes dentre
elas fundamentao legal.

05.1. Entendo o arquivo de repositrio


Em um sistema Debian voc pode ver a lista de repositrios abrindo o arquivo

/etc/apt/sources.list, a seguir um exemplo do que podemos encontraremos:


# Pacotes Gerais

deb http://ftp.br.debian.org/debian/ testing main contrib non-free


# Pacotes com atualizaes de segurana

deb http://security.debian.org/ lenny/updates main contrib


#Pacotes Multimdia

deb http://www.debian-multimedia.org testing main


As linhas iniciadas com # so comentrios e por isso so ignoradas pelo

gerenciador.

Cada linha de configurao corresponde a uma fonte diferente, possuindo

quatro partes cada, explicadas abaixo:

1 parte (deb) - significa que voc quer baixar pacotes de programas j

compilados. Caso queira baixar os fontes do programa, voc deve substituir


pela palavra deb-src

2 parte (endereo web) - da onde o usurio ir baixar os programas. A

primeira fonte tem o endereo onde ficam os pacotes gerais do Debian, a

segunda onde ficam os pacotes que sofreram pequenas, mas importantes,


atualizaes de segurana e a terceira fonte contm o endereo de programas

especficos de multimdia, como players, codecs, etc.

3 parte (testing) - significa de qual verso do Debian voc quer baixar os

pacotes. O Debian possui basicamente 4 verses: lenny (stable), squeeze

(testing), SID (unstable) e experimental. A verso stable possui uma equipe


muito maior de suporte e correes de erros, porm os programas dessa

verso so mais antigos. Os programas s entram para o repositrio dessa


verso depois de terem sido feitos vrios testes com ele e com suas
dependncias. A verso testing possui os programas que futuramente sero da

stable, mas o problema que as vezes demoram anos para que esses
programas sejam da stable. Muitas pessoas usam o Debian testing e no tm
problemas com ele. A maioria das distribuies baseadas no Debian usam

repositrios testing ou unstable, como: Kurumin, ubuntu, kubuntu, etc. A verso

unstable possui programas que acabaram de ser lanados, mas devem passar

por testes de estabilidade mnimos. J a verso experimental contm pacotes


que esto em fase de desenvolvimento, por exemplo programas em verso

beta.

4 parte (main contrib non-free) - significam de quais repositrios voc quer

fazer o download. O main significa pacotes totalmente livres, de acordo com a


definio Debian de Software Livre. O Contrib so pacotes que dependem de

pacotes da seo non-free e o non-free so pacotes que no so livres, como:


sun-java, rar, NVIDIA, ATI, etc

Cada distribuio tem sua lista de repositrio em diferentes diretrios.


06. Instalando programas a partir do cdigo fonte
Apesar de no ser o foco do artigo, falarei brevemente como instalar um

software a partir do cdigo fonte.

Para instalar programas a partir do cdigo fonte devemos ter um pacote de

cdigo fonte, normalmente nome_do_pacote.tar.gz ou nome_do_pacote.tar.bz2. O


.tar significa que dentro desse arquivo existem outros arquivos e sub-pastas e o .gz
ou .bz2 o tipo de compactao que foi usada na criao do pacote.

A compilao nada mais que transformar o cdigo fonte em um formato

executvel pelo sistema e sua instalao no depende da distribuio, ou seja, pode


ser instalada em qualquer distribuio.

Antes de iniciar a instalao, devemos descompactar nosso pacote, todo o

processo de instalao feita de maneira manual. Ento use os seguintes comandos:

tar -zxvf nome-do-arquivo.tar.gz desempacota o arquivo de extenso .tar.gz;

tar -jxvf nome-do-arquivo.tar.bz2 desempacota o arquivo de extenso

.tar.bz2

Saber a sintaxe do comando tar muito importante nesse processo, porem

est fora do escopo deste artigo. Aps descompactar o pacote, entre no diretrio
criado e execute os seguintes comandos:
$./configure
$make

# make install
O "./configure" executa um script (dentro da pasta do programa), que verifica

o sistema, em busca dos componentes de que precisa.

O "make" cuida do trabalho pesado, fazendo a compilao propriamente dita.

Ele se baseia nas informaes deixadas pelo configure para encontrar os


componentes de que precisa.

Finalmente, temos o "make install", que finalmente instala o programa,

copiando os arquivos gerados pelo make para as pastas corretas do sistema. Ao

contrrio dos dois primeiros comandos, ele precisa ser executado como root, j que
envolve fazer alteraes no sistema.

Caso encontrar algum erro ou dificuldade durante a instalao leia INSTALL

ou README que normalmente so encontrados dentro do diretrio do pacote


descompactado.

07. Gerenciadores de pacotes


Gerenciador de pacotes uma coleo de ferramentas que nos permite

instalar, atualizar, configurar e remover pacotes de um sistema operacional de forma


simplificada e consistente. tipicamente usado em sistemas operacionais GNU/Linux.

O gerenciador de pacotes, modernos, obtm os pacotes de software de

repositrios (servidores online, CDs, DVDs, etc), resolve as dependncias e os instala

no seu sistema. O gerenciador de pacotes tambm facilita a remoo de pacotes ou

a atualizao dos mesmos. O nmero de pacotes disponveis para instalao depende


de quais repositrios voc tem adicionado ao sistema.

Sistemas de gerenciamento de pacotes ficam incumbidos da tarefa de

organizar todos os pacotes instalados no sistema. Funes tpicas de um gerenciador


de pacotes so:

Verificar checksum para ter certeza de que o pacote foi baixado sem erros;

Atualizar um sistema e corrigir bugs (principalmente erros de segurana);

Verificar a assinatura digital para autenticar a origem dos pacotes;

Agrupar pacotes de acordo com suas funcionalidades para reduzir confuses;

Gerir dependncias para ter certeza de que um pacote s ser instalado se

todas as suas dependncias tambm estiverem, o que resolveu o problema


conhecido como Inferno de dependncias.

Nesta apresentao no demonstraremos gerenciadores de pacotes em

modo grfico, tendo em vista que so muito intuitivos.


7.1. PKGTOOL

Pkgtool o gerenciador de pacotes padro da distribuio Slackware. Foi

desenvolvido por Patrick J. Volkerding. Ele usado na instalao da distribuio e

tambm pelo usurio para a remoo, instalao e atualizao de pacotes. No h


verificao de dependncias, nem conexo automtica a repositrios.

Alm das funcionalidades bsicas necessrias para o gerenciamento de

pacotes, o PKGTool tambm prov uma srie de scripts de configurao que auxiliam
muito para a realizao de manutenes gerais do sistema.

O Slackware trabalha com um formato prprio de pacotes, o .tgz, que so

basicamente pacotes com os programas pr-compilados, junto com um script de

instalao que especifica os diretrios para onde os arquivos devem ser copiados,
providencia a criao dos arquivos de configurao necessrios, etc. um sistema
simples e funcional.

Para executar o utilitrio, deveremos carreg-lo na linha de comando:

#pkgtool

O PKGTool prov ao administrador uma interface texto com menus intuitivos

e fcil de utilizar, basta apenas utilizar as opes bsicas que se encontram em sua
interface, as quais seguem:

CURRENT Instala os pacotes pertencentes ao diretrio onde este utilitrio


invocado. Por exemplo, se entrarmos em nosso diretrio /mnt/pkg e utilizarmos esta
opo, todos os pacotes nativos do Slackware presentes neste diretrio sero

instalados automaticamente. muito til para a instalao de pacotes extras de forma


simples e automatizada, bastando apenas guard-los em um diretrio separado de
acordo com o perfil utilizado.

OTHER Possui as mesmas finalidades da opo Current, porm solicita ao

superusurio o endereo do diretrio que contm os pacotes desejados para a


instalao.

FLOPPY Realiza a instalao dos pacotes desejados que esto gravados em um

disquete. Basta selecionar a unidade que possui o disquete com os pacotes


desejados.

REMOVE Remove os pacotes desejados conforme uma seleo pr-realizada.


VIEW Exibe um conjunto de informaes referentes ao pacote selecionado, onde
ser mostrado uma listagem de pacotes instalados no sistema.

Da mesma forma que na instalao do Slackware, a opo Setup disponibiliza uma


srie de scripts para a configurao:

Fontconfig: Instalao e configurao das fontes do sistema.


Scrollkeeper: Atualizao da documentao do Gnome.

Install-kernel: Instalao de diferentes verses compiladas do kernel.


Make-bootdisk: Criao de discos de inicializao para o sistema.
Modem-device: Ajustes de device e permisses de hardmodems.
Hotplug: Auto-deteco de perifricos.

Liloconfig: Ajustes e configuraes do LILO.


Mouse: Configurao do mouse.

Netconfig: Configurao da rede.

Services: Habilita/desabilita os servios disponveis.


Setconsolefont: Ajustes das fontes do console.
Timeconfig: Fuso horrio.

Xwmnconfig: Seleo do ambiente grfico padro do sistema.


Ao baixar um pacote .tgz qualquer, voc tambm pode instal-lo diretamente usando
o comando:

# installpkg nome_do_pacote.tgz
Para remover um pacote, que voc saiba o nome, use o comando:
# removepkg nome_do_pacote.tgz

Para instalar uma verso mais recente de um pacote, atualizando a verso atualmente
instalada no sistema, o comando :
# upgradepkg nome_do_pacote

Os pacotes .tgz so muito menos comuns do que os pacotes .rpm, usados

pelo Red Hat, Mandrake, Conectiva e outras distribuies e que os pacotes .deb,
usados no Debian. Geralmente voc s encontrar pacotes .tgz no prprio FTP do
Slackware, nos CDs de instalao e em alguns sites de usurios. O mais comum
encontrar os programas disponibilizados apenas em cdigo fonte, os pacotes .tar.gz
e em formato .rpm.
7.2. DPKG
O dpkg uma ferramenta que a base do sistema de gerenciamento de

pacotes do sistema Debian e derivados. O dpkg uma ferramenta de baixo nvel, pois

no baixa pacotes de repositrios e no resolvem dependncias, diferentemente do


APT.

Mas este programa tem apenas uma viso parcial do universo Debian: ele

sabe o que est instalado no sistema, e o que for dado na linha de comando, mas no

sabe nada dos outros pacotes disponveis. Assim, ele vai falhar se uma dependncia
no for satisfeita.

Os principais comandos utilizados pelo gerenciador de pacotes dpkg so dpkg

e dpkg-reconfigure.

Sintaxe: dpkg [opes] nome_pacote


Opes:

-i :: instalao simples.

-P :: desinstala o pacote - todos os arquivos do pacote.

-r :: desinstala o pacote - exceto arquivos de configurao do pacote.


-l :: exibe os pacotes que esto instalados.

-p :: exibe informaes sobre o pacote instalado.


-s :: exibe o status do pacote.

-I :: exibe informaes sobre pacotes no instalados.


-S :: exibe o pacote do qual o arquivo faz parte.

-L :: exibe os arquivos que fazem parte de um pacote instalado.

-c :: exibe os arquivos que fazem parte de um pacote no instalado.


--help :: exibe uma mensagem de ajuda.

Exemplos:
Instala o pacote:

#dpkg -i pacote.deb
Desinstala o pacote, mas mantm os seus arquivos de configurao:
#dpkg -r pacote

Desinstala o pacote, inclusive os seus arquivos de configurao:


# dpkg -P pacote

Exibe informaes do pacote no instalado:


# dpkg -I pacote.deb

DPKG-RECONFIGURE

Reconfigura pacotes ".deb" aps terem sido instalados utilizando o debconf (sistema

de configurao de pacotes ".deb"). Esse comando far perguntas para reconfigurar


o pacote.

Sintaxe: dpkg-reconfigure opes nome_pacote


Opes:

-a ou --all :: reconfigura todos os pacotes


-h ou --help :: exibe ajuda

Exemplo:
Reconfigura o pacote ssh:
# dpkg-reconfigure ssh

7.3. Advanced Packaging Tool (APT)


APT (Advanced Packaging Tool) um conjunto de ferramentas usadas pelo

Debian e suas respectivas derivaes, para administrar os pacotes .deb de uma forma
automtica, de modo que quando um programa instalado o APT instala e/ou atualiza

tambm todos os pacotes que so necessrios para um funcionamento do programa.

Em linha de comando, usa-se "apt-get" para baixar pacotes, o que fez muitos

se referirem ao Apt como apt-get, o que no est correto.

O APT normalmente faz o download de arquivos .deb, que so instalados

usando o dpkg, mas o APT tambm funciona com RPM, pelo APT-RPM.

Os arquivos de configurao do APT esto em /etc/apt/sources.list.

Comandos

update - Adquire novas listas de pacotes;

install - Instala novos pacotes;

upgrade - Faz uma atualizao;


remove - Remove um pacote;

source - Faz o download de arquivos fonte;

build-dep - Configura as dependncias de compilao de pacotes fonte;


dist-upgrade - Atualiza a distribuio;

dselect-upgrade - Segue as selees do dselect;

clean - Apaga arquivos baixados para instalao;

autoclean - Apaga arquivos antigos baixados para instalao.

check - Verifica se no h dependncias quebradas;

purge - Remove pacotes e os arquivos dos pacotes de configurao.

Opes

-h Texto de ajuda;

-qq Sem sada, exceto para erros;

-q Sada logvel, exceto para erros;


-d Fazer o download apenas - NO instalar ou desempacotar arquivos;
-s No-agir. Executar simulao de ordenao;

-y Assumir Sim para todas as perguntas, no pedir confirmao;


-f Tenta continuar se a checagem de integridade falhar;

-m Tenta continuar se os arquivos no podem ser localizados;


-u Mostra uma lista de pacotes atualizados tambm;
-b Constri o pacote fonte depois de baix-lo;
-c=? Ler esse arquivo de configurao;

-o=? Definir uma opo de configurao arbitrria, ex -o dir::cache=/tmp;

7.4. RPM
RPM um acrnimo recursivo para Red Hat Packet Manager. O RPM um

formato e um gerenciador de pacotes. Nada mais do que uma tima ferramenta para
a gerncia de pacotes, podendo instalar, atualizar, remover, buscar e verificar status
de pacotes.

O RPM utiliza um banco de dados para guardar informaes sobre pacotes.

Este banco fica em /var/lib/rpm. Embora muitas funes de alto nvel tenham sido
implementadas diretamente no RPM desde o incio, como a verificao de

dependncias (mas no sua resoluo), parece que no to fcil adicionar ao padro

RPM os recursos encontrados em outros sistemas de gerenciamento de pacotes


modernos. Isso levou ao surgimento de novas ferramentas de gerenciamento de
pacotes, como o YUM, deixando as rotinas de baixo nvel por conta do RPM.

o formato de pacotes padro da LSB (a Linux Standard Base). Os pacotes

RPMs tm nomes que obedecem o formato <nome-do-pacote>-<verso>-

<release>.<plataforma>.rpm. Um exemplo tpico seria o pacote que permite conexes


ADSL via PPPoE: rp-pppoe-3.5-1.i386.rpm. Aqui, rp-pppoe o nome do pacote

propriamente dito, 3.5 a verso do software e 1 o nmero do release, i386 a


plataforma que, neste caso, indica que o software em questo compatvel com os
chips Intel 386 e posteriores.

A instalao de um pacote como este pode ser feita da seguinte forma:

rpm -ivh rp-pppoe-3.5-1.i386.rpm


O comando acima gerar uma sada semelhante a esta:
Preparing

1: rp-pppoe

########################### [100%]

########################### [100%]

O texto acima indica que o pacote foi instalado, sem erros ou problemas. Os
parmetros -ivh indicam, respectivamente INSTALL (para instalar o pacote),

VERBOSE (para mostrar as mensagens informativas sobre o que est sendo feito) e
HASH (responsvel pela exibio dos sinais de sustenido apresentados durante o
progresso da instalao).

Parmetros da Linha de Comando


Ao comando RPM podemos passar os seguintes parmetros:
-i :: Install: instala o pacote

-F :: Freshen: instala pacote apenas se uma verso prvia do pacote j existir


-v :: Verbose: mostra mensagens explicativas na tela
-U :: Upgrade: atualiza um pacote

-h :: Hash: mostra o progresso da instalao

-q :: Query: consulta se um pacote j est instalado

-qa :: Query-All: mostra todos os pacotes instalados

-qf <arquivo> :: Query-File: consulta o pacote do qual o arquivo faz parte


-qp <pacote> :: Query-Package: consulta um pacote no instalado

-qi <pacote> :: Query-Info: apresenta informaes detalhadas sobre o pacote


-ql <pacote> :: Query-List: lista os arquivos pertencentes ao pacote

-qd <pacote> :: Query-Doc: apresenta uma lista dos arquivos de documentao do


pacote, como READMEs, pginas de manual (MAN), etc.

-qc <pacote> :: Query-Config: apresenta uma lista dos arquivos de configurao.

-V :: Verify: compara arquivos instalados cominformaes disponveis na base de

dados RPM. Compara permisses, proprietrio, tamanho e outras informaes de


cada arquivo.

--force :: fora a instalao de um pacote, sobrescrevendo arquivos e pacotes de


mesmo nome j instalados

--nodeps :: No Dependencies: no verifica se h dependncias de arquivos antes de


instalar um pacote.

-e :: Erase: remove um pacote instalado

--nobuild :: No Building: no instala o pacote em questo; apenas realiza uma


verificao e reporta eventuais conflitos.

7.5. Yellow Dog Updater Modified (YUM)


Nascido do Yellow Dog Updater (YUP), o YUM o gerenciador de pacotes

dos sistemas baseados no Red Hat, e usa pacotes RPM. Ele se tornou o gerenciador

de pacotes padro do Red Hat Enterprise Linux 5. A modularidade um dos principais


recursos do YUM. Novos recursos podem ser adicionados ao YUM por meio de
plugins e do pacote yum-utils.

H quem critique, afirmando que o YUM no uma ferramenta

suficientemente integrada, e que o desempenho e a maturidade dos mdulos varia. O


fato que sua ampla adoo atesta a boa qualidade desse sistema de gerenciamento
de pacotes. H tempos a Red Hat oferece um servio de assinatura, a RHN (Red Hat

Networks), que fornece atualizaes e patches . A assinatura um servio importante

para o plano de negcios da Red Hat, e por isso ela no dedicou muito tempo ao
desenvolvimento de um servio de gerenciamento de pacotes para no assinantes.
Assim, o YUM foi desenvolvido por terceiros, antes de ser adotado pela Red Hat. O

RPM o gerenciador de pacotes tradicional da Red Hat, sucedido pelo up2date e


agora substitudo pelo YUM.

um gerenciador de pacotes de arquivos similar ao APT que lida

automaticamente com dependncias computando-as e resolvendo o que deve ser


feito para trat-las.

O Yum faz o download do pacote especificado de algum repositrio. Possui

um simples arquivo de configurao. Faz um clculo eficaz das dependncias.

Como o yum sabe de onde fazer download? O ponto de partida o diretrio

/etc/yum.repos.d/, que normalmente contm vrios arquivos repo. Esse o local


padro para repositrios, mas outros locais podem ser especificados no arquivo de
configurao do YUM, que normalmente o /etc/yum.conf.

O comando Yum possui vrias sintaxes diferentes que iram te ajudar a

manipular seus pacotes de software. Vamos conhecer algumas destas sintaxes:


yum install nome_do_pacote

Instalar um pacote. Durante a instalao podem ser pedidas confirmaes se voc

desejar realizar a instalao do pacote dependente. Assim, voc ter que apertar a

tecla y de seu teclado seguido de Enter para que a instalao continue. Se voc
desejar pode adicionar um -y ao final do comando, informando assim ao yum que

est de acordo com toda a instalao a ser realizada. Mas cuidado, s faa isso se
voc tiver certeza do pacote a ser instalado.
# yum remove nome_do_pacote

Este comando remove o pacote desejado.


# yum update

Atravs deste comando uma lista de todas as atualizaes possveis serem realizadas
ser exibida a voc e sugere as instalao. Caso deseje voc pode automaticamente
o comando autorizado todas as instalaes disponveis, incluindo a -y Ex: yum
update y.

# yum check-update

Ser feita uma verificao se existe alguma atualizao disponvel para instalao.
# yum list

Atravs deste comando voc poder obter vrias informaes sobre o pacote
disponvel. Ele possui alguns parmetros adicionais que so:

# yum list available : lista todos os pacotes que podem ser instalados;
# yum list updates: lista todos os pacotes que podem ser atualizados;

# yum list installed: lista todos os pacotes que esto instalados em seu sistema;

# yum list extras: Lista todos os pacotes instalados no seu sistema que no esto
disponveis nos repositrios listados pelo YUM no arquivo de configurao;

# yum list obsoletes: lista os pacotes instalados no sistema que esto obsoletos em
algum repositrio do YUM.

# yum search PALAVRA_CHAVE

Atravs do search voc pode localizar um pacote instalado em seu sistema utilizando
uma palavra chave. O Yum ir localizar e listar para voc todos os pacotes que

possuam a palavra chave na descrio, sumrio, nome do pacote ou em qualquer


outro campo de informao da lista de pacotes RPM dos repositrios instalados em
seu sistema. Este recurso muito utilizado para poder localizar, pacotes onde nem
sempre o nome o mesmo do que voc deseja. Exemplo do Search
# yum search am

Ir listas todos os pacotes que comeam com am como o amsn.


# yum info NOME_DO_PACOTE

Este usado para listar todas as informaes disponveis no pacote desejado.


# yum deplist NOME_DO_PACOTE

Este comando usado para produzir uma lista de todas as dependncias e quais
pacotes necessrios dependentes de um determinado pacote.
# yum repolist

Este comando mostra uma lista de repositrios configurados em seu sistema. Por
padro listado todos os pacotes ATIVOS. Digite yum repolist all para listar os
pacotes ATIVADOS e DESATIVADOS.
#yum --help

Menu de ajuda do Yum que ir te trazer informaes primordiais para sua utilizao.
Plugins para Yum

Yum-Presto: Acelera o processamento e download dos pacote, fazendo o download


da diferena entre o pacote novo e o pacote antigo. Para instala-lo, execute:
yum install yum-presto

Fastest Mirror Plugin: Atravs deste plugin, ser buscado o espelho mais rpido para
o download do pacote em questo. Para instal-lo, execute:
yum install yum-fastestmirror

Security Plugin: Pesquisa e instala atualizaes referente a segurana. til para


servidores em modo de produo, evitando possveis problemas de segurana. Para
instal-lo, execute:

yum install yum-security


Para aplicar, digite:

yum --security update


Allowdowngrade: Por padro, o Yum apenas realizar upgrade dos pacotes existentes
no sistema. Mas atravs deste plugin voc poder realizar downgrade, retornar o seu
pacote a uma verso anterior. Para instal-lo, execute:
yum install yum-allowdowngrade
Para aplicar, digite:

yum update --allow-downgrade

Voc pode desativar este plugin, alterando a opo ativada no arquivo:


vi /etc/yum/pluginconf.d/allowdowngrade.conf

Download Order: Atravs deste plugin, todos os pacotes a serem baixados sero

feitos de forma decrescente de tamanho, ou seja, dos maiores para os menores. Para
instala-lo, execute:

yum install yum-plugin-download-order


LangPack: Plugin que faz com que o Yum identifique o idioma configurado no sistema
no momento e realize o download dos pacotes no mesmo idioma do sistema. Para
instala-lo, execute:

yum install yum-langpacks

7.6. PACMAN
PACkage MANager um software gerenciador de pacotes criado por Judd

Vinet para o Arch Linux. O objetivo do pacman tornar possvel o fcil gerenciamento
de pacotes tanto dos repositrios oficiais quanto do AUR*.

O pacman mantm o sistema atualizado sincronizando todos os pacotes com

aqueles que esto atualmente nos servidores. Teoricamente, basta um simples


comando para atualizar todos os pacotes (e consequentemente todo o sistema) para
a ltima verso disponvel.

O programa foi escrito em C e usa o formato .pkg.tar.xz para os pacotes. A

sua configurao de repositrios feita editando-se o /etc/pacman.conf. Os principais


comandos so:

Instalar pacote:

# pacman -S nome_do_pacote
Remover programas:

# pacman -R nome_do_pacote
Fazer o upgrade dos pacotes anteriormente instalados:
# pacman -F nome_do_pacote

Atualizar o Sistema (Upgrade System):


# pacman -Syyuu

Baixe um pacote sem instal-lo:


# pacman -Sw

Instale um pacote de 'local' que no de um repositrio remoto (por exemplo, o pacote


a partir do AUR):

#pacman -U /local de destino/package_name-version.pkg.tar.xz


Pacman pode procurar por pacotes no banco de dados, ele busca tanto em nomes e
descries dos pacotes:

#pacman -Ss string1 string2


Para procurar os pacotes j instalados:
#pacman -Qs string1 string2

Para exibir informaes abrangentes sobre um determinado pacote:


#pacman -Si pacote_nome

Para obter uma lista dos arquivos instalados por um pacote:


#pacman -Ql pacote_nome

Para listar uma rvore de dependncias de um pacote:


#pactree pacote_nome

*AUR (Arch User Repository) um repositrio comunitrio e no oficial do Arch Linux


para usurios. Ele contm apenas "arquivos de descrio" (chamados PKGBUILDS)
que permitem compilar pacotes a partir de seu cdigo fonte e instal-los
posteriormente com o pacman.

Muitos pacotes novos no Arch Linux comeam no AUR. Usurios podem votar contra
ou a favor dos pacotes, para s ento depois de se tornarem populares o suficiente
serem movidos para o repositrio oficial da comunidade.
7.7. SMART
SMART um gerenciador de pacotes universal. A proposta do SMART

interessante, poder trabalhar com todas as distribuies e todos os tipos de pacotes


binrios, independente da extenso (DEB, RPM etc). O Smart trabalha diferente de

outros instaladores. Ao invs de usar um repositrio adicionado, por meio de um


documento, um acesso rede (chamado "canal"), ele encontra o repositrio onde
esto os pacotes RPM, e os localiza.

O Smart foi criado pelo brasileiro Gustavo Niemeyer em Maio de 2004, sendo

um software livre e distribudo pelo licena GPL. Alguns comandos do SMART:


$ smart --gui (abre o Smart com uma til interface grfica)

# smart update (atualiza a base de dados)

# smart update && smart upgrade smart -y (atualiza a base de dados e o prprio smart)
$ smart search nome do pacote (procura pelo pacote)
# smart install -y nome do pacote (instala o pacote)

$ smart channel --show (mostra os canais do Smart)


Uma caracterstica interessante do Smart, poder baixar e instalar

automaticamente um pacote que esteja em um repositrio da Internet. Voc no


precisaria nem baix-lo previamente. Para isso, seria simples executar um comando
do tipo abaixo:

# smart install --y http://www.aquitopacote.com/diretrio do pacote/ nome do


pacote.rpm
8. ALIEN
uma ferramenta permite converte formatos de pacotes ".rpm", ".deb", ".tgz"

e ".slp". Este comando deve ser utilizado com muito cuidado, pois nem todos os
pacotes podem ser convertidos do seu formato original para outro. Os formatos

suportados pelo alien so: RPM (Red Hat), DEB (Debian), TGZ (Slackware), PKG
(Solaris) e SLP (Stampede Linux).

Sintaxe: alien opes nome_pacote

Opes:

--to-tgz ou -t :: converte o pacote para o formato ".tgz".

--to-deb ou -d :: converte o pacote para o formato".deb".

--to-rpm ou -r :: converte o pacote para o formato".rpm".

Exemplo:

Converte um pacote RPM para DEB:


# alien -d nome_pacote.rpm
09. Fonte
https://pt.opensuse.org/Gerenciamento_de_pacotes

http://www.vivaolinux.com.br/dica/O-gerenciador-de-pacotes-dpkg

http://www.vivaolinux.com.br/artigo/O-gerenciador-de-pacotes-RPM

http://www.vivaolinux.com.br/artigo/Instalando-programas-no-Linux-Completo-e-total
http://www.hardware.com.br/dicas/gerenciamento-pacotes.html
http://novatec.com.br/livros/pacotes/capitulo8575220896.pdf

http://www.vivaolinux.com.br/artigo/Instalando-pacotes-.tar.gz-e-.tar.bz2

http://www.vivaolinux.com.br/dica/Comando-para-manipulacao-de-pacotes-PKGTool
https://pt.wikipedia.org/wiki/Advanced_Packaging_Tool

http://www.vivaolinux.com.br/dica/O-gerenciador-de-pacotes-dpkg
https://pt.wikipedia.org/wiki/Dpkg

http://www.alexandresmcampos.adm.br/informatica/linux/rpm.htm
https://pt.wikipedia.org/wiki/RPM_(Linux)

http://hgidc.com.br/blog/conhecendo-o-gerenciador-de-pacotes-yum/
https://pt.wikipedia.org/wiki/Yellowdog_Updater,_Modified

http://www.ibm.com/developerworks/br/linux/library/l-lpic1-v3-102-5/

http://www.vivaolinux.com.br/artigo/Utilizando-o-alien-para-a-conversao-de-pacotes
https://labix.org/smart

http://www.vivaolinux.com.br/artigo/SMART-Package-Manager?pagina=4

http://www.vivaolinux.com.br/artigo/openSUSE-As-varias-formas-de-atualizalo-e-deinstalar-pacotes?pagina=7

Você também pode gostar