Выпуск дистрибутива GoboLinux 017 со своеобразной иерархией файловой системы
24 мая 2020 года
После трёх с половиной лет с момента прошлого выпуска сформирован релиз дистрибутива 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. Реализован инструмент создания скриншотов.
- Обновлены версии составных частей дистрибутива. Добавлены новые драйверы. Дистрибутив придерживается модели поставки только самых свежих версий библиотек в базовом окружении. При этом при помощи Runner, инструмента виртуализации ФС, пользователь может собрать и установить любую версию библиотеки, которая сможет сосуществовать с версией, предлагаемой в системе.
- Прекращена поддержка интерпретатора Python 2, который полностью удалён из дистрибутива, а все завязанные на него системные скрипты переделаны для работы с Python 3.
- Из состава также удалена библиотека GTK2 (поставляются только пакеты с GTK3).
- NCurses по умолчанию собран с поддержкой Unicode (libncursesw6.so), вариант libncurses.so, ограниченный ASCII, исключён из поставки.
- Звуковая подсистема переведена на использование PulseAudio.
- Графический инсталлятор переведён на Qt 5.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.