Release of the GoboLinux 017 distribution kit with a peculiar file system hierarchy

After three and a half years since the last release formed distribution release Gobo Linux 017. In GoboLinux, instead of the traditional Unix file hierarchy used stack model of directory tree formation, in which each program is installed in a separate directory. Size installation image 1.9 GB, which can also be used to get acquainted with the capabilities of the distribution in Live mode.

The root in GoboLinux consists of the /Programs, /Users, /System, /Files, /Mount, and /Depot directories. The disadvantage of combining all application components in one directory, without separating settings, data, libraries and executable files, is the need to store data (for example, logs, configuration files) next to system files. The advantage is the ability to install different versions of the same application in parallel (for example, /Programs/LibreOffice/6.4.4 and /Programs/LibreOffice/6.3.6) and simplify system maintenance (for example, to remove a program, just delete the directory associated with it and clean the symbolic links in /System/Index).

For compatibility with the FHS (Filesystem Hierarchy Standard) executable files, libraries, logs and configuration files are distributed in the usual /bin, /lib, /var/log and /etc directories via symbolic links. At the same time, these directories are not visible to the user by default, thanks to the use of a special kernel module, which hides these directories (the contents are only available when accessing the file directly). To facilitate file type navigation, the distribution includes a /System/Index directory, where symbolic links mark different types of content, for example, a list of available executable files is presented in the /System/Index/bin subdirectory, shared data in /System/Index/share , and libraries in /System/Index/lib (for example, /System/Index/lib/libgtk.so refers to /Programs/GTK+/3.24/lib/libgtk-3.24.so).

Project developments are used to build packages alfs (Automated Linux from Scratch). Build scripts are in the form
recipes, which, when launched, automatically loads the program code and required dependencies. For quick installation of programs without rebuilding, two repositories with already assembled binary packages are offered - the official one, supported by the distribution's development team, and the unofficial one, formed by the user community. The distribution kit is installed using an installer that supports both graphical and text modes.

Key innovations Gobo Linux 017:

  • A simplified model of management and development of "recipes", which is fully integrated with the GoboLinux Compile build tool. The recipe tree is now a regular Git repository, managed via GitHub and cloned internally to the /Data/Compile/Recipes directory, from which the recipes are directly used in the GoboLinux Compile.
  • The ContributeRecipe utility, which is used to package a recipe file and upload it to the GoboLinux.org servers for review, now forks a local clone of the Git repository, adds a new recipe to it, and sends a pull request to the main recipe tree on GitHub.
  • Continued improvements to the minimalistic user environment based on the tiled window manager Awesome. Through the inclusion of add-ons in the Lua language based on Awesome, the floating windows that are familiar to most users are implemented, while retaining all the possibilities for tiling.
    Improvements have been made to widgets for Wi-Fi control, sound, battery control and screen brightness. Added a new widget for Bluetooth. Implemented a tool for creating screenshots.

    Release of the GoboLinux 017 distribution kit with a peculiar file system hierarchy

  • Updated versions of the components of the distribution. Added new drivers. The distribution adheres to the model of supplying only the latest versions of the libraries in the base environment. At the same time, using Runner, a file system virtualization tool, the user can build and install any version of the library that can coexist with the version offered in the system.
  • Support for the Python 2 interpreter has been discontinued, which has been completely removed from the distribution, and all system scripts tied to it have been converted to work with Python 3.
  • The GTK2 library has also been removed from the package (only packages with GTK3 are supplied).
  • NCurses is built with Unicode support by default ( libncursesw6.so ), the ASCII-limited variant of libncurses.so is deprecated.
  • The sound subsystem has been switched to use PulseAudio.
  • The graphical installer has been translated to Qt 5.

Source: opennet.ru

Add a comment