The release of the GoboLinux distribution 017.01 has been presented, which uses a stacked directory tree organization instead of the traditional Unix file hierarchy, where each program is installed in a separate directory. The size of the installation image with Live mode support is 2.3 GB (x86_64).
The root of the file system in GoboLinux contains directories such as "/Programs", "/Users", "/System", "/Files", "/Mount", and "/Depot". Each application directory includes all its components, without distributing them across different system directories for settings, data, libraries, and executable files. The advantage of this approach is the ability to install different versions of the same application in parallel (for example, /Programs/LibreOffice/25.2 and /Programs/LibreOffice/24.8) and simplify system maintenance (for instance, to remove a program, it is enough to delete the associated directory and clean the symbolic links in /System/Index).
To facilitate navigation by file types, the distribution includes the directory "/System/Index", where various types of content are marked with symbolic links; for example, the list of available executable files is presented in the subdirectory "/System/Index/bin", shared data in "/System/Index/share", and libraries in "/System/Index/lib" (for instance, /System/Index/lib/libgtk.so refers to /Programs/GTK/4.18/lib/libgtk-4.18.so). Thus, all existing libraries are reflected in the directory "/System/Index/lib", and the linker uses it when searching for the libraries needed by applications.
To ensure compatibility with the Filesystem Hierarchy Standard (FHS), executable files, libraries, logs, and configuration files are additionally distributed across the directories "/bin", "/lib", "/var/log", and "/etc" through symbolic links (for example, /bin and /usr/bin are symbolic links to "/System/Index/bin", and the PATH environment variable points to "/System/Index/bin"). At the same time, these directories are not visible to the user by default, thanks to the GoboHide kernel module. This module hides certain directories during content enumeration but allows direct access to files.
The package building utilizes the developments from the ALFS (Automated Linux from Scratch) project. The build scripts are formatted as "recipes" that automatically download the program code and the required dependencies upon execution. For quick software installation without rebuilding, two repositories of already built binary packages are provided—one official, maintained by the distribution's development team, and one unofficial, formed by the user community. The installation of the distribution is carried out using an installer that supports both graphical and text modes.
The release of GoboLinux 017.01 marks the revival of the project (the last release was published five years ago). This release is also timed to April 1, as many have likely forgotten about the existence of this project, and the joke became that this is no joke—the distribution with its own directory structure model indeed exists. The creator of GoboLinux and its main developer has handed over management to a new maintainer who will continue the development of the distribution. Changes in the new version:
- The Live environment utilizes the UnionFS-Fuse module.
- The Ncurses library has been replaced with NcursesW.
- Support for eMMC memory cards has been added.
- The Freshen program, used to check for updates, has been ported to Python 3.
- The Linux kernel has been updated to version 6.12.16 (previously version 5.6 was used). The zstd algorithm has been utilized for compressing the kernel, initramfs firmware, and squashfs image.
- Updated package versions: Dracut 103, E2FSProgs 1.47.1, Fuse 3.16.2, GCC 14.2.0 (formerly 9.2.0), GRUB 2.12, SQlite 3.36.0, SquashFS-Tools 4.6.1, Util-Linux 2.40.2.
- Boot scripts and proprietary components (Compile, ConfigTools, Dit, EnhancedSkel, GoboNet, Scripts) have been updated. The BuildLiveCD and Freshen components have been added.
- Many issues reported by users in the previous release have been resolved.
Source: opennet.ru
