Michael Stapelberg, autor del administrador de ventanas en mosaico i3wm y ex desarrollador activo de Debian (mantuvo alrededor de 170 paquetes),
Una característica clave del formato del paquete de distribución es que el paquete se entrega en forma de imágenes de SquashFS, en lugar de archivos tar comprimidos. El uso de SquashFS, similar a los formatos AppImage y Snap, le permite "montar" un paquete sin tener que descomprimirlo, lo que ahorra espacio en el disco, permite cambios atómicos y hace que el contenido del paquete sea accesible instantáneamente. Al mismo tiempo, los paquetes distri, como en el formato clásico "deb", contienen solo componentes individuales vinculados por dependencias con otros paquetes (las bibliotecas no están duplicadas en los paquetes, sino que se instalan como dependencias). En otras palabras, distri intenta combinar la estructura granular de paquetes de distribuciones clásicas como Debian con los métodos de entrega de aplicaciones en forma de contenedores montados.
Cada paquete en distri se monta en su propio directorio en modo de solo lectura (por ejemplo, el paquete con zsh está disponible como “/ro/zsh-amd64-5.6.2-3”), lo que tiene un efecto positivo en la seguridad y protege contra cambios accidentales o maliciosos. Para formar una jerarquía de directorios de servicios, como /usr/bin, /usr/share y /usr/lib, se utiliza un módulo FUSE especial, que combina el contenido de todas las imágenes de SquashFS instaladas en un todo (por ejemplo, / El directorio ro/share proporciona acceso a subdirectorios compartidos de todos los paquetes).
Se eliminan los conflictos al instalar paquetes ya que cada paquete está asociado a su propio directorio y el sistema permite la presencia de diferentes versiones de un paquete (el contenido del directorio con una revisión más reciente del paquete se incluye en los directorios de unión). La compilación de paquetes también es muy rápida y no requiere instalar paquetes en un entorno de compilación separado (las representaciones de las dependencias necesarias del directorio /ro se crean en el entorno de compilación).
El kit de distribución prototipo propuesto para experimentación incluye aproximadamente
Fuente: opennet.ru