Home » Projeto » O Repositório

O Repositório

Criação e Geração das Imagens de Instalação do Muriqui Linux
Projeto Muriqui Linux – DoctumTec
Instituto Doctum de Educação e Tecnologia – Caratinga, abril de 2005
Coordenador Geral do Projeto, Ulisses Leitão – uli@doctum.com.br

Como foi criado o repositório do Muriqui Linux

Para gerar um repositório completo do Debian com base na plataforma i386, nas versões SARGE ou SID deve-se primeiramente acompanhar a evolução dos pacotes que sobem e que descem de árvores de versões, já que alguns pacotes ou versões podem estar comprometidos ou quebrados (http://www.debian.org/releases/).

A maneira mais sensata seria usar uma versão estável do sistema (Debian/SARGE) para que os pacotes não comprometam a arvore que será escolhida. Mas como o Debian demora muito a subir pacotes para a versão estável (1 ano a 6 meses de atraso), fica viável a criação de um repositório na árvore instável ou “unstable” (Debian/SID).

É importante analisar e testar uma data especifica e apartir dessa data, devemos congelar a versão dos pacotes para serem homologados. Caso a data homologada esteja com 25% ou mais de pacotes comprometidos (independente do problema) o aconselhável é rever uma nova data.

Para o primeiro congelamento da árvore utilizada na DoctumTec para a personalização do Muriqui Linux foram utilizados como teste dois laboratórios de ensino da FIC, Faculdades Integradas de Caratinga, com hardwares diferenciado, sendo um deles um laboratório de boot-remoto. Apartir desses testes foi escolhida a data do repositóio que seria congelada e mantida.
Para criar a árvore congelada foi necessário baixar de um Mirror Oficial do Debian cerca de 13GB em pacotes (apenas plataforma i386).

Veja um exemplo de um script que faz o download e cria a árvore.

Qual a finalidade e como gerar uma lista de pacotes packages.gz

Tarefas como atualizar a lista de pacotes ou até mesmo a sua árvore, incluindo novos pacotes personalizados, por exemplo, vão se tornar corriqueiras se você pretende manter um repositório de uma distribuição. A lista de packages.gz contêm todas s informações necessárias sobre os pacotes que compõem a sua árvore. Por isso, qualquer tipo de alteração dentro da árvore de pacotes deve se referenciar a essa lista. Para fazer essa atualização temos o script que deve ser rodado dentro do próprio repositório e acima das pastas de estrutura (dists, pool).

O que é a estrturua do repositório Muriqui Linux e como funciona?

Um repositório de base Debian tem seus pacotes indexados e sorteados pela primeira letra do nome. Essa divisão é feita pelo próprio Mirror e por uma série de scripts de definição e tipos de pacotes, essa não será uma parte importante para nosso desenvolvimento já que criaremos nossa própria arvore e estrutura de pacotes.

O nível mais alto do diretório de estrutura são as pastas:

  • pool: Pasta onde está a estrutura de pacotes
  • contrib: possui subpastas que vão de a até z.
    • a: Pacotes que os nomes começam com “a”
    • b: Pacotes que os nomes começam “b” e assim por diante;
  • main: Estrutura principal. totalmente livre. Também possui subpastas que vão de a até z
    • a: Pacotes que nome começa com “a” ...
  • non-free: Estrutura de pacotes que não são livres, mas são instaláveis no sistema. Da mesma forma que as anterios possui subpastas de a até z.
    • a: Pacotes que nome começa com “a” ...
  • struct: Estrutura e mini árvore criada pela DoctumTec para distribuir os pacotes do Muriqui Linux. Essa estrutura não é totalmente livre, já que ela possui pacotes non-free e contrib, além de pacotes extras como veremos a seguir.

Por que a estrtutura “struct” está inserida na árvore do Muriqui Linux?

A estrutura STRUCT foi criada para atualizar a árvore e adicionar alguns pacotes sem a necessidade de “sujar” a árvore do Debian. Se o pacote estiver dentro do diretório: /repositorio/debian/pool/struct os aplicativos que estão dentro dessa árvore serão reconhecidos, mas, para isso as versões dos pacotes devem ser mais novos que os pacotes da árvore original para que o script de geração de repositório atualize e reconheça os pacotes da árvore struct como os oficiais do repositório.

Dessa maneira é possível manter o repositório atualizado simplesmente colocando o pacote com versão nova na árvore. Nada impede que isso seja feito mas não é uma forma muito elegante de distribuir os pacotes.

A maneira de nomeação dos diretórios foi apenas para fácil localização dentro da árvore, dividindo de acordo com a necessidade de procura do pacote. Por exemplo:

  • acroread: pacotes do acroread
  • bootsplash: pacotes do bootsplash
  • drbl: pacotes do DRBL
  • doctumtec: pacotes diversos mantidos pela doctumtec
 

DoctumTec - Praça Cesário Alvim, 110 - 3º andar - Caratinga/MG
Telefone: +55-33-3322-4274 - decomtec@doctum.com.br