Außerdem darf die Tatsache nicht außer acht gelassen werden, das Aeon das BtrFS Dateisystem verwendet. Welches zusätzlich Platz spart, da es sich um ein sogenanntes Copy-on-Write Dateisystem handelt. Das bedeutet, das auf Festplattenspeicherblockebene nur dann ein Teil einer Datei neu abgelegt werden, wenn dieser sich von einer anderen unterscheidet.
Klassisches Beispiel wäre z.B. eine sogenannte ZIP-Bomb. Eine ZIP-Bomb ist ein speziell präpariertes ZIP Archiv, welches entpackt mehrere Petabytes an Festplattenspeicher belegen würde. Dabei bestehen die Daten aus Textdateien in denen bspw. nur der Buchstabe „0“ 100mal wiederholt wird.
Nehmen wir also an wir hätten eine 1KB große Textdatei, in der nur „0000000000…“ steht und kopieren diese 1000 mal, dann haben wir ca. 1MB an Textdateien, die alle nur „00000000…“ enthalten. Beim komprimieren in ein ZIP Archiv werden also alle Textdateien in ein 1KB großes Archiv geschrumpft. Mit dem vermerk, diese Datei gibt es 1000 mal.
Kopiert man nun das 1KB Archiv weitere 1000 mal, so bekommt man wieder ca. 1 MB an Dateimüll. Dieser komprimiert wäre wieder 1KB groß, mit dem Vermerk: „Diese Datei mit diesem Inhalt existiert 1000“. Im Umkerhschluß bedeutet das, dass die Textdatei die wir zu Beginn geschrieben haben nun insgesamt 10.000 mal in unserem Archiv vorliegt. Würde man nun also alles wieder in einzelne Textdateien extrahieren käme man auf ca. 10 MB an Textdateien, in denen „000000…“ drin steht.
Auf einem BtrFS Dateisystem wäre die reale Größe aller Textdateien aber nur einige wenige KBs groß. Nämlich genau die Menge an Speicherblöcken (klassischer weiße 4KB groß) die man braucht um den Inhalt einer dieser Dateien zu speichern. Die restlichen 9999 verweisen einfach dann auf die selben Blöcke auf der Festplatte.
Editiert man nun eine der Textdatei wird auf der Festplatte nur diese Änderung zu den anderen Dateien gespeichert, „Copy-on-write“. Sprich, erst indem Fall wo etwas geändert wird, wird es auf die Festplatte neu geschrieben. Und nur die Änderungen.
Das wiederum bedeutet dass alles was sich so an Redundanten Daten im laufe der Zeit ansammelt kaum ins Gewicht fällt.
Hat eine flatpak Runtime ähnliche Dateien wie eine bereits installierte, dann werden nur die Unterschiede auf der Festplatte gespeichert.
Installiert man nun einige Distroboxen, die ähnliche Bibliotheken haben. Dann werden nur die unterscheide gespeichert.
Hier ein kleines Beispiel: 1.2 GB an Textdateien vorher und nachher. Am freien Speicher sehen wir, dass mit der zipbomb 288,1 GB als frei angegeben sind und nach dem löschen gerade ein mal 0,1 GB also ca 100 MB an Speicher wirklich freigeben bzw. belegt wurde.
Für Systeme mit limitierten Speicherplatz ist das von Vorteil.
2 Kommentare. Hinterlasse eine Antwort
Wie sieht das den mit dem Nouveau Treiber unter dem System aus? Kann man Nouveau mittlerweile produktiv benutzen?
Danke für das Kommentar. Tatsächlich wäre die Antwort etwas länger gewesen und ich habe stattdessen einfach den Artikel erweitert 😀