Michael Stapelberg, Autor des i3wm-Kachelfenstermanagers und ehemaliger aktiver Debian-Entwickler (verwaltete etwa 170 Pakete),
Ein wesentliches Merkmal des Paketformats der Distribution besteht darin, dass das Paket in Form von SquashFS-Images und nicht in komprimierten TAR-Archiven bereitgestellt wird. Die Verwendung von SquashFS ermöglicht Ihnen, ähnlich wie bei den Formaten AppImage und Snap, das „Mounten“ eines Pakets, ohne es entpacken zu müssen. Das spart Speicherplatz, ermöglicht atomare Änderungen und macht den Inhalt des Pakets sofort zugänglich. Gleichzeitig enthalten Distri-Pakete, wie im klassischen „deb“-Format, nur einzelne Komponenten, die durch Abhängigkeiten mit anderen Paketen verknüpft sind (Bibliotheken werden nicht in Paketen dupliziert, sondern als Abhängigkeiten installiert). Mit anderen Worten: distri versucht, die granulare Paketstruktur klassischer Distributionen wie Debian mit den Methoden zur Bereitstellung von Anwendungen in Form von gemounteten Containern zu kombinieren.
Jedes Paket in distri wird im schreibgeschützten Modus in ein eigenes Verzeichnis gemountet (das Paket mit zsh ist beispielsweise als „/ro/zsh-amd64-5.6.2-3“ verfügbar), was sich positiv auf die Sicherheit auswirkt schützt vor versehentlichen oder böswilligen Änderungen. Um eine Hierarchie von Dienstverzeichnissen wie /usr/bin, /usr/share und /usr/lib zu bilden, wird ein spezielles FUSE-Modul verwendet, das die Inhalte aller installierten SquashFS-Images zu einem Ganzen zusammenfasst (zum Beispiel das / Das Verzeichnis „ro/share“ bietet Zugriff auf die Freigabe von Unterverzeichnissen aller Pakete.
Konflikte bei der Installation von Paketen werden beseitigt, da jedes Paket einem eigenen Verzeichnis zugeordnet ist und das System das Vorhandensein verschiedener Versionen eines Pakets zulässt (der Inhalt des Verzeichnisses mit einer neueren Revision des Pakets ist in den Union-Verzeichnissen enthalten). Das Erstellen von Paketen ist außerdem sehr schnell und erfordert keine Installation von Paketen in einer separaten Build-Umgebung (Darstellungen der erforderlichen Abhängigkeiten aus dem Verzeichnis /ro werden in der Build-Umgebung erstellt).
Das zum Experimentieren vorgeschlagene Prototypen-Verteilungskit umfasst ca
Source: opennet.ru