Traduções: English - Français - Italiano - Português (Brasil) - Русский - Svenska - 简体中文


Repositórios do Debian

Um repositório Debian é um conjunto de binários ou de códigos-fonte do Debian organizados em uma árvore de diretórios especiais e com vários arquivos de infraestrutura adicionados - somas de verificação (checksums), índices, assinaturas, descrições, traduções. Computadores clientes podem se conectar ao repositório para baixar e instalar pacotes usando a ferramenta de gerenciamento de pacotes baseada em Apt.

Anatomia de um repositório

A descrição seguinte serve para a maioria das pessoas que navega pelo repositório usando um navegador web padrão e que se pergunta onde estão os arquivos e como tudo está organizado. Uma descrição mais precisa e técnica está em Formato (em inglês).

Um repositório Debian contém diversos lançamentos. Os lançamentos do Debian recebem nomes de personagens dos filmes "Toy Story" (wheezy, jessie, stretch, ...). Os codinomes têm apelidos, assim chamados versões (estável (stable), oldstable (estável anterior), teste (testing), instável (unstable)). Uma versão é dividida em diversos componentes. No Debian, eles são chamados main, contrib e non-free e indicam os termos de licenciamento do software que contêm. Um lançamento também tem pacotes para várias arquiteturas (amd64, i386, mips, powerpc, s390x, ...) como também pacotes independentes de arquiteturas e fontes.

O diretório raiz de um repositório tem um diretório dists que, por sua vez, tem um diretório para cada lançamento e versão, a última geralmente com links simbólicos para a primeira, mas o navegador não mostrará essa diferença. Cada subdiretório de lançamento contém um arquivo Release criptograficamente assinado e um diretório para cada componente. Dentro deles, há diretórios para as diferentes arquiteturas, nomeadas binary-<arq> e sources. E neles estão os arquivos Packages que são arquivos texto contendo os metadados dos pacotes. Hmm, então onde estão os pacotes reais?

Os pacotes mesmos estão abaixo de pool no diretório raiz do repositório. Abaixo de pool existem novamente diretórios para todos os componentes e neles estão diretórios nomeados 0, ..., 9, a, b, ... z, liba, ... , libz. E neles estão os diretórios com os nomes dos pacotes de software que contêm, esses diretórios finalmente contêm os pacotes reais, ou seja, os arquivos .deb. O nome não é necessariamente o nome do pacote mesmo, o pacote bsdutils, por exemplo, reside no diretório pool/main/u/util-linux, é o nome do código-fonte do qual o pacote foi gerado. Um único código-fonte do software original pode gerar diversos pacotes binários e todos eles acabarão no mesmo subdiretório abaixo de pool. Os diretórios adicionais de letra única são somente um truque para evitar muitas entradas em um único diretório, que é o que tradicionalmente resulta em problemas de desempenho em muitos sistemas.

Nos subdiretórios abaixo de pool geralmente existem diversas versões de um pacote e a informação sobre quais versões do Debian cada versão de pacote pertence reside somente nos índices. Deste modo, a mesma versão de um pacote pode pertencer a diversos lançamentos, mas utiliza o espaço de disco apenas uma vez, e isso sem precisar de links fortes (hardlinks) ou links simbólicos, e assim o espelhamento é muito simples e até mesmo funciona com sistema que não possuem esses conceitos.

Espelhos

O repositório de pacotes oficial do Debian é espelhado por todo o mundo.

Listas de pacotes

Para navegar pela lista de pacotes do Debian agrupados por categoria, você pode dar uma olhada em estável (stable), teste (testing), instável (unstable) e várias outras listas, ou procure na página principal de pacotes.

Trabalhando com repositórios

Trabalhar com repositórios pode significar duas coisas diferentes:

  1. Você pode usar um repositório com a família de programas apt (apt, apt-get, apt-cache, aptitude) para navegar e instalar os pacotes
  2. Você pode configurar um repositório você mesmo(a) e adicionar, remover ou substituir os pacotes nele.

Usando um repositório

Usar um repositório é muito simples: para o repositório oficial do Debian, abra /etc/apt/sources.list, insira a linha

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

e então execute

apt update

(Como usuário(a) root ou usando sudo, claro). Você também pode considerar a utilização de uma URL desse modo:

Para os repositórios oficiais do Debian, este procedimento simples é suficiente. O artigo SourcesList contém mais informações sobre as entradas em sources.list. Para outros repositórios, você pode seguir este excelente guia (em inglês) para reduzir o risco de alimentar seu sistema com um repositório negligentemente mantido.

Configurar e manter um repositório

Há muitas razões para que você mesmo(a) construa um repositório. Você pode ter alguns pacotes com modificações locais que deseje disponibilizar através do apt, você pode rodar um espelho local com esses pacotes que são usados por várias máquinas, economizando largura de banda, ou você constrói pacotes você mesmo(a) e quer testá-los antes de publicá-los.


CategoryPackageManagement