Was ist die kleinste Linux-Distribution nach Installationsgröße? [geschlossen]

13

Ich versuche, einige Experimente mit Linux durchzuführen und nach der kleinsten Distribution nach Installationsgröße zu suchen. (RAM, CPU ist eigentlich egal)

Qohelet
quelle
Möchten Sie nur vorgefertigte bootfähige Distributionen berücksichtigen, oder ist es in Ordnung, wenn Sie einen Kernel manuell kompilieren und den Inhalt des Dateisystems auswählen müssen?
Mark Plotnick
4
Möchten Sie nur aktuelle Distributionen? Diejenigen von vor 20 Jahren halten wahrscheinlich eher den Titel "kleinste"?
Mark Plotnick
1
@MarkPlotnick: Alles ist in Ordnung, solange es auf meiner Festplatte / meinem Laptop läuft. Wenn ich alles manuell machen muss, ist das Tutorial die Voraussetzung;) Wenn Sie mir den Link zu einer 20 Jahre alten Distribution geben können, die kleiner als 8 MB (ttylinux) ist, bin ich froh
Qohelet
Nach welchen Kriterien wählen Sie eine Distribution aus? Debian könnte relativ klein sein, aber es hängt ganz davon ab, wie viel "Zeug" Sie in die Installation einbinden. Willst du eine GUI? Möchten Sie Büro- / Produktivitätsanwendungen? Was ist mit einem Webserver oder einer Datenbank?
Roaima
@roaima: Wie gesagt: Die Installationsgröße sollte klein sein. Wirklich sehr, sehr klein. GUI wäre in der Tat nett, aber wenn es nötig wäre, hätte ich es erwähnt. (Wie der Rest)
Qohelet

Antworten:

26

Update: ttylinux wird momentan nicht gewartet! Wenn Sie noch interessiert sind, starten Sie hier oder hier .

Abhängig von Ihrer Plattform ist ttylinux vielleicht etwas für Sie:

Dieses kleinste ttylinux-System verfügt über ein 8-MB-Dateisystem und läuft auf i486-Computern mit einem Arbeitsspeicher von 28 MB. Es bietet jedoch eine vollständige Befehlszeilenumgebung und ist für den Internetzugang bereit.

Begonnen im Jahr 2001 und die neueste Version ist vom 05.03.2015, daher wird sie immer noch beibehalten.

FloHimself
quelle
Ich nehme an, wir haben einen Gewinner. Danke, ich glaube nicht, dass es möglich ist, viel tiefer zu gehen. Ich bin überrascht, danke für die Antwort
Qohelet
1
Der angegebene Link ist nicht mehr gültig. Ist diese Distribution noch irgendwo erhältlich? Dies scheint eine Möglichkeit zu sein, aber ich habe es nicht getestet. (Noch.)
LondonRob
5

Die kleine Distribution, die mir in den Sinn kommt, ist "Damn Small Linux" mit einer Größe von 50 MB ( Link , Wiki )

Aber es gibt auch noch eine kleinere Distribution "Tiny Core Linux" mit ca. 15 MB ( Link , Wiki )

kirill-a
quelle
1
DSL sieht eingestellt aus.
Dubu
4

Baumwurzel

Wenn Sie bereit sind, einen Kompilierungsprozess durchzuführen und Funktionen einzuschränken , können Sie Buildroot ausprobieren . Ich habe eine sehr einfache Linux-Installation erstellt (im Wesentlichen nur den Kernel, minimale Busybox-Dienstprogramme und eine zusätzliche Anwendung), die in ein 6-MB-ISO-Image passt.

Der Schlüssel hier ist, die Kernel- und Busybox-Konfiguration ("make linux-nconfig" und "make busybox-menuconfig") auf das Nötigste zu reduzieren und dann die XZ-Komprimierung auf der ursprünglichen Kernel-Ramdisk zu aktivieren. Durch das Reduzieren von allem, was ich nicht brauchte, konnte ich das gesamte ISO-Image auf ca. 9 MB reduzieren und nach dem Aktivieren der XZ-Komprimierung weiter auf 6 MB reduzieren.

Für den Kernel habe ich einfach jede Option im Konfigurationsmenü markiert und deaktiviert, es sei denn, ich habe sie speziell benötigt. Sie können alle Netzwerktreiber deaktivieren, für die Sie keinen entsprechenden Netzwerkadapter haben, und andere, weniger verbreitete Hardware deaktivieren, die Sie nicht für vorgesehen halten (serielle Karten mit mehreren Anschlüssen, Joysticks, Multifunktionsgeräte usw.) auf. Sie können auch viele Subsysteme auf den Basisimplementierungen belassen, anstatt komplexeren (z. B. ACPI-Basis-CPU-Leerlaufzustände anstelle von Intel / AMD-CPU-Leerlaufzuständen), was bedeuten kann, dass Sie die Energieeffizienz und die vollständige Hardwareunterstützung für die Kernelgröße in Kauf nehmen. Sie können auch ganze Subsysteme wie Ruhezustand / Energiesparmodus und Soundsystem deaktivieren, wenn Sie diese nicht benötigen.

Sie könnten dadurch viel Platz sparen. Zum Beispiel nehmen die KVM- (Virtualisierung) und btrfs-Unterstützungsmodule (die ich als ladbare Module außerhalb des Kernels platziert habe, falls ich sie in Zukunft benötige) selbst 1,1 MB ein. Wenn Sie diese Moduldateien löschen, können Sie bis zu 4,9 MB erreichen. Es könnte sein, dass sie weniger Platz in der Kernel-Binärdatei beanspruchen, aber dann habe ich gesehen, dass andere, kleinere Module eine Größe von 20-100 Kilobyte haben, sodass Ihre Laufleistung variieren kann.

Busybox

Busybox ist eine einzelne Binärdatei, die sich wie verschiedene Binärdateien verhält, je nachdem, wie sie über die Befehlszeile aufgerufen wird. Auf diese Weise können Sie Platz sparen. Es ist standardmäßig in Buildroot enthalten. Es kann sich wie ls, df, dd, cat, nc, bash und viele andere verhalten. Es sieht aus wie ein guter Ersatz für fast das gesamte * nix-Benutzerland, es sei denn, Sie benötigen bestimmte Dienstprogrammerweiterungen, die Sie nur in umfassenderen / traditionelleren Versionen (z. B. GNU, BSD) dieser Dienstprogramme finden können. Busybox ähnelt dem Kernel in Bezug auf das Deaktivieren von Funktionen. Deaktivieren Sie bis auf die benötigten Binärdateien (AKA-Applets) alles, und die Größe wird verringert. Dynamisch kompilierte Busybox-Binärdatei benötigt 512 KB in Buildroot und ungefähr 2,1 MB unter Ubuntu 14.10. Die größere Ubuntu-Version unterstützt wesentlich mehr als meine Buildroot-Version.

Extreme Methoden zum Verringern der Systemgröße

Sie können einige der folgenden Schritte ausführen, um die Größe weiter zu verringern. Erstellen Sie jedoch häufig Sicherungen des Arbeitsverzeichnisses, da Sie möglicherweise die Buildroot-Installation, an der Sie arbeiten, unterbrechen und möglicherweise einige der Binärdateien neu erstellen müssen.

  • Komprimieren Sie alle ausführbaren Dateien (einschließlich des Kernels) mit dem UPX-Kompressor. Da UPX speziell für die ausführbare Komprimierung entwickelt wurde, werden die daraus resultierenden ausführbaren Dateien viel kleiner. Stellen Sie jedoch sicher, dass Sie anschließend alle ausführbaren Dateien testen und dass sie ordnungsgemäß funktionieren.

  • Verwenden Sie eine andere libc. Ich benutze uClibc, aber ich habe gehört, dass musl und dietlib viel kleiner sind und kleinere ausführbare Dateien produzieren. Ich hatte diesmal einige Build-Probleme mit Musl, aber es könnte besser funktionieren.

  • Ersetzen Sie einige oder alle Userland-Dienstprogramme durch asmutils . Diese Dienstprogramme implementieren einige der gängigen * nix-Dienstprogramme in Pure Assembly (anstelle von C oder anderen Sprachen), wodurch theoretisch viel kompakterer Code möglich ist. Einige von ihnen funktionieren gut, andere können jedoch nur auf sehr einfache Weise verwendet werden (z. B. "mount" nimmt Parameter nur in einer bestimmten Reihenfolge entgegen und es sind keine FS-spezifischen Mount-Optionen implementiert). Auf der anderen Seite sind sie sehr klein (die meisten sind weniger als 1 KB kompiliert, die kleinsten etwa 139 Byte oder so). Sie können auswählen, welche Sie verwenden möchten, sodass Sie diese Ersetzungen nur für die Befehle verwenden können, bei denen Sie Speicherplatz sparen und funktionsreichere Versionen als Busybox-Applets beibehalten möchten.

Pabru
quelle
3

Tomsrtbt ist ein paar Megabyte; es passt auf eine Diskette.

Mark Plotnick
quelle
Das war vor 13 Jahren eine großartige Distribution. Zumindest ist dies die aktuellste Version von iBiblio. Oder kennen Sie neuere Versionen?
manatwork
Ich weiß nichts Neues.
Mark Plotnick
Gab es einen Versuch ... Schwierig, eine Version davon zu finden. Die meisten von ihnen befinden sich in toten Archiven. Einer funktioniert ( ibiblio.org/pub/Linux/system/recovery ) Aber die Tests, die ich durchgeführt habe, waren nicht erfolgreich. Schade, 2,9Mb sind super
Qohelet