Выпуск дистрибутива GoboLinux 016 с самобытной иерархией файловой системы
После двух с половиной лет с момента прошлого выпуска сформирован релиз дистрибутива GoboLinux 016. В GoboLinux вместо традиционной для Unix-систем иерархии файлов используется стековая модель формирования дерева каталогов, при которой каждая программа устанавливается в отдельную директорию. Размер установочного образа 950 Мб, который также может применяться для ознакомления с возможностями дистрибутива в Live-режиме.
Корень в GoboLinux состоит из директорий: /Programs, /Users, /System, /Files, /Mount и /Depot. Минусом объединения в одном каталоге всех компонентов приложения, без разделения настроек, данных, библиотек и исполняемых файлов, является необходимость хранить данные (например, логи, файлы конфигурации) рядом с системными файлами. Плюсом является возможность параллельной установки разных версий одного приложения (например, /Programs/LibreOffice/5.1.0.5 и /Programs/LibreOffice/5.2.0.3) и упрощение поддержания системы (например, для удаления программы достаточно удалить связанную с ней директорию и почистить символические ссылки в /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.22/lib/libgtk-3.22.so).
Для сборки пакетов используются наработки проекта ALFS (Automated Linux from Scratch). Сценарии сборки оформляются в форме рецептов, при запуске которого автоматически загружается код программы и требуемые зависимости. Для быстрой установки программ без пересборки предлагается два репозитория с уже собранными бинарными пакетами — официальный, поддерживаемый командой разработчиков дистрибутива, и неофициальный, формируемый сообществом пользователей. Установка дистрибутива производится с использованием инсталлятора, поддерживающего работу как в графическом, так и текстовом режиме.
Ключевые новшества GoboLinux 016:
- Представлен Runner, новый инструмент для виртуализации представления файловой системы, который динамически делает видимым для процесса только необходимые для работы части файловой системы, например, показывает файлы требуемых для работы зависимостей. Runner позволяет решить наблюдаемую в прошлых выпусках проблему с установкой разных версий зависимостей — при использовании Runner не важно какая версия зависимости привязана в /System/Index, так как для процесса динамически формируются собственная виртуальная иерархия /System/Index. Кроме того, Runner позволяет обеспечить работу бок о бок 32- и 64-разрядых приложений — для 32-разрядных программ, показывая 32-разрядные библиотеки и зависимости, а для 64-разрядных программ — 64-разрядные.
- Реализован GoboNet, собственный сетевой менеджер для управления беспроводными соединениями. GoboNet существенно проще Wicd и NetworkManager, но достаточен для решения задач, связанных с настройкой беспроводных соединений. GoboNet не использует DBus и не требует выполнения дополнительных фоновых процессов, а просто запускает dhcpcd, управляет паролями для Wi-Fi и предоставляет API для настройки и выполнения скриптов;
- Новое окружение рабочего стола на основе мозаичного оконного менеджера Awesome, поддерживающего применения Lua-скриптов для гибкой настройки под свои предпочтения. В GoboLinux по умолчанию предлагается набор настроек Awesome с реализаций обычного многооконного окружения, допускающего масштабирование и перекрытие окон. Для дистрибутива специально разработано несколько собственных виджетов: параметры Wi-Fi на основе GoboNet, отображения уровня заряда аккумулятора и управление громкостью (запускается терминал с AlsaMixer).
© OpenNet