Distros que suportam a compilação a partir da fonte

21

Há muito tempo, eu costumava usar o FreeBSD com seu sistema de ports e depois o Gentoo para portage, a fim de instalar aplicativos via compilação a partir do código-fonte. Fiz isso para segmentar diretamente meu sistema.

Existem outras distros por aí que suportam essa configuração? Eu me lembro do Slackware tendo algo parecido.

mendicante
fonte
não está claro se a pergunta é sobre compilar todo o sistema a partir da fonte ou compilar pacotes individuais. Além disso, por distros, você quer dizer SOs baseados em Linux, todos os SOs gratuitos do tipo unix ou algo mais? Se a sua pergunta estiver restrita a liberar distribuições do tipo unix, então, por definição, todos eles podem instalar pacotes compilando-os a partir do código-fonte, mas comparativamente poucos (Gentoo e parentes mais obscuros, como SOs baseados no Sourcemage para Linux) e possivelmente alguns BSDs ( Eu não sou tão familiarizado com eles) quando se trata de compilar todo o sistema.
Faheem Mitha 21/03
Todas as distribuições Linux permitem compilar coisas, e você também pode criar seus próprios pacotes binários e instalá-los. Isso é essencialmente o que os empacotadores de distribuição fazem para criar novas versões da distribuição.
vonbrand

Respostas:

8

Não estou ciente de uma ferramenta completa "construir o sistema a partir da fonte" para o Debian, mas ela suporta isso de uma maneira completa apt-src, que fará o download e a compilação de um pacote, e depois instalará a compilação resultante.

Avery Payne
fonte
2
Há apt-build. packages.debian.org/search?keywords=apt-build
Daniel James
Ah, 'construa o sistema', não tenho certeza se ele fará todo o sistema para você.
Daniel James
Ambos são interessantes. Definitivamente vou experimentar. Obrigado!
precisa
8

Existem algumas distribuições que suportam pacotes binários e compilados - em teoria, o Gentoo suporta isso, mas não acho que existam muitos pacotes binários. O Arch também suporta a criação a partir da fonte, além dos pacotes binários, através do Arch Build System (ABS), embora eu não tenha nenhuma experiência com ele.

BR
fonte
+1 para Arch (embora você poderia dar um link para a página Arch, e talvez o AUR)
xenoterracide
Gentoo é minha distro favorita +1
Chris Huang-Leaver 10/10
Eu teria fornecido mais links, mas achei que era necessário ter mais de <x> rep (mais de 100 de qualquer maneira) para adicionar mais de 1 link, como foi o caso no StackOverflow. Vejo que não é o caso aqui, então os links foram adicionados!
BR
3

O Gentoo é sua melhor aposta aqui, o que há de errado em usá-lo para suas necessidades?

Greg KH
fonte
1
Eu sou apenas um nerd de distro e gosto de instalar e experimentar todos os diferentes. O Gentoo sempre foi meu favorito, mas com uma esposa, filhos e uma empresa para administrar o tempo que tenho gasto cuidando bem de uma instalação do Gentoo diminuiu bastante.
Mendicant
3

Você também pode experimentar o antigo e poderoso Linux From Scratch .

zugaldia
fonte
3

A maioria das distribuições Linux suporta a criação de pacotes a partir do código fonte. Você só precisa instalar os pacotes de desenvolvimento necessários a partir dos repositórios de distribuição, juntamente com quaisquer requisitos específicos do pacote que você está construindo. Se você deseja construir o sistema o mais próximo possível do zero, o Linux a partir do Scratch é o modelo, mas você tem uma responsabilidade maior por rastrear atualizações de segurança, patches, etc. O Arch Linux foi a distro que eu escolhi porque permite criar fonte e fornece as fontes para atualizações e patches, etc. O Arch tem realmente um bom suporte ao usuário e muita documentação quando se trata de resolver problemas de instalação e configuração.

onemística
fonte
2

Muitas distribuições baseadas em RPM têm pacotes RPM de origem. O Debian e o Ubuntu também têm debs de origem. Você está procurando outras distros que são basicamente construídas a partir do código-fonte ou apenas que possuem pacotes de código-fonte disponíveis. Se for o último, a resposta é "muitos / a maioria" deles.

kbyrd
fonte
2

Alguns me vêm à mente que eu pessoalmente usei: LFS (obviamente), SourceMage e alguém fez um com makefiles do LNX-BBC, não consigo encontrá-lo agora. Mas considero o Debian bom o suficiente para compilar pacotes, se necessário.

Você também deve verificar se a lista é fornecida pelas distros baseadas na fonte do DistroWatch :

elmarco
fonte
2

Se você quiser tentar algo um pouco diferente, há o GoboLinux e o NixOs .

Daniel James
fonte
Nixé cuidadoso em rastrear as dependências, em descrever cuidadosamente o processo de compilação como coisas puramente funcionais nas quais todas as dependências são explícitas. Isso deve dar ao usuário mais flexibilidade para combinar e ajustar as coisas com ousadia e ter alguma confiança de que o resultado não será incorreto.
imz - Ivan Zakharyaschev 20/03
2

No ALTLinux , é feito um grande esforço para manter arquivos de especificação precisos para pacotes e que a construção dos pacotes seja reproduzível com precisão no estado atual do repositório de pacotes. Está sendo verificado regularmente que todos os pacotes no repositório (chamados Sisyphus ) podem ser reconstruídos no momento atual - um relatório de status de teste de reconstrução , os logs do último teste de reconstrução, por pacote .

Para garantir a reprodutibilidade precisa das compilações de pacotes, são usadas ferramentas especiais para isolar o sistema de compilação do sistema host: hasher e as ferramentas de infraestrutura de compilação circundantes (por exemplo, Construindo pacotes com equipamento ).

Portanto, embora o ALTLinux não se dedique a instalar seu sistema construindo, pode-se ter certeza de que um pacote que ele pega do repositório será facilmente reconstruído em seu sistema host , sem problemas adicionais que não foram rastreados formalmente pelas especificações.

O ALTLinux dedica-se a ser a fonte de repositórios e distribuições de pacotes personalizados, que - pelo design do sistema de compilação do ALTLinux e ferramentas associadas - podem ser facilmente personalizados e reconstruídos independentemente do ALTLinux e com segurança (ou seja, isolados do seu sistema host). Portanto, se alguém quiser fazer sua própria distribuição personalizada, o ALTLinux Sisyphus pode ser a base dessa distribuição que será fácil para ele usar em seu trabalho: Introdução à criação de sua própria distribuição (em russo) .

imz - Ivan Zakharyaschev
fonte
Aqui estão mais alguns detalhes sobre as verificações de consistência de repo feitas pelo girar-builder do ALTLinux (a infraestrutura de build), se alguém estiver interessado (embora isso não seja diretamente sobre a construção em si, mas sobre a manutenção de um repo consistente dos pacotes resultantes) : stackoverflow.com/questions/1316716/… .
imz - Ivan Zakharyaschev 21/03
1

Eu compilei o Squid no Open SUSE, para que a distribuição o suporte.

James
fonte
1

Sim, você está certo, o slackware usa scripts de compilação para compilar pacotes. Existem muitos deles disponíveis em http://slackbuild.org/ . Também existem modelos para novos scripts e você sempre pode enviar seus scripts, se desejar.

phunehehe
fonte
1

Não sei exatamente o que você está falando , mas dê uma olhada no tinycore . É possível fazer todo o preço de criação de imagem a partir de fontes.

polemon
fonte
1

Uma pergunta muito semelhante foi feita recentemente.

Minha resposta para essa pergunta está aqui: Como construir todo o Debian

Teoricamente, todas as distros podem ser construídas a partir da fonte. Os detalhes podem diferir ligeiramente em cada distribuição, mas o método que listei é um sólido ponto de partida.

bahamat
fonte
0

Tem que ser Linux ou outros unixes estão ok?

Um sistema NetBSD completo pode ser construído a partir da fonte, usando seus sistema build.sh . O sistema no qual você constrói nem precisa ser o NetBSD, eu o fiz no Linux ou no OS X. A compilação pode produzir uma instalação .iso, para que você não precise brincar com os gerenciadores de inicialização para obter o novo sistema operacional. corrida.

Depois de criar e instalar o sistema base, você pode instalar facilmente outros pacotes da fonte usando o gerenciador de pacotes pkgsrc do NetBSD .

vasi
fonte