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

После трёх с половиной лет с момента прошлого выпуска сформирован релиз дистрибутива GoboLinux 017. В GoboLinux вместо традиционной для Unix-систем иерархии файлов используется стековая модель формирования дерева каталогов, при которой каждая программа устанавливается в отдельную директорию. Размер установочного образа 1.9 ГБ, который также может применяться для ознакомления с возможностями дистрибутива в Live-режиме.

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

Для совместимости со стандартом FHS (Filesystem Hierarchy Standard) исполняемые файлы, библиотеки, логи и файлы конфигурации распределены по привычным директориям /bin, /lib, /var/log и /etc через символические ссылки. При этом, данные каталоги по умолчанию не видны пользователю, благодаря применению специального модуля ядра, скрывающего данные каталоги (содержимое доступно только при прямом обращении к файлу). Для упрощения навигации по типам файлов в дистрибутиве присутствует каталог /System/Index, в котором символическими ссылками отмечены различные типы содержимого, например, список доступных исполняемых файлов представлен в подкаталоге /System/Index/bin, совместно используемых данных в /System/Index/share, а библиотек в /System/Index/lib (например, /System/Index/lib/libgtk.so ссылается на /Programs/GTK+/3.24/lib/libgtk-3.24.so).

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

Ключевые новшества GoboLinux 017:

  • Предложена упрощённая модель управления и разработки "рецептов", которая полностью интегрирована со сборочным инструментарием GoboLinux Compile. Дерево рецептов теперь представляет собой обычный Git-репозиторий, управляемый через GitHub и клонируемый внутрь системы в каталог /Data/Compile/Recipes, из которого рецепты напрямую используются в GoboLinux Compile.
  • Утилита ContributeRecipe, применяемая для создания пакета на основе файла рецепта и его загрузки на серверы GoboLinux.org для рецензированя, теперь создаёт ответвление от локального клона Git-репозитория, добавляет в него новый рецепт и отправляет pull-запрос в основное дерево рецептов на GitHub.
  • Продолжено усовершенствование минималистичного пользовательского окружения на основе мозаичного оконного менеджера Awesome. Через подключение надстроек на языке Lua на базе Awesome реализована работа с плавающими окнами, привычными для большинства пользователей, сохранив при этом все возможности для мозаичной компоновки. Внесены улучшения в виджеты для управления Wi-Fi, звуком, контроля за зарядом аккумулятора и яркостью экрана. Добавлен новый виджет для Bluetooth. Реализован инструмент создания скриншотов. 0_1590305680.png
  • Обновлены версии составных частей дистрибутива. Добавлены новые драйверы. Дистрибутив придерживается модели поставки только самых свежих версий библиотек в базовом окружении. При этом при помощи Runner, инструмента виртуализации ФС, пользователь может собрать и установить любую версию библиотеки, которая сможет сосуществовать с версией, предлагаемой в системе.
  • Прекращена поддержка интерпретатора Python 2, который полностью удалён из дистрибутива, а все завязанные на него системные скрипты переделаны для работы с Python 3.
  • Из состава также удалена библиотека GTK2 (поставляются только пакеты с GTK3).
  • NCurses по умолчанию собран с поддержкой Unicode ( libncursesw6.so), вариант libncurses.so, ограниченный ASCII, исключён из поставки.
  • Звуковая подсистема переведена на использование PulseAudio.
  • Графический инсталлятор переведён на Qt 5.



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

© OpenNet