GoboLinux | это... Что такое GoboLinux? (original) (raw)

GoboLinux
GoboLinux.png GoboLinux
Семейство ОС Linux
Последняя версия 014.01 — 28 сентября 2008
Тип ядра Монолитное ядро (Linux)
Лицензия GNU General Public License
Состояние неактивное[1]
Веб-сайт http://gobolinux.org/

GoboLinux — это свободная операционная система семейства Linux, выделяющаяся отходом от принятых в этом семействе стандартов в пользу упрощения управления и использования системы. Ключевые решения — это изменённая иерархия файлов, способ загрузки системы и управление пакетами, отчасти схожее с решениями Gentoo.

Содержание

Общая информация

Файловая система в GoboLinux в корне меняет и упорядочивает исторически сложившуюся модель остальных Linux систем — здесь она является не только хранилищем файлов, но и своеобразной системой управления пакетами. Так, каждая программа, со всеми настройками, библиотеками и прочими файлами, хранится в своём отдельном каталоге. Более того — в нём же могут располагаться и одновременно использоваться сразу несколько версий этой программы (каждая в своей поддиректории с номером версии). Благодаря такой схеме, управление программами упрощается до тривиальных файловых операций, взамен ограниченной системы команд типичных пакетных менеджеров.

Если быть точным, набор управляющих программ для пакетов в GoboLinux всё же есть, но они, скорее, играют роль «упрощающих скриптов» (даже написаны они на bash) — все те же операции над файлами можно проделать и вручную, что резко повышает «ремонтируемость» системы и гибкость управления.

Корневая иерархия каталогов в GoboLinux также подверглась модернизации — взамен разбросанных каталогов bin, lib, local, shared, в системе имеется центральный каталог, под которым собраны все файлы по типам. Например, все исполняемые файлы собраны в директории /System/Links/Executables (вернее, их символические ссылки, ведущие в персональный bin каталог программы). Этот единообразный подход резко упрощает управление всей системой — становится маловероятно встретить ошибку «программа не найдена» или изменить неправильный конфигурационный файл — для всех них определено одно и только одно место.

Несмотря на радикальные различия, GoboLinux не нарушает работы плохо спроектированных программ, жёстко завязанных на иерархии каталогов: в системе по прежнему есть физические каталоги /usr, /lib и т. д., но для более удобного обращения с системой, они скрываются от пользователя модулем ядра GoboHide.

GoboLinux отличается и другими нововведениями, такими как новая система запуска, отличная от SysV или BSD. Готовится к выпуску и новая система управления пакетами, которая будет включать управление не только классическим набором линукс-программ, но и модулями из таких гетерогенных систем как CPAN из Perl или RubyGems из Ruby — установка модулей из этих репозиториев станет такой же прозрачной, как и для любой обычной программы.

Иерархия файловой системы

На структуру GoboLinux повлияли ранние системы, такие как NEXTSTEP, AtheOS и BeOS, которые использовали собственную структуру файловой системы, сохраняя заметную совместимость с Unix. В корне GoboLinux лежат 6 директорий: Programs, Users, System, Files, Mount и Depot. Содержимое каждой из них описано ниже.

Программа «Compile»

Compile — утилита, позволяющая скачать исходники указанной программы, распаковать их, скомпилировать и установить в систему одной командой (например, «Compile foo», чтобы установить программу foo из исходников). Compile использует простые сценарии компиляции, называемые «рецептами» (англ. «recipes»)[2].

Compile в чём-то схожа[3] с системой Portage в Gentoo, которая основана на FreeBSD Ports и выполняет установку, руководствуясь «ebuild'ами». Но система Portage создана для работы в традиционной файловой иерархии, совместимой с FHS, а система Compile расширяет возможности файловой иерархии в GoboLinux до сферы управления пакетами. Так, в GoboLinux файловая система служит менеджером пакетов, (см. «The Ideas Behind _Compile_»[4]).

Система Compile появилась в GoboLinux версии 011. До этого велись разговоры о портировании системы Portage из Gentoo в GoboLinux в качестве проекта GoboPortage на Sourceforge.net.[5][6]

Другие особенности Compile:

Отличия от традиционных дистрибутивов

Файловая иерархия

В иерархии GoboLinux файлы сгруппированы по функциональному назначению в категории с использованием индексации, основанной на симлинках. Индекс хранится в директории /System/Links/: все исполняемые файлы доступны в /System/Links/Executables/, все библиотеки — в /System/Links/Libraries, и так далее. Такой подход устраняет традиционные, характерные для FHS различия между несущественными файлами, находящимися в /usr, и критически необходимыми файлами, которые находятся в корне /. Разработчики других дистрибутивов стараются этого придерживаться, потому что такие различия были когда-то полезны, но сегодня, в совершенно другой, современной среде, они не являются необходимостью.

Симлинки

Существуют символические ссылки, обозначающие обычные директории Unix, но указывающие во структуру директорий GoboLinux. Поэтому можно найти директории /etc, /var/log и usr/bin на старых местах. Эти симлинки указывают на эквивалентные директории в /System/Links/, так что ключевые пути, такие как /bin/sh или /etc/passwd, остаются корректными. Такие ссылки совместимости скрываются из виду с помощью модуля GoboHide для ядра. Этот модуль, который реализует сокрытие файлов в Linux, используется чисто из эстетических соображений и вовсе не обязателен.

Суперпользователь

Суперпользователь, традиционно известный как «root» с UID равным 0, может иметь любое другое имя в GoboLinux, выбираемое при установке. В отличие от других дистрибутивов, в GoboLinux домашняя директория суперпользователя вовсе не /root, а /User/NAME — как и у других пользователей. Согласно статье hisham’а, так было решено, потому что ему никогда не нравилось понятие обособленного суперпользователя.

Система загрузки

GoboLinux использует собственную процедуру запуска, в отличие от других дистрибутивов Linux, в которых применяются системы запуска в стиле BSD и System V. В директории /System/Settings/BootScripts лежат несколько файлов, которые полностью управляют процессом загрузки: BootUp и ShutDown выполняются, соответственно, во время запуска и остановки системы. В дополнение к ним можно создавать скрипты для различных «уровней запуска» (англ. «runlevel»), чтобы управлять способами, которыми может быть загружена система (например, создать скрипт Single для однопользовательского режима, Multi — для многопользовательского, Graphical — для графического режима, и так далее). Файл /System/Settings/BootOptions отделяет настройки системы от других скриптов. Скрипты для запуска или останова демонов и применения настроек находятся в /System/Links/Tasks и могут быть запущены скриптами загрузки.

Релизы

Релизы нумеруются в восьмеричной системе счисления. Авторы говорят, что они выбрали её из-за нуля в первой цифре (в языке Си при записи чисел в восьмеричной системе в первой цифре ставится ноль), и является насмешкой над гонкой за версиями, происходившей среди дистрибутивов примерно в 1999 году. Если читать число как десятичное, то происходит предсказуемый «скачок» версии каждые 8 релизов. До версии 014 в GoboLinux не было минорных релизов, то есть версия состояла всего из одного числа, чтобы не вводить в заблуждение, что один релиз более стабилен, чем другой. Традиция была нарушена при выпуске релиза 014.01 — обновления, которое содержало, в основном, исправления багов релиза 014.

Портирование

По данным на март 2006 года Gobolinux официально выпускается только под i686, и портирование под i386 носит частный характер, а потому неполный. Однако в 2003 году Hisham Muhammad, главный разработчик в проекте GoboLinux, написал «Сляпанное наспех руководство по портированию»[9] для тех, кто хотел портировать GoboLinux под платформу PowerPC и другие архитектуры. Он также занимался портированием сам.[10] Были получены версии для встраиваемых систем, таких как ARM и SuperH, которые легко делались с помощью утилиты Bootstrap[11], специально созданной для автоматизации портирования.

См. также

Примечания

  1. GoboLinux на сайте DistroWatch.
  2. GoboLinux’s recipe for delicious package managementLinux.com
  3. GoboLinux Compile — A Scalable Portage?Slashdot
  4. «The Ideas Behind _Compile_»
  5. Gentoo Forums : View topic — GoboGentoo
  6. SourceForge.net: GoboPortage
  7. Mayank Sharma GoboLinux: An Interview with Lucas Villa Real] (August 21, 2007). Проверено 31 марта 2008.
  8. Thom Holwerda GoboLinux 014.01 Released (April 4, 2008). Архивировано из первоисточника 7 июня 2012. Проверено 4 апреля 2008.
  9. Quick-and-Dirty Porting Guide
  10. GoboLinux PPC
  11. GoboLinux Embedded

Ссылки

Просмотр этого шаблона Семейства дистрибутивов Linux (списоксравнение)
Debian Стабильные CrunchBangEliveKnoppixMEPIS Тестовые DreamlinuxLinux Mint Sid AptosidUbuntu
Ubuntu Официальные EdubuntuKubuntuLubuntuUbuntu StudioXubuntu Неофициальные BaltixEasyPeasygNewSensegOSGuadalinexInfraLinspireMintnUbuntuRuntuUlteoВС Школьный
Fedora Пересборки Russian Fedora Производные Red Hat Enterprise Linux
Red Hat Mandriva Пересборки CentOSOracleScientificYellow DogНауЛинукс
Mandriva ALT LinuxGaixaPCLinuxOS Форки MageiaRosa Linux
Slackware PorteusSalix OSSlaxVectorZenwalk
Gentoo CalculateHardenedSabayon
Arch ArchBangChakraConnochaetOS
Независимые AgiliaLinuxFrugalwareopenSUSESUSE Linux Enterprise Desktop
Специальные Минималистичные Damn SmallPuppySliTazTiny Core Спасательные ClonezillaFinnixGPartedRIPLinuXSystemRescueCD Судебные BackTrackNetSecL Игровые linuX-gamers NAS OpenfilerOpenMediaVault Встраиваемые AccessAndroidbadaBaidu YiFamiliarFirefox OSMobilinuxOpenmokoQtMokoTizenWebOS