Próximo: , Anterior: , Acima: GNU Guix   [Conteúdo][Índice]


20 Inicializando

Bootstrapping em nosso contexto se refere a como a distribuição é construída “do nada”. Lembre-se de que o ambiente de construção de uma derivação não contém nada além de suas entradas declaradas (veja Introdução). Então há um problema óbvio de galinha e ovo: como o primeiro pacote é construído? Como o primeiro compilador é compilado?

É tentador pensar nessa questão como algo com que apenas hackers obstinados podem se importar. No entanto, embora a resposta a essa questão seja de natureza técnica, suas implicações são abrangentes. Como a distribuição é bootstrapped define até que ponto nós, como indivíduos e como um coletivo de usuários e hackers, podemos confiar no software que executamos. É uma preocupação central do ponto de vista da segurança e do ponto de vista da liberdade do usuário.

O sistema GNU é feito principalmente de código C, com libc em seu núcleo. O próprio sistema de construção GNU assume a disponibilidade de um Bourne shell e ferramentas de linha de comando fornecidas pelo GNU Coreutils, Awk, Findutils, ‘sed’ e ‘grep’. Além disso, programas de construção — programas que executam ./configure, make, etc. — são escritos em Guile Scheme (veja Derivações). Consequentemente, para ser capaz de construir qualquer coisa, do zero, Guix depende de binários pré-construídos de Guile, GCC, Binutils, libc e os outros pacotes mencionados acima — os binários bootstrap.

Esses binários bootstrap são “considerados garantidos”, embora também possamos recriá-los se necessário (veja Preparando para usar os binários do Bootstrap).


Próximo: Portando para uma nova plataforma, Anterior: Atualizações de segurança, Acima: GNU Guix   [Conteúdo][Índice]