GoboLinux СкачатьДокументацияСообществоРецептыПакетыСкриншоты


GoboLinux FAQ

Translation: Daria Tikhonova

Какой еще GoboLinux?

GoboLinux принадлежит семейству дистрибутивов Linux, но отличается новым способом организации файловой системы, за основу которой взята структура каталогов Unix. Другими словами, программы не располагаются в таких каталогах как /usr and / и т.п. Смысл создания альтернативной иерархической структуры состоит в том, что все файлы, принадлежащие одному приложению, могут храниться в отдельном поддереве. Следовательно, появляются такие каталоги , как /Programs/FooPlayer/1.0/lib.

Система легко находит файлы благодаря их логическому распределению по таким каталогам как /System/Links/Executables, которые, как вы правильно догадались, содержат символические ссылки ко всем исполняемым файлам внутри дерева Programms.

Для поддержания обратной совместимости с классическимими Unix/Linux приложениями существуют символические ссылки, иммитирующие Unix дерево, такие как «/usr/bin ->/System/Links/Executables”» и «sbin ->/System/Links/Executables» (из этого примера видно, что случайные различия между файлами одной категории были устранены).

Здесь вы найдете более наглядное объяснение.

Вы изменили классическое дерево каталогов, чтобы упростить работу с ним для начинающих пользователей?

Нет. Вообще это было вызвано стремлением удовлетворить потребности тех пользователей, которые предпочитают инсталировать приложения из исходников, не полагаясь на дистрибутив. Это основная причина создания отдельного каталога для каждого приложения. Вы можете установить его с источника и тут же удалить с помощью «rm –rf». Поэтому, как вы видите, GoboLinux создавался с расчетом на опытного пользователя, который не любит, когда что-то срабатывает само собой, как по волшебству. Наши скрипты автоматизируют процедуры, но не «принимают решения», а, когда в этом возникает необходимость, запрашивают разрешение.

Коллекция бинарных пакетов создавалась с целью избежать дублирования попыток среди пользователей. Программа Compile была разработана для хранения «правил компиляции» исходных текстов, учитывая тот факт, что единого правила компиляции приложений в Linux системах не существует. Мы не стремимся установить «стандарт пакетирования», как RPM, например. На наш взгляд, особой необходимости в «пакетах» нет, если исходный файл .tar.gz создан правильно. Например, когда приложение использует GNU Autotools (autoconf, automake…,), компиляция под GoboLinux – простейшая задача. В более сложных случаях Compile берет на себя накопление необходимой информации по компилированию требуемых элементов.

Однако, принимая во внимание более логично структурированное дерево каталогов, GoboLinux часто считается концептуально более простым дистрибутивом, поскольку его структура более логична и менее ограничена Unix-традицией. Но начинающие пользователи не являются для нас конкретной целью (по крайней мере, не в ближайшей перспективе).

GoboLinux уже «готов»?

Да, он готов, в том смысле, что вы уже сегодня можете использовать полноценную ОС, работающую на все 100% с GoboLinux, как делают многие другие пользователи по всему миру.

В каком состоянии он находится сейчас?

Этот вопрос можно разделить на два: первый, о состоянии утилит GoboLinux, и второй, о доступности пакетов.

GoboLinux опирается на серию утилит, которые автоматизируют различные задачи, такие как создание, установка и удаление пакетов и, что особенно важно, поддержка символических ссылок, обеспечивающих согласованность всех элементов системы. Эти утилиты в достаточной степени заслуживают доверия, поскольку им уже несколько лет.

Еше один важный момент в использовании дистрибутива – это доступность пакетов, т.е. программного обеспечения, которое можно загрузить в двоичной форме и сразу же установить под него. В этом отношении GoboLinux все еще отстает от других известных дистрибутивов, так как наше сообщество разработчиков сравнительно небольшое, и этот проект не основывается на другом диструбуте, в отличие от многих. Другими словами, у нас нет пула пакетов, от которого мы могли бы отталкиваться. Тем не менее, у нас есть все пакеты, необходимые для установки адекватно работающей системы (например, все пакеты, являющиеся частью проектов “Linux From Scratch” Линукс с нуля и “Beyond Linux From Scratch” Больше , чем Линукс с нуля), а также многие другие: KDE и все родственные пакеты. И список не перестает расти. Кроме этого, имеется даже больший набор рецептов компиляции, используемых при работе с утилитой GoboLinux Compile, которая позволяет создавать пакеты из исходных кодов.

Кто создал GoboLinux? Какие у него корни?

Концепция была разработана Хишамом Мухаммедом, а первая версия GoboLinux создана Хишамом и Андре Детчем.

GoboLinux достиг зрелой формы за два года. Первоначально он создавался для быстрой установки программ внутри учетной записи постоянного университетского пользователя (поскольку исходного дерева каталогов Linux там, в любом случае, не было, появилась причина изменить его).

Однажды, после Великого Обвала Файловой Системы своего компьютера, Хишаму пришлось переустановить ОС целиком. Тогда то и возникла идея использования в новой системе только альтернативного дерева (которое до обвала системы уже содержало около 80% всего установленного софта. Андре тоже подумывал переустановить Linux на своем компьютере, поэтому они собрались у него однажды на выходных и выполнили полностью процедуру Linux From Scratch, попутно перенастраивая систему на использование альтернативного дерева каталогов. Результат был в шутку назван GoboLinux, и, как это обычно случается, название так и приклеилось к нему.

Кто работает над GoboLinux?

С самого появления (см. предыдущий ответ) дистрибутива им стало интересоваться все больше и больше пользователей, многие из которых, проникнутые духом Свободного ПО, внесли свой вклад в развитие проекта. Как и в случае с любым другим проектом, люди приходят и уходят, поэтому просто невозможно перечислить здесь имена всех, но загляните на страницу команды разработчиков.

К чему вы стремитесь относительно GoboLinux?

Наша главная цель – создать систему, с которой можно работать с удовольствием, которую не поломает ПО для работы с пакетами, стремящееся управлять нашими машинами за нас. Большинство дистрибутивов Linux создаются так, чтобы упростить жизнь новичкам, тем самым намного усложняя работу опытным пользователям. Мы не говорим, что GoboLinux проще, “в нем просто больше логики”. Хотя люди, пользующиеся дистрибутивом, считают, что с ним действительно легче работать, учитывая то, что он позволяет вам лучше понять систему на вашем компьютере (если вы, конечно, хотите ее понять).

Как говориться, "мировое господство – это лишь второстепенная цель". :)

Наблюдается ли снижение эффективности работы при использовании символических ссылок, тем самым делающее GoboLinux неудачным выбором для, скажем, сильно загруженных серверов?

Если в кратце, то, теоретически, да. Но мы вообще никогда это не проверяли ( чтобы узнать, почему “теоретически”, прочтите “развернутый ответ”).

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

Например, возьмите библиотеку libc.so.6. Она находится в директории /lib, являющемся линком на системную папку /System/Links/Libraries, но сам файл расположен в /Programs/Glibc/Current, где Current – ссылка на 2.2.3, а открыв каталог Glibc, вы обнаружите, что libc.so.6, на самом деле – ссылка на файл системной библиотеки libc-2.2.3.so. Немало ссылок, да? Тем не менее, доступ к библиотекам осуществляется так: папка /System/Links/Libraries (не являющаяся линком) – единтсвенная, хранящаяся в конфигурации Idconfig (и в переменной LD_LIBRARY_PATH). Находящийся в ней файл libc.so.6 указывает прямо на папку /Programs/Glibc/2.2.3/lib/libc-2.2.3.so (без дополнительных ссылок на всем пути). Из этого примера видно, что система библиотек GoboLinux, как и в стандартныx дистрибутивах Linux, имеет только один уровень косвенной адресации. Вы можете “встретить” множество ссылок, но в основном они лишь упрощают работу с системой.

Также приложения компилируются с опцией --prefix=/home/ в каталоге /Programs/App/version для того, чтобы при поиске файла с данными, программа не обращалась к ссылкам. Получение доступа к исполняемым файлам предполагает использование одной ссылки, но в отличие от типовых дистрибутивов Linux, программе не приходится просматривать содержимое переменной PATH (структурирование каталога любой современной файловой системы, наверно, более эффективно, чем просмотр оболочкой shell всех элементов $PATH. Конечно, в shell всегда присутствует символ “диез” (#), но ведь и кэш файловой системы никуда не исчез).

Зачем вам нужен GoboHide? Разве нельзя перенастроить все программы под GoboLinux?

Мы следим, чтобы они уживались с деревом каталогов GoboLinux, компилируя их всегда, когда это только возможно. Однако, в случае с многими программами, полное совмещение не удается из-за жестко запрограммированных имен путей в их исходниках и еще много чего. В конечном итоге, поставить патч можно на любой бесплатный софт, но у нас для такой большой, требующей постоянства работы просто недостаточно людских ресурсов. В самом лучшем случае это вылилось бы в большую головную боль, поэтому мы обычно стараемся сократить количество используемых патчей до минимума. По крайней мере, для каталогов /bin, /lib и /sbin это критично. Мы провели тесты в chrooted среде, и было забавно наблюдать все странные вещи, которые происходят при отсутствии патчей.

Что такое /Depot и /Files?

/Depot это “свободная область” для хранения ваших документов, таких как медиа файлы, всякого рода скачанная информация и т.п. Это как “территория местного сообщества” , “дом для всех пользователей” (в некоторых Unix системах есть каталог /pub специально для этих целей). GoboLinux, как ОС, игнорирует содержания директория /Depot. Он существует только как призыв к пользователям хранить различные разбросанные файлы в одном месте, тем самым поддерживая порядок во всей системе.

/Files, с другой стороны – стандартный для GoboLinux каталог. Внутри него расположены такие директории как Fonts и Plugins, где хранятся разделяемые файлы, которые требуются для приложений, но не обязательно являются их частью.

Кто такой Gobo?

Кроме Fibo, его верного слуги, никто, из знавших его, не выжил, чтобы рассказать его историю. Дальше углубляться мы не рискнули.

Что еще за чушь?

Не спрашивайте.

Вы это серьезно?

Конечно, нет. Можете пропустить последние два вопроса: это всего лишь одна из многих местных шуток в мире GoboLinux. Gobo не существу...Что? Что это еще такое? Ааа!!!! ;-) щютка