Können Sie apt-get aus dem Quellcode erstellen? [geschlossen]

7

Ich habe ein Kernel-Image und ein leeres Dateisystem und muss es mit Programmen wie einem Desktop, einigen grundlegenden Dienstprogrammen und Software füllen.

Kann ich apt-getirgendwie installieren , um das für mich zu tun? Ich bin mir nicht sicher, wie genau das apt-getfunktioniert, daher kann es Probleme geben, wenn ich keine definierte Distribution habe oder so.

Wenn es möglich ist, woher würde man die Quelle bekommen, um es zu bauen?

Zephyr
quelle
1
Ja, Sie können die gesamte GPL-lizenzierte Software aus dem Quellcode erstellen, dies hat jedoch nichts mit dem Problem zu tun, das Sie in der Frage angeben. Siehe dazu Stephen Kitts Antwort. Woher Sie die Quelle beziehen, erhalten Sie aus dem Debian-Quellrepository.
Strg-Alt-Delor
Wenn Sie Ihr Betriebssystem aus dem Quellcode erstellen möchten, empfehle ich Gentoo. Es ist eine Distribution, die speziell für diese Art von Dingen entwickelt wurde.
Neil Davis

Antworten:

8

aptDer Quellcode von Salsa ist verfügbar , dient jedoch nicht als Grundlage für das Bootstrapping einer Distribution von der Quelle. Um eine Debian-basierte ( apt-basierte) Distribution zu booten, müssen Sie ein Tool wie verwenden debootstrap, das selbst eine ganze Reihe von Programmen zum Ausführen benötigt (obwohl Ihr Dateisystem nicht leer ist, sondern die grundlegenden Linux-Tools enthält, kann dies sein habe schon alles nötig). Normalerweise umfasst das Bootstrapping eines Systems auf diese Weise entweder die Verwendung eines anderen Debian-Systems oder die Ausführung eines Installationsprogramms.

Wenn Sie ein System aus dem Quellcode erstellen möchten und sich an Ihren Bootstraps hochziehen möchten, sollten Sie sich Linux von Grund auf neu ansehen .

Stephen Kitt
quelle
1
Sie sagten, Sie hätten ein leeres Dateisystem in Ihrer Frage ... Was genau haben Sie? Gibt es zum Beispiel eine /usr/bin/dpkgDatei und eine /var/lib/dpkg/statusDatei?
Stephen Kitt
2
Und um Ihre Frage zu beantworten: Es apthandelt sich nicht um ein generisches Installationstool, sondern um ein Paketverwaltungstool für Systeme, die .debPakete und das Debian-Repository-Layout verwenden. Sie könnten es verwenden, um eine andere Distribution zu erstellen, aber das wäre nichts für schwache Nerven!
Stephen Kitt
1
Woher hast du deine SD-Karte? Haben Sie ein Image heruntergeladen, um es darauf zu installieren?
Stephen Kitt
1
Meine psychischen Kräfte sagen mir, dass BOOT.bin ein montierbares Dateisystem-Image ist und dass Sie es möglicherweise mount -o loopirgendwo können.
Kevin
1
@Zephyr Ich empfehle, eine weitere Frage zu stellen, in der detailliert beschrieben wird, was Sie in Ihrem letzten Kommentar erwähnt haben. Beginnen Sie mit dem Problem, das Sie tatsächlich lösen möchten, und ersetzen Sie die Konfigurationsdatei in BOOT.bin.
Stephen Kitt
2

Sie können apt-getaus dem Quellcode erstellen . Die Quelle eines Debian-Pakets ist immer auf der Paketseite verfügbar (mit Ausnahme einiger Pakete in der non-freeKomponente). Dies wird Ihnen jedoch nicht helfen.

Verwenden Sie debootstrap, um Debian oder Ubuntu auf einem System zu installieren, auf dem ein Linux-Kernel ausgeführt wird . Debootstrap lädt ein Basissystem herunter und installiert es. Verwenden Sie für die Installation auf einem System, auf dem Debootstrap nicht ausgeführt wird, den Zwei-Phasen-Modus: Führen Sie zuerst debootstrapdie --foreignOption und die richtige --archOption auf einem Unix-System aus (nicht unbedingt Debian, Sie können Debootstrap auf jedem System mit grundlegenden Unix-Shell-Dienstprogrammen und ausführen wget) und kopieren Sie die resultierenden Dateien in das Stammverzeichnis des Zielsystems. Die busyboxBinärdatei von Debians Busybox-Static kann hilfreich sein, z. B. um die Dateien in ein Archiv und busybox tar -xzf -diese zu packen .

Gilles 'SO - hör auf böse zu sein'
quelle
1

Wie die anderen erwähnt haben, debootstrapoder cdebootstrapist der Weg zu gehen.

Wenn Sie es replizieren möchten, laden Sie alle Essential: yesin der Paketliste markierten Pakete sowie ihre direkten und indirekten Abhängigkeiten herunter und extrahieren die darin enthaltenen Dateien in das Zieldateisystem. Dies kann mit getan werden ar, tarund xz.

Dies ist genug von einem funktionierenden System, dass Sie einen Paketmanager ausführen können, obwohl die installierten Dateien noch nicht ordnungsgemäß registriert sind dpkg. Dazu müssen Sie dpkgim Zieldateisystem ausgeführt werden und es anweisen, dieselben Pakete zu installieren (damit die Dateien effektiv überschrieben werden).

Simon Richter
quelle