Введение

Дистрибутив GoboLinux — это дистрибутив Linux, наиболее заметной особенностью которого является реорганизация традиционной файловой системы Linux. Вместо следования Стандарту иерархии файловой системы, как большинство Unix-подобных систем, каждая программа в системе GoboLinux имеет собственное дерево подкаталогов, где находятся все её файлы (включая настройки, специфичные для данной программы). Таким образом, программа "Foo" содержит все свои специфические файлы и библиотеки в /Programs/Foo, в соответствующей версии этой программы. Например, широко известный компилятор GCC версии 8.1.0 будет располагаться в каталоге /Programs/GCC/8.1.0. По мнению разработчиков GoboLinux, это обеспечивает более упорядоченную систему.

Обзор

Иерархия GoboLinux представляет собой радикальный отход от файловой системы, традиционно используемой большинством UNIX-подобных операционных систем, где файлы определенных типов хранятся вместе в общих стандартных подкаталогах (таких как /bin для исполняемых файлов и /etc для файлов конфигурации) и где менеджеры пакетов используются для отслеживания принадлежности файлов к программам. В GoboLinux файлы каждой программы помещаются в собственный выделенный подкаталог этой программы. Разработчики GoboLinux утверждают, что "файловая система является менеджером пакетов", и пакетная система GoboLinux использует саму файловую систему в качестве базы данных пакетов. Это, по их словам, создает более понятную и менее загроможденную структуру каталогов. GoboLinux использует символические ссылки и необязательный модуль ядра под названием GoboHide для достижения этого, сохраняя при этом полную совместимость с традиционной иерархией файловой системы Linux. Создатели GoboLinux заявляют, что их разработка включает в себя и другие "современные решения", такие как устранение некоторых различий между схожими традиционными каталогами (например, расположение исполняемых файлов /bin, /usr/bin и /usr/local/bin). Дизайнеры GoboLinux утверждают, что это приводит к меньшему количеству ошибок в скриптах оболочки по сравнению с другими дистрибутивами Linux. Это изменение, представленное GoboLinux в 2003 году, было принято другими дистрибутивами значительно позже: Fedora объединила /bin и /usr/bin в 2012 году, а Debian включила объединение /usr по умолчанию в 2018 году. GoboLinux также позволяет пользователю одновременно устанавливать и запускать различные версии одной и той же программы. Кроме того, утверждается, что индекс управления пакетами никогда не может рассинхронизироваться с файловой системой, поскольку ссылки на несуществующие файлы просто становятся недействительными и, следовательно, неактивными. Изменения файловой системы GoboLinux также позволяют внедрять другие инновации, такие как совершенно новая система загрузки, не использующая системы инициализации System V или BSD.

Иерархия файлов

На дизайн GoboLinux повлияли более ранние системы, такие как NeXTSTEP, AtheOS и BeOS, все из которых использовали оригинальные структуры файловых систем, сохраняя при этом значительную совместимость с Unix. В корне файловой системы GoboLinux находятся шесть каталогов: Программы, Пользователи, Система, Файлы и Монтирование.

Релизы

Выпуски были пронумерованы с использованием восьмеричной системы счисления. По словам авторов, эта схема была выбрана, потому что она сохраняет типичный ведущий ноль, который часто встречается в номерах версий свободного программного обеспечения (так как ведущий ноль часто указывает на то, что число представлено в восьмеричной системе), и является отсылкой к "гонке за номерами версий", наблюдавшейся среди дистрибутивов Linux примерно в 1999 году. При интерпретации как десятичных чисел, использование восьмеричных чисел приводит к предсказуемому "увеличению номера версии" каждые восемь выпусков. До версии 013 GoboLinux не выпускал "точечные релизы", чтобы избежать впечатления, что некоторые выпуски более стабильны, чем другие. Эта традиция была нарушена с версией 014.01 – обновлением 014, ориентированным на исправление ошибок.

Порты

GoboLinux в настоящее время разрабатывается для x86_64. Официально он создавался только для i686 до выпуска 015, но в какой-то момент была предпринята попытка неполного портирования на i386. Также были выполнены портирования для встраиваемых архитектур, таких как ARM и SuperH; эти задачи были реализованы с помощью Bootstrap – инструмента, разработанного специально для автоматизации процесса портирования.

Название и логотип

Гобо — вымышленный персонаж. О нём известно немного, так как никто из тех, кто его видел, не выжил, чтобы рассказать о нём. У него также есть вымышленный преданный слуга по имени Фибо. Маскотом GoboLinux является пингвин Кве, одетый в одежду Фибо.