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-get
irgendwie installieren , um das für mich zu tun? Ich bin mir nicht sicher, wie genau das apt-get
funktioniert, 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?
Antworten:
apt
Der 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 verwendendebootstrap
, 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 .
quelle
/usr/bin/dpkg
Datei und eine/var/lib/dpkg/status
Datei?apt
handelt sich nicht um ein generisches Installationstool, sondern um ein Paketverwaltungstool für Systeme, die.deb
Pakete 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!mount -o loop
irgendwo können.BOOT.bin
.Sie können
apt-get
aus dem Quellcode erstellen . Die Quelle eines Debian-Pakets ist immer auf der Paketseite verfügbar (mit Ausnahme einiger Pakete in dernon-free
Komponente). 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
debootstrap
die--foreign
Option und die richtige--arch
Option auf einem Unix-System aus (nicht unbedingt Debian, Sie können Debootstrap auf jedem System mit grundlegenden Unix-Shell-Dienstprogrammen und ausführenwget
) und kopieren Sie die resultierenden Dateien in das Stammverzeichnis des Zielsystems. Diebusybox
Binärdatei von Debians Busybox-Static kann hilfreich sein, z. B. um die Dateien in ein Archiv undbusybox tar -xzf -
diese zu packen .quelle
Wie die anderen erwähnt haben,
debootstrap
odercdebootstrap
ist der Weg zu gehen.Wenn Sie es replizieren möchten, laden Sie alle
Essential: yes
in 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 werdenar
,tar
undxz
.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 Siedpkg
im Zieldateisystem ausgeführt werden und es anweisen, dieselben Pakete zu installieren (damit die Dateien effektiv überschrieben werden).quelle