Michael Stapelberg, author of the popular i3wm window manager and previously active Debian developer (accompanied by about 170 packages), announcement that you are developing a Linux distribution "distri" (experimental) together with a package manager of the same name.
The project is positioned as a study of possible ways to increase the performance of package management systems y represents some new ideas for building distributions. The package manager code is written in Go and distributed under the BSD license.
A key feature of the package format proposed in this new Linux distribution is the delivery of the package in the form of SquashFS images, instead of compressed tar.xx files.
The use of SquashFS is similar to the already popular AppImage and Snap formats, With this, this new proposed package format allows a package to be "assembled" without the need to unpack, which saves disk space, allows quick changes and makes the contents of the package instantly available.
At the same time, distri packages, as in the classic "deb" format, they contain only individual components connected by dependencies with other packages (libraries are not duplicated in packages, but installed as dependencies).
In other words, distri is trying to combine the granular package structure of classic distributions, like Debian, with methods to deliver applications in the form of mounted containers.
Each package in distri is mounted in its directory in read-only mode (for example, a package with zsh is available as "/ro/zsh-amd64-5.6.2-3"), which positively affects security and protects against accidental or malicious changes.
Whereas to create a hierarchy of service directories, such as / usr / bin, /usr/share y / Usr / lib, a special FUSE module is used that combines the content of all installed SquashFS images into a single set (for example, the directory / ro / share provides access to shared subdirectories of all packages).
Packages on distri are basically free of drivers called during installation and different versions of the package can coexist with each other, making it possible to parallelize the installation of packages.
The proposed structure limits the performance of a package manager only to the bandwidth of the network through which the packages are downloaded. Direct installation or upgrade of a package is done at the lowest level and does not require duplication of content.
In distri conflicts are excluded during the installation of packagess, since each package is associated with its own directory and the system allows the existence of different versions of a package (the contents of the directory with a more recent revision of the package are connected to the summary directories).
While for the compilation side of the packages it is also very fast and does not require the installation of packages in a separate environment (in the build environment, representations of the necessary dependencies of the directory are created / ro).
Typical package management commands are supported, What "distri install" Y "distribution update«, And instead of the information commands, you can use the standard utility« ls »(for example, to see the installed packages, it is enough to list the directories in the« / ro »hierarchy, and for that to find out which package includes the file, see where the link in this file leads).
The proposed distribution prototype for the experiments includes approximately 1700 packages and ready-to-use installation images with the installer, suitable for installation as the primary operating system and for launch on QEMU, Docker, Google Cloud, and VirtualBox.
It also supports booting from an encrypted disk partition and a set of typical applications for creating a desktop based on the i3 window manager (Google Chrome is offered as a browser).
Comprehensive tools are provided for compiling the distribution, preparing and building packages, distributing packages over mirrors, and more.
If you want to consult the project you can do it in the following link.