Entendendo o funcionamento do apt

Publicado: 18/07/2011 em Linux, Programação
Tags:, ,

O APT utiliza um arquivo que lista todos os ‘repositórios’ de onde os pacotes serão obtidos. Esse arquivo é o /etc/apt/sources.list. As entradas deste arquivo normalmente seguem o seguinte formato:

deb http://site/debian/ nome_distribuicao secao1 secao2 secao3
deb-src http://site/debian/ nome_distribuicao secao1 secao2 secao3

Exemplo:
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

O arquivo /etc/apt/sources.list pode conter vários tipos de linha. O APT sabe lidar com repositórios do tipo http, ftp, arquivo, ssh, etc.

Versões e seções das distribuições Debian

Os pacotes Debian estão distribuídos pelas seguintes versões:
Stable: este é o último lançamento oficial da distribuição Debian. Ela é estável e com software bem testado.
Testing: contém pacotes que devem se tornar parte da próxima distribuição estável (“stable”). A “testing” não recebe as atualizações rápidas de segurança.
Unstable: contém os pacotes mais recentes no Debian. Após o pacote atingir o critério de estabilidade e qualidade de empacotamento, ele será incluído na testing.

Observações:
(a) na prática, os pacotes das versões “Testing” e “Unstable” são atualizados dinamicamente (diferente dos pacotes do “Stable” que recebem apenas atualizações de segurança).
(b)  as atualizações de segurança ficam disponíveis apenas para a versão “etable”.

Já as seções do repositório Debian são as seguintes:
Main: seção do repositório do Debian que contém a distribuição oficial Debian.
Contrib: pacotes nesta seção são livremente licenciados pelo detentor do copyright mas dependem de outros pacotes que não são livres.
Non-Free: pacotes nesta seção têm algumas condições na licença que restringem o uso ou redistribuição do software.

Comandos:

  • # apt-get update
    Atualiza a lista de pacotes disponíveis.
  • # apt-get upgrade
    Atualiza as versões dos pacotes que já estão instalados na máquina.
  • $ apt-cache search palavra_chave
    Procura por um pacote através de uma palavra chave (exemplo: “apt-cache search mysql” irá exibir todos os pacotes que possuem aquela palavra chave em seu nome/descrição).
  • $apt-cache show palavra_chave
    Para obter maiores informações no repositório sobre um determinado pacote. No caso do pacote já estar instalado no sistema e haver uma versão mais nova, será informações sobre ambos os pacotes: a primeira a ser listada é a disponível e a segunda, a que já se encontra instalada. (exemplo: apt-cache show dia).
  • apt-cache showpkg palavra_chave
    Para uma informação mais geral sobre um determinado pacote. Exemplo: $ apt-get showpkg postgresql
  • $ apt-cache depends palavra_chave
    Para saber as dependências de um pacote. Exemplo: $ apt-cache depends postgresql
  • $ apt-cache policy postgresql
    Verifica as instalações realizadas do postgreSQL na máquina, bem como as versões disponíveis para instalaćão
  • # apt-get install nome_pacote
    Comando para instalar um pacote, após listagem de pacotes estar atualizada (apt-get update).
  • # apt-get install -d nome_pacote
    Comando para apenas baixar o pacote, mas não instalá-lo. O arquivo e suas dependências serão salvos em /var/cache/apt/archives/ . Exemplo: # apt-get install -d postgresql
  • # apt-get remove nome_pacote
    Remover um pacote (se o pacote a ser removido tem dependência de outros pacotes, e o APT irá remover todos os pacotes que dependam dele. Não existe nenhuma forma de remover um pacote usando o APT sem remover também os pacotes que dependem do pacote em questão).
  • $ find /var/cache/apt/ -name *.deb
    Listar os pacotes em cache mantidos pelo apt.  O apt faz um cache dos programas que foram instalados, o que pode ser útil quando for fazer várias instalações com os mesmos programas, sem ter que baixar tudo de novo. O apt mantém os programas mesmo que tenham sido desinstalados. Mas com o tempo, torna-se um espaço ocupado inutilmente no HD.   OBS: uma instalação manual de um pacote via comando “dpkg” não gera um cache do arquivo.
  • # apt-get clean
    Comando para limpar o cache do apt no computador local.
  • $ du -h /var/cache/apt/
    Para saber o tamanho ocupado pelo cache do apt.
  • $ dpkg -l
    Comando para listar todos os pacotes instalados.  Seja ele instalado via comando apt ou instalado manualmente via comando “dpkg”.
  • # dpkg  -i googleearth_5.1.3533.1731-0medibuntu1_i386.deb
    Faz a instalação manual do pacote googleearth, versão 5.1…..
  • # dpkg -P googleearth
    Faz a remoção completa (“purge”) do arquivo googleearth anteriormente instalado.

Em casos de erros
Caso uma instalação quebre durante o processo e o usuário fique impossibilitado de instalar e remover pacotes, usar os dois comandos a seguir:


# apt-get -f install
# dpkg --configure -a

Para saber mais:
1- APT HOWTO: Gerenciando pacotes no debian: Instalacao, atualização….
2- Debian Sources List Generator
3- Migrando para o Debian Squeeze

Anúncios

Deixe um comentário, pois isto é muito motivante para continuarmos este trabalho

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