Ubuntu do zero

0

É possível compilar todo e qualquer pacote (que vem com o Ubuntu Installation ISO) do zero e criar uma variante do Ubuntu feita em casa?

Onde eu posso ver, que parâmetros de configuração / patches o Ubuntu usou durante a criação?

No site do Ubuntu, para qualquer lançamento específico, uma lista de todos os pacotes pode ser vista. Mas não consigo encontrar as opções de compilação.

EDIT: Basicamente, eu gostaria de entender a funcionalidade Multilib / Multiarch do Ubuntu

(Se esta questão não for adequada, informe-me, irei apagar com segurança esta questão)

    
por SHW 23.07.2018 / 15:40

1 resposta

2

É possível; o nível de dificuldade dependerá de quão estrito você quer ser.

Pacotes no Ubuntu (como no Debian e todos os derivados do Debian) são totalmente descritos pelos arquivos no diretório debian no pacote fonte correspondente. Para reconstruir um pacote a partir do código-fonte, execute

sudo apt-get build-dep <package>
apt-get -b source <package>

(substituindo <package> pelo nome do pacote que você deseja reconstruir). Você encontrará as opções de compilação em debian/rules , com base nos padrões fornecidos por debhelper e dpkg-buildflags (portanto, debian/rules pode não conter muita coisa).

Se você quiser reconstruir a partir do zero, começando com um sistema mínimo e trabalhando sem qualquer instalação de um pacote binário, as coisas ficam mais complexas. Veja Como atualizar todos os pacotes Debian do código-fonte? para o básico (e razões pelas quais você provavelmente não quer para fazer isso).

Para entender o multiarch, não acho que seja necessário recriar o Ubuntu. Comece lendo a documentação multiarch ; então, se precisar de mais, você pode olhar para os patches que implementam o multiarch no GCC (todos eles têm "multiarch" em seu nome), no suporte para multiarch em debhelper , < href="https://salsa.debian.org/debian/debhelper/blob/master/lib/Debian/Debhelper/Buildsystem/autoconf.pm#L46"> por exemplo aqui para autoconf e na configuração ld.so em glibc .

    
por 23.07.2018 / 15:45