Gerenciamento de pacotes no Debian

13 de jan de 2013 - Paulo Dias


Um pacote é basicamente um conjunto de binários pré-compilados, bibliotecas e arquivos de configuração, que juntos oferecem todas as informações necessárias para que o gerenciador de pacotes possa instalar, manter e remover um determinado programa no sistema operacional.

Um gerenciador de pacotes é um programa para instalar, manter e remover pacotes em uma distribuição Linux.

No Debian podemos utilizar, o dpkg, o apt e o aptitude para fazer o gerenciamento de pacotes. O dpkg é o programa base para gerenciamento de pacotes no Debian, mas ele não é capaz de baixar e resolver as dependências dos pacotes. Para resolver isso o Debian têm o apt e o aptitude.

Para poder gerenciar pacotes com o apt e o aptitude é necessário primeiro configurar o arquivo "/etc/apt/sources.list". Esse arquivo contém os locais de onde os pacotes serão baixados

segue um exemplo do conteúdo de um arquivo sources.list
deb http://ftp.debian.org/debian squeeze main contrib non-free
deb-src http://ftp.debian.org/debian squeeze main contrib non-free

Nesse link têm um exemplo completo:
http://debianmaniaco.blogspot.com.br/2011/02/souceslist-para-o-debian-60-squeeze.html

Uma vez que o arquivo sources.list esteja configurado corretamente precisamos rodar qualquer um dos seguintes comandos:


#com o apt
apt-get update

# ou com o aptitude 
aptitude update

Os comandos acima fazem uma copia local da lista de pacotes disponível no servidor remoto. Com essa lista local é possível verificar, de uma forma mais rápida e eficiente, se os pacotes existentes no sistema precisam ser atualizados.

Se acontecer algum erro de GPG veja esse artigo:
http://www.vivaolinux.com.br/topico/UbuntuBR/Pessoal-Me-ajudem

Com o arquivo sources.list configurado e a lista de pacotes atualizada podemos começar a gerenciar os pacotes do sistema.

Por exemplo, para instalar o editor de texto Geany podemos usar os comandos:


# com o apt
apt-get install geany

# ou com o aptitude
aptitude install geany

Com esse comando o Geany é instalado no sistema e uma copia do pacote é deixado no cache que fica em "/var/cache/apt/archives/". Depois de algum tempo esse cache pode ficar extremamente grande, para limpar esse cache podemos usar o comando:

apt-get clean

No caso do Geany o nome do pacote é igual ao nome do programa, mas nem sempre isso é verdade. Por exemplo, no caso do XFCE o nome do pacote a ser instalado é xfce4-session, para pesquisar por um pacote usamos os comandos:


# com o apt
apt-cache search xfce

# ou com o aptitude
aptitude search xfce

Para fazer pesquisas o apt é mais interessante, pois ele busca o argumento passado(xfce) no nome do pacote e na descrição, enquanto o aptitude busca apenas no nome do pacote.

Uma vez com o nome do pacote, podemos ver varias informações sobre ele com os comandos:


# com o apt
apt-cache show xfce

# ou com o aptitude
aptitude show xfce

Já para remover um pacote do sistema temos os comandos:


# com o apt
apt-get remove samba

# ou com o aptitude
aptitude remove samba

Nesse caso o Samba será removido, mas os arquivos de configuração do mesmo serão mantidos no sistema. Isso pode ser útil em alguns casos, mas também podemos remover o Samba completamente com os comandos:


# com o apt
apt-get autoremove --purge samba

# ou com o aptitude
aptitude purge samba

Além de instalar e remover pacotes, podemos atualizar os pacotes que já estão instalados através dos comandos:


# com o apt
apt-get upgrade

# ou com o aptitude
aptitude upgrade

Apesar de a principio o apt e o aptitude serem mais interessantes para instalar e remover programas, o dpkg também tem algumas opções bem interessantes, por exemplo é possível verificar os pacotes que estão instalados no sistema com o comando:


# simplesmente lista os pacotes instalados
dpkg --get-selections

# mostra uma listagem completa
dpkg -l 

# ou ainda para verificar um pacote especifico
dpkg -l geany

Obs. No caso da flag "-l", se as duas primeiras letras da linha que representa o pacote forem ii significa que o pacote está instalado.

Outra opção interessante do dpkg é verificar qual pacote foi responsável por instalar um comando, por exemplo:


# passando o caminho do comando
dpkg -S /bin/cat

# ou usando um sub-shell 
dpkg -S $( which cat )

Também podemos verificar onde estão todos os arquivos de instalação de um pacote:


dpkg -L geany

Ou ainda onde serão colocados todos os arquivos de um pacote após sua instalação:


dpkg -c geany

E para terminar segue os Easter Eggs do apt e do aptitude:


# no apt tente
apt-get moo

# no aptitude tente
aptitute -v moo
#ele é um pouco tímido, insista aumentando a quantidade de v's

Mais informações:
http://www.devin.com.br/dpkg/
http://www.devin.com.br/gerenciador-de-pacotes-apt/
http://www.youtube.com/watch?v=r3cMBO-aNk8
http://www.vivaolinux.com.br/artigo/Instalando-programas-no-Linux-Completo-e-total


Paulo Dias

Graduado no curso tecnólogo em análise e desenvolvimento de sistemas. Defensor do Software Livre e da democratização da informação. Possui as certificações Linux LPIC-1 e Java OCA. Atualmente exerce a função de coordenador técnico na área de telecomunicações.

Siga-me no Twitter


Tags: Linux