Distros, die das Kompilieren aus dem Quellcode unterstützen


21

Vor langer Zeit habe ich FreeBSD mit seinem Portierungssystem und danach Gentoo für die Portierung verwendet, um Anwendungen durch Kompilieren aus dem Quellcode zu installieren. Ich habe dies getan, um direkt auf mein System abzuzielen.

Gibt es noch andere Distributionen, die eine solche Konfiguration unterstützen? Ich scheine mich zu erinnern, dass Slackware etwas Ähnliches hatte.


Aus der Frage geht nicht hervor, ob es sich um das Kompilieren des gesamten Systems aus dem Quellcode oder um das Kompilieren einzelner Pakete handelt. Meinen Sie unter Distributionen auch Linux-basierte Betriebssysteme, alle kostenlosen Unix-ähnlichen Betriebssysteme oder etwas anderes? Wenn sich Ihre Frage auf freie Unix-ähnliche Distributionen beschränkt, können per Definition alle von ihnen Pakete installieren, indem sie aus dem Quellcode kompiliert werden, aber vergleichsweise wenige (Gentoo und obskure Verwandte wie Sourcemage für Linux-basierte Betriebssysteme) und möglicherweise einige der BSDs ( Ich kenne sie nicht so gut), wenn es darum geht, das ganze System zu kompilieren.
Faheem Mitha

Alle Linux-Distributionen ermöglichen das Kompilieren von Inhalten. Sie können auch eigene Binärpakete erstellen und diese installieren. Dies ist im Wesentlichen das, was die Distributionspaketierer tun, um neue Versionen der Distribution zu erstellen.
Vonbrand

Antworten:


8

Ich kenne kein vollständiges Tool zum Erstellen des Systems aus dem Quellcode für Debian, aber es unterstützt dies in einer Art apt-srcund Weise, indem es ein Paket herunterlädt und erstellt und dann den resultierenden Build installiert.



Oh, 'baue das System', ich bin mir nicht sicher, ob es das ganze System für dich erledigen wird.
Daniel James

Beides ist interessant. Ich werde das auf jeden Fall ausprobieren. Vielen Dank!
Bettler

8

Es gibt einige Distributionen, die sowohl Binärpakete als auch kompilierte Pakete unterstützen - theoretisch unterstützt Gentoo dies, aber ich denke nicht, dass es zu viele Binärpakete gibt. Arch unterstützt neben Binärpaketen auch das Erstellen aus dem Quellcode über das Arch Build System (ABS), obwohl ich keine Erfahrung damit habe.


+1 für Arch (obwohl Sie einen Link auf die Arch-Startseite und möglicherweise die AUR geben könnten)
Xenoterracide

Gentoo ist meine Lieblingsdistribution +1
Chris Huang-Leaver

Ich hätte mehr Links angegeben, aber ich dachte, ich müsste mehr als <x> rep (jedenfalls mehr als 100) haben, um mehr als einen Link hinzuzufügen, wie dies bei StackOverflow der Fall war. Ich sehe, dass es hier nicht der Fall ist, also werden Links hinzugefügt!
BR

3

Gentoo ist hier die beste Wahl. Was ist falsch daran, es für Ihre Bedürfnisse zu verwenden?


1
Ich bin nur ein Distributor und genieße es, all die verschiedenen zu installieren und auszuprobieren. Gentoo war schon immer mein Favorit, aber mit einer Frau, Kindern und einem Unternehmen, das das Laufen lässt, hat sich die Zeit, die ich für die gute Pflege einer Gentoo-Installation aufwenden muss, stark verringert.
Bettler


3

Die meisten Linux-Distributionen unterstützen das Erstellen von Paketen aus dem Quellcode. Sie müssen lediglich die erforderlichen Entwicklungspakete aus den Distributionsrepositorys zusammen mit den spezifischen Anforderungen des Pakets, das Sie erstellen, installieren. Wenn Sie das System so nah wie möglich an den Kratzern aufbauen möchten, ist Linux von Grund auf das Modell, aber Sie haben eine größere Verantwortung für die Verfolgung von Sicherheitsupdates, Patches usw. Arch Linux war die Distribution, die ich ausgewählt habe, weil es Ihnen ermöglicht, von zu bauen Quelle und bietet die Quellen für Updates und Patches usw. Arch bietet eine wirklich gute Benutzerunterstützung und eine Fülle von Dokumentationen, wenn es um die Behebung von Installations- und Konfigurationsproblemen geht.


2

Viele RPM-basierte Distributionen haben Quell-RPM-Pakete. Debian und Ubuntu haben auch Source Debs. Suchen Sie nach anderen Distributionen, die in erster Linie aus dem Quellcode erstellt wurden, oder nach Distributionen, für die Quellcode-Pakete verfügbar sind? In letzterem Fall lautet die Antwort "viele / die meisten".



2

Wenn Sie etwas anderes ausprobieren möchten, gibt es GoboLinux und NixOs .


NixEs wird sorgfältig darauf geachtet, die Abhängigkeiten zu verfolgen und den Erstellungsprozess als rein funktionale Dinge zu beschreiben, bei denen alle Abhängigkeiten explizit sind. Dies sollte dem Benutzer mehr Flexibilität beim Kombinieren und Optimieren von Dingen geben und ihm die Gewissheit geben, dass das Ergebnis nicht falsch sein wird.
imz - Ivan Zakharyaschev

2

Bei ALTLinux wird viel Mühe darauf verwendet, genaue Spezifikationsdateien für Pakete zu pflegen, und die Erstellung der Pakete ist im aktuellen Status des Paket-Repositorys genau reproduzierbar. Es wird regelmäßig überprüft, ob jedes Paket im Repository ( Sisyphus genannt ) zum aktuellen Zeitpunkt wiederherstellbar ist - ein Bericht über den Status des Neuerstellungstests , die Protokolle des letzten Neuerstellungstests pro Paket .

Um eine genaue Reproduzierbarkeit von Paketerstellungen zu gewährleisten , werden spezielle Tools zum Isolieren des Erstellungssystems vom Host-System verwendet: Hashers und die umgebenden Tools für die Erstellungsinfrastruktur (z. B. Erstellen von Paketen mit Ausrüstung ).

Obwohl ALTLinux nicht dafür vorgesehen ist, Ihr System durch Erstellen zu installieren, kann man sicher sein, dass ein Paket, das er aus dem Repository entnimmt, auf seinem Host-System problemlos wiederhergestellt werden kann , ohne dass zusätzliche Probleme auftreten, die von der Spezifikation formal nicht erfasst wurden.

ALTLinux ist die Quelle für benutzerdefinierte Paket-Repositorys und Distributionen, die durch das Design des ALTLinux-Build-Systems und der zugehörigen Tools einfach angepasst und unabhängig von ALTLinux und sicher (dh isoliert von Ihrem Host-System) neu erstellt werden können. Wenn man also seine eigene Distribution erstellen möchte, kann ALTLinux Sisyphus die Basis für diese Distribution sein, die für ihn einfach in seiner Arbeit zu verwenden ist: Einführung in die Erstellung einer eigenen Distribution (auf Russisch) .


Im Folgenden finden Sie einige Details zu den Repo-Konsistenzprüfungen, die von ALTLinux 'Girar-Builder (der Build-Infrastruktur) durchgeführt werden, wenn jemand Interesse hat (obwohl es nicht direkt um das Erstellen an sich geht, sondern um die Beibehaltung eines konsistenten Repos der resultierenden Pakete). : stackoverflow.com/questions/1316716/… .
imz - Ivan Zakharyaschev

1

Ich habe Squid in Open SUSE kompiliert, damit die Distribution es unterstützt.


1

Ja, Sie haben Recht, Slackware verwendet Build-Skripte, um Pakete zu kompilieren. Es gibt viele von ihnen auf http://slackbuild.org/ . Es gibt auch Vorlagen für neue Skripte und Sie können Ihre Skripte jederzeit einreichen, wenn Sie möchten.


1

Ich weiß nicht genau, worauf du hinaus willst, aber wirf einen Blick auf tinycore . Der gesamte Preis für die Imageerstellung kann aus Quellen stammen.


1

Eine sehr ähnliche Frage wurde kürzlich gestellt.

Meine Antwort auf diese Frage lautet hier: Wie man Debian vollständig erstellt

Theoretisch können alle Distributionen aus der Quelle gebaut werden. Die Details können bei jeder Distribution leicht abweichen, aber die dort aufgeführte Methode ist ein solider Ausgangspunkt.


0

Muss es Linux sein oder sind andere Unixe in Ordnung?

Ein komplettes NetBSD-System kann mit Hilfe des build.sh- Systems aus dem Quellcode erstellt werden. Das System, auf dem Sie aufbauen, muss nicht einmal NetBSD sein, ich habe es unter Linux oder OS X erstellt. Der Build kann eine .iso-Installation erzeugen, sodass Sie nicht mit Bootloadern herumspielen müssen, um das neue Betriebssystem zu erhalten Laufen.

Sobald Sie das Basissystem erstellt und installiert haben, können Sie problemlos andere Pakete aus dem Quellcode mithilfe des Paketmanagers pkgsrc von NetBSD installieren .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.