Gerenciamento de Pacotes Utilizando DEB

Diversas distribuições Linux disponibilizam os softwares disponíveis para instalação em “pacotes”, ou seja, arquivos com formato apropriado, e que possuem em seu interior todas as informações necessárias para a sua instalação. Nestas distribuições também iremos encontrar um software especial chamado de gerenciador de pacotes, através do qual podemos instalar, reinstalar, atualizar, remover, … pacotes. Os dois principais gerenciadores de pacotes existentes foram criados pelo Debian e RedHat. Atualmente boa parte das grandes distribuições se utilizam de um deles.

Pacotes no Debian - Conceitos

Um sistema Debian, ou nele baseado como o Ubuntu é totalmente constituído de pacotes. Até mesmo os componentes essenciais para o seu funcionamento estão incluídos em algum pacote. Na verdade, a grosso modo, todos os arquivos existentes no sistema, que não foram criado por um usuário ou aplicação (como os do /home) devem pertencer a um pacote instalado. Cada pacote disponível para instalação no Debian (ou Ubuntu) é disponibilizado em um arquivo chamado de Debian binary package format possuindo extensão .deb. Neste arquivo estão incluídos todos os executáveis, arquivos de configuração, scripts de instalação, …, necessários ao seu funcionamento. Dentre os gerenciadores de pacotes mais conhecidos existentes para o Debian vale destacar:

  • apt-get, aptitude: São as ferramentas mais conhecidas. baixam os pacotes diretamente da Internet, de acordo com as configurações que serão descritas a seguir.
  • synaptic: com funcionalidade semelhante ao apt-get, aptitude, sendo uma ferramenta gráfica;
  • dpkg: Possibilita a utilização direta dos arquivos .deb, sem depender da Internet.

Pacotes no Debian - Configurações

Para que ferramentas como apt-get possam funcionar corretamente é necessário informar de onde ela deve efetuar o download dos pacotes (ou das informações sobre eles). O arquivo de configuração mais importante, e utilizado por todas as ferramentas é o /etc/apt/sources.list cuja sintaxe é mostrada a seguir:

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

deb     http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
  ^                   ^                  ^           ^    
  |                   |                  |           |- Listas de pacotes   
  |                   |                  |- Nome da versão
  |                   |- URL para baixar os pacotes 
  |- deb para pacotes compilados, deb-src para código fonte

Um diretório muito importante é o /var/cache/apt/. Nele encontramos arquivos com extensão .bin com informações sobre todos os pacotes disponíveis para instalação. Já em /var/cache/apt/archives/ fica armazenada uma cópia de todos os pacotes baixados da internet pelas ferramentas que iremos descrever a seguir.

Pacotes no Debian - apt-get e aptitude

O comando apt-get é o principal e mais antigo modo de se gerenciar pacotes em um sistema Debian. O comando aptitude possui sintaxe e conjunto de funcionalidades semelhantes, sendo considerada uma ferramenta de mais alto nível. Dentre outras funcionalidades eles permitem:

  • Busca de pacotes;
  • Exibição de informações sobre pacotes;
  • Instalação de pacotes, com resolução automática de dependências;
  • Atualização das informações sobre a lista de pacotes disponíveis (ou instalados);
  • Atualização de pacotes já instalados;
  • Remoção de pacotes;
  • Atualização da distribuição (quando é lançada uma nova versão).

A sintaxe básica para todas as tarefas que podemos realizar com eles é:

apt-cache <opção> [nome-do-pacote]
apt-get <opção> [nome-do-pacote]

aptitude <opção> [nome-do-pacote]

Procurando pacotes

Com esta opção podemos buscar um pacote por seu nome

Sintaxes:
apt-cache search <nome-do-pacote>
aptitude search <nome-do-pacote>

Exemplos:

aluno@debian:~# apt-cache search ipcalc
aluno@debian:~# aptitude search ipcalc

Exibindo informações sobre pacotes

Com esta opção podemos exibir informações detalhadas sobre um pacote

Sintaxes:
apt-cache show <nome-do-pacote>
aptitude show <nome-do-pacote>

Exemplos:

aluno@debian:~# apt-cache show ipcalc
aluno@debian:~# aptitude show ipcalc

Instalando pacotes

Com esta opção podemos instalar um ou mais pacotes no sistema. Pré-requisitos são automaticamente detectados e instalados. Caso o pacote já esteja instalado e exista uma versão mais recente disponível, o mesmo será atualizado.

Sintaxes:
apt-get install <nome-do-pacote>
aptitude install <nome-do-pacote>

Exemplos:

aluno@debian:~# apt-get install ipcalc
aluno@debian:~# aptitude install ipcalc

Removendo pacotes

Com esta opção podemos remover um pacote previamente instalado. A opção remove preserva os arquivos de configuração. A opção purge apaga completamente todos rastros do pacote do sistema.

Sintaxes:
apt-get remove <nome-do-pacote>
apt-get purge <nome-do-pacote>
aptitude remove <nome-do-pacote>
aptitude purge <nome-do-pacote>

Exemplos:

aluno@debian:~# apt-get remove ipcalc
aluno@debian:~# aptitude purge ipcalc

Atualizando as informações sobre pacotes

Por meio desta opção atualizamos as informações sobre pacotes, bem como a listagem de todos os pacotes disponíveis para instalação. É importante manter a listagem de pacotes atualizados, principalmente em servidores.

Sintaxes:
apt-get update
aptitude update

Exemplos:

aluno@debian:~# apt-get update

Exemplos:

aluno@debian:~# aptitude update

Atualizando todos os pacotes

Por meio desta opção atualizamos, para a versão mais recente, todos os pacotes atualmente instalados no sistema. Esta é uma prática básica de segurança de grande importância, principalmente para servidores.

Sintaxes:
apt-get upgrade
aptitude upgrade

Exemplos:

aluno@debian:~# apt-get upgrade

Exemplos:

aluno@debian:~# aptitude upgrade

Atualizando para uma nova versão do sistema

Por meio deste procedimento podemos atualizar a versão de todo o sistema operacional instalado na máquina. Por ser um procedimento delicado deve-se ter um pouco de cautela na sua execução (criar backups de informações importantes, informar que os serviços poderão ficar indisponíveis etc). O primeiro passo é alterar o arquivo /etc/apt/sources.list informando o nome e URL da nova versão do sistema. Após isso, basta executar:

Com apt-get:

aluno@debian:~# apt-get update
aluno@debian:~# apt-get upgrade
aluno@debian:~# apt-get dist-upgrade

Com aptitude:

aluno@debian:~# aptitude update
aluno@debian:~# aptitude upgrade
aluno@debian:~# aptitude full-upgrade

Nem sempre 100% dos pacotes serão atualizados. Nestes casos é necessário proceder manualmente com a sua instalação (ou remoção). Para atualizar a versão do Sistema Operacional é sempre recomendado consultar a documentação da mesma.

Pacotes no Debian - dpkg

Os comandos apt-get e aptitude são bastante utilizados devido sua facilidade de baixar e instalar, de forma automática, pacotes disponibilizados em servidores na Internet. Contudo, quando queremos obter informações sobre pacotes já instalados, ou instalar um pacote a partir de um pen-drive, CD-ROM etc o software mais adequado é o dpkg. A seguir serão descritas algumas de suas principais funcionalidades.

Listando todos os pacotes instalados

Por meio desta opção podemos listar todos os pacotes atualmente instalados no sistema.

Sintaxe: dpkg -l

Exemplos:

aluno@debian:~# dpkg -l

Listando todos os arquivo de um pacote

Por meio desta opção podemos listar todos arquivos que fazem parte de um pacote instalado no sistema.

Sintaxe: dpkg -L <nome-do-pacote>

Exemplos:

aluno@debian:~# dpkg -L zip

Determinando a qual pacote pertence um arquivo

Por meio desta opção podemos determinar a qual pacote, atualmente instalado no sistema, um arquivo pertence.

Sintaxe: dpkg -S <nome-do-arquivo>

Exemplos:

aluno@debian:~# dpkg -S /bin/ls
aluno@debian:~# dpkg -S /usr/bin/rar

Instalando um pacote manualmente

Por meio desta opção podemos instalar um pacote diretamente a partir de um arquivo .deb existente em um disco, pen-drive, CD-ROM etc. Pré-requisitos não serão verificados automaticamente.

Sintaxe: dpkg -i <arquivo.deb>

Exemplos:

aluno@debian:~# dpkg -i google-chrome-stable_current_i386.deb
ensino/semestres/2012.1/mcs/material/instalacao_de_pacotes_deb.txt · Última modificação: 2012/05/24 10:10 (edição externa)