Instalação de pacotes com o dpkg

Nesse post, vou falar sobre instalação de pacotes no modo texto no Debian. Qualquer distribuição Linux sempre irá ter um gerenciador de pacotes que irá adicionar, lista ou remover programas. Seria como o “Adicionar/Remover Programas” do Windows!

Um pacote debian, é identificado pela extensão .deb; dentro dele, são colocados os programas e todos arquivos necessários para a instalação do pacote.

O Debian utiliza o dpkg (debian package), o apt (advanced package tool) e o aptitude para gerenciamento de pacotes. Esse post vai abordar a instalação de pacotes utilizando o dpkg.

Após a instalação do sistema, sempre queremos saber o que foi instalado. Para isso, podemos usar o dpkg para listar os pacotes instalados:

# dpkg -l

O comando acima (-l de list), irá retornar uma lista de todos pacotes que estão instalados no sistema. Isso vai produzir uma saída bem extensa… então, se quisermos saber se apenas um determinado pacote está instalado, podemos filtrar a saída do comando.

Vamos supor que eu queira checar se o pacote eject está instalado:

# dpkg -l | grep eject
ii  eject        2.1.5+deb1-4    ejects CDs and operates …

Pela saída do comando, vemos que o pacote está instalado. Caso não retorne nada, o pacote não está instalado.

Para fazer instalação de um pacote, é necessário indicar ao dpkg a fonte, isto é, local onde estão os pacotes; esse local pode ser um diretório no disco ou ainda, o CD de de instalação da distro. No cd, o diretório que contém os pacotes é o pool/main.

Vamos ver um exemplo… imagine que o pacote bzip2 não esteja instalado. O primeiro passo, é montar o cd do debian:

# mount /media/cdrom

Como coloquei acima o diretório que contém todos os pacotes disponíveis no cd é o pool/main. Para acessá-lo, depois do cd montado:

# cd /media/cdrom/pool/main

O Debian trabalha de forma organizada, e no diretório main encontramos todos diretórios de pacotes em ordem alfabética. Para conferir, basta executar o comando ls no diretório:

# ls

Antes de instalar, vamos checar se o pacote bzip2 está instalado. Para isso:

# dpkg -l | grep bzip2

Como o comando não me retornou nada, significa que o pacote não está instalado. Com o cd montado, temos que entrar no diretório b para verificar se o pacote está disponível no cd que montei… caso contrário, terei que acessar o segundo cd da distro, até encontrar o pacote. Na atual versão Debian – Lenny, ao todo são 31 CD’s, sendo que, no primeiro você já encontra pacotes suficientes para uma instalação básica, incluindo parte gráfica.

Continuando:

# pwd
/media/cdrom/pool/main/

# cd b/

# ls
base-passwd bibtool binutils bonobo bzip2

# cd bzip2/

# ls
bzip2_1.0.5-1_i386.deb libbz2-1.0_1.5.0_i386.deb

Acima, o que fizemos foi entrar no diretório dos pacotes que começam com a letra b e depois no diretório do pacote que queremos instalar, no caso bzip2. Mas antes de instalar, vamos ler as informações do pacote:

# dpkg -I bzip2_1.0.5-1_i386.deb

Package: bzip2
Version: 1.0.5-1
Architecture: i386
Maintainer: Anibal Monsalve Salazar <anibal@debian.org>
Installed-Size: 124
Depends: libbz2-1.0 (= 1.0.5-1), libc6 (>= 2.7-1)
Suggests: bzip2-doc
Replaces: libbz2 (<< 0.9.5d-3)
Section: utils
Priority: optional
Homepage: http://www.bzip.org/
Description: high-quality block-sorting file compressor …

A opção -I é de info; muito útil para sabermos as dependências do pacote e também uma descrição sobre o mesmo. Na saída do comando acima, em vermelho, temos a linha de dependência.

Uma dependência nada mais é do que outro programa que já deveria estar instalado para que, no nosso caso, o bzip2 possa ser instalado. Sendo assim, temos que verificar se os pacotes que são dependências estão instalados:

# dpkg -l | grep libbz2-1.0
ii  libbz2-1.0        1.0.5-1     high-quality block-sorting …

# dpkg -l | grep libc6
ii  libc6         2.7-18     GNU C Library: Shared libraries

Vemos acima que os pacotes que o bzip2 depende, já estão instalados… mas caso não aparecessem ai, teria que instalar!

Depois de consultar as informações sobre o programa e suas possíveis dependências, vamos fazer a instalação. Para isso,utilizamos a opção -i (install):

# dpkg -i bzip2_1.0.5-1_i386.deb
Selecionando pacote previamente não selecionado bzip2.
(Lendo banco de dados … 20704 arquivos e diretórios atualmente instalados).
Desempacotando bzip2 (de bzip2_1.0.5-1_i386.deb) …
Configurando bzip2 (1.0.5-1) …
Processando gatilhos para man-db …

E para saber se está instalado corretamente:

# dpkg -l | grep bzip2
ii  bzip2                             1.0.5-1                high-quality block-sorting file compressor – utilities

Do que foi colocado acima, é o que geralmente usamos para gerenciar pacotes no dpkg; foi mostrado como instalar pacotes do CD-ROM, lembrando que você também pode baixar pacotes da Internet, e instalar utilizando o dpkg; basta informar o local onde está o pacote. Por exemplo, se você baixou um pacote no seu home, terá que informar ao dpkg onde está o pacote a ser instalado.

Além disso, existem outras opções do dpkg que são interessantes:

✔ Consultar a qual pacote pertence um determinado arquivo (binário, arquivo de configuração) do sistema:

# dpkg -S /etc/crontab

✔ Verificar o status de um pacote através do nome, conforme listagem do comando dpkg -l. Seria mais ou menos como a opção -I, ele mostra se está instalado ou não, descrição, dependências, etc:

# dpkg -s passwd

✔ Listar todos arquivos que fazem parte do programa instalado:

# dpkg -L base-files

✔ Listar todos arquivos existentes em um programa que ainda não foi instalado:

# dpkg -c eterm_0.9.5-1_i386.deb

OBS: Nessa opção, temos que passar como parâmetro o nome do pacote completo, com a extensão .deb, pois o mesmo ainda não foi instalado no sistema.

✔ Remover um pacote:

# dpkg -r laptop-detect

Caso esse pacote que está sendo removido for dependente de outro, é necessário primeiro remover a dependência. A opção -r também pode ser usada com o – -purge; essa opção também remove os arquivos de configuração do pacote, e dai não fica arquivo perdido no sistema.

# dpkg –purge eject

Bem, é isso ai… para conhecer mais sobre o dpkg:

# man dpkg

No próximo post, vou falar sobre instalação de pacotes usando o apt. Até la!😉

2 Responses to “Instalação de pacotes com o dpkg”


  1. 1 Werneck 17/11/2009 às 3:37 PM

    Salve a internet, o google e as pessoas que como vc, gostão de ensinarem oq sabem.
    Parabens e obrigado!

  2. 2 Elio 18/01/2010 às 10:19 PM

    Vc é o cara!!


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




Follow Nix on WordPress.com
junho 2009
S T Q Q S S D
« maio   jul »
1234567
891011121314
15161718192021
22232425262728
2930  

Flickr Photos

Morning Silence

Mais fotos

%d blogueiros gostam disto: