Prefácio

Eu sempre fui curioso em relação a coisas que me interessam, quando iniciei no mundo do GNU/Linux eu fiquei admirado com a facilidade de instalar programas. No inicio, rodando entre as distribuições Linux eu acabei que conhecendo vários tipos de gerenciadores de pacotes. Cada um com sua peculiaridade. Foi ai que me interessei em ler o código fonte de diversos gerenciadores e criar o meu próprio.

No inicio foi um pouco penoso, quebrei o meu sistema operacional várias vezes por erros bobos. Mas com o tempo depois de criar pelo menos 4 gerenciadores de pacotes, resolvi passar adiante o meu conhecimento para quem deseja criar o seu próprio.
Temos vários DIY e HOWTOS de como criar distribuições Linux, mas é incrivel que não temos absolutamente nenhum tutorial de como criar um gerenciador. Temos muitos bons hackers espalhos pelo mundo mais parece que nenhum quer mostrar o seu conhecimento.

Isso é triste, pois o que diferencia um distribuição da outra além dos softwares instalados e filosofia, é o gerenciador de pacotes.

O que você precisa?

Apesar deste livro abordar todo passo a passo de como construir seu próprio gerenciador de pacotes, você precisa ter uma noção de programação na linguagem shell script. Não existe melhor linguagem que não ser a do próprio UNIX* não é? Todas ferramentas normalmente já disponiveis no próprio S.O. Utilizaremos o sh, normalmente nas distribuições GNU/Linux é um link simbólico para o shell bash.

No entanto você pode usar este livro para fazer em outra linguagem de programação, bastando apenas seguir a lógica utilizada.

Uma nota importante é que criaremos um gerenciador de baixo nível! Ou seja, que não resolva dependências, já que este processo fica a cargo de um gerenciador de alto nível. Por enquanto não vamos abordar como se cria um gerenciador de alto nível ao estilo apt, yum/dnf e sim algo simples e parecido com pkgtools, dpkg, rpm.

Futuramente talvez abordamos sobre o assunto em novos níveis? Vamos ver, boa diversão!

Niveis

Para um melhor esclarecimento este livro é dividido por níveis, é de extrema importância você seguir os níveis para ter um gerenciador de pacotes bem elaborado e ter uma visão bem geral.

O que as pessoas estão comentando?