Выпуск дистрибутива GoboLinux 017.01 с собственной иерархией файловой системы

Представлен релиз дистрибутива GoboLinux 017.01, в котором вместо традиционной для Unix-систем иерархии файлов используется стековая организация дерева каталогов, при которой каждая программа устанавливается в отдельный каталог. Размер установочного образа с поддержкой загрузки в Live-режиме — 2.3 ГБ (x86_64).

Корень файловой системы в GoboLinux содержит каталоги «/Programs», «/Users», «/System», «/Files», «/Mount» и «/Depot». Каталог каждого приложения включает все компоненты необходимые для его работы, без разделения настроек, данных, библиотек и исполняемых файлов, Минус подобного подхода — необходимость хранить данные (например, логи, файлы конфигурации) рядом с системными файлами. Плюсом является возможность параллельной установки разных версий одного приложения (например, /Programs/LibreOffice/25.2 и /Programs/LibreOffice/24.8) и упрощение поддержания системы (например, для удаления программы достаточно удалить связанный с ней каталог и почистить символические ссылки в /System/Index).

Для совместимости со стандартом FHS (Filesystem Hierarchy Standard) исполняемые файлы, библиотеки, логи и файлы конфигурации дополнительно распределены по каталогам «/bin», «/lib», «/var/log» и «/etc» через символические ссылки. При этом, указанные каталоги по умолчанию не видны пользователю, благодаря применению модуля ядра GoboHide. Указанный модуль скрывает некоторые каталоги при переборе содержимого, но допускает прямое обращение к файлам.

Для упрощения навигации по типам файлов в дистрибутиве присутствует каталог «/System/Index», в котором символическими ссылками отмечены различные типы содержимого, например, список доступных исполняемых файлов представлен в подкаталоге «/System/Index/bin», совместно используемых данных в «/System/Index/share», а библиотек в «/System/Index/lib» (например, /System/Index/lib/libgtk.so ссылается на /Programs/GTK/4.18/lib/libgtk-4.18.so).

Для сборки пакетов используются наработки проекта ALFS (Automated Linux from Scratch). Сценарии сборки оформляются в форме
«рецептов«, при запуске которых автоматически загружается код программы и требуемые зависимости. Для быстрой установки программ без пересборки предлагается два репозитория с уже собранными бинарными пакетами — официальный, поддерживаемый командой разработчиков дистрибутива, и неофициальный, формируемый сообществом пользователей. Установка дистрибутива производится с использованием инсталлятора, поддерживающего работу как в графическом, так и текстовом режиме.

Выпуск GoboLinux 017.01 ознаменовал возрождение проекта (прошлый выпуск был опубликован пять лет назад). Релиз также приурочен к 1 апреля, так как, вероятно, многие уже забыли о существовании данного проекта и шуткой стало то, что это не шутка и дистрибутив с собственной моделью разбивки каталогов действительно существует. Создатель GoboLinux и его основной разработчик передал управление новому сопровождающему, который продолжит развитие дистрибутива. Изменения в новой версии:

  • В Live-окружении задействован модуль UnionFS-Fuse.
  • Библиотека Ncurses заменена на NcursesW.
  • Добавлена поддержка карт памяти eMMC.
  • Программа Freshen, применяемая для проверки наличия обновлений, портирована на
    Python 3.
  • Ядро Linux обновлено до версии 6.12.16 (ранее использовалась ветка 5.6). Для сжатия ядра, прошивок
    initramfs и образа squashfs задействован алгоритм zstd.
  • Обновлены версии пакетов
    Dracut 103,
    E2FSProgs 1.47.1, Fuse 3.16.2,
    GCC 14.2.0 (был 9.2.0),
    GRUB 2.12,
    SQlite 3.36.0
    SquashFS-Tools4.6.1
    Util-Linux 2.40.2.

  • Обновлены загрузочные скрипты и компоненты собственной разработки (
    Compile, ConfigTools, Dit, EnhancedSkel, GoboNet, Scripts). Добавлены компоненты BuildLiveCD и Freshen.
  • Решены многие проблемы, отмеченные пользователями в прошлом выпуске.

Источник: http://www.opennet.ru/opennews/art.shtml?num=63000