Что такое дистрибутив
Linux | 19.01.2008Современные дистрибутивы Linux — это гораздо больше, чем набор программ, собранный на одном диске, и утилита для их установки. Дистрибутив — это продукт, это множество значимых компонентов, составляющих целостную систему. Часто даже говорят не ОС Linux, а ОС Ubuntu (хотя так говорить, конечно, неправильно).
Даже пакетный менеджер, использующийся в системе, не определяет дистрибутив. С другой стороны, важный аспект современных значимых дистрибутивов — это…
Источник ПО
Помнится, когда-то я натолкнулся на интересную фразу из FAQ по популярному ICQ-клиенту под Windows: При закрытом исходном коде, не появятся лже версии QIP cо зловредным кодом. Действительно, при закрытом исходном коде так трудно заразить QIP вирусом и начать распространять то, что получилось. Зато уж если открыть исходники, то сразу же обязательно набежит толпа желающих распространять непонятно что под названием QIP. Странно только, почему я ни об одном подобном случае с открытым ПО не слышал? Вообще-то ничего странного в этом как раз нет.
Как мы знаем, Windows-софт в большинстве своём приходит на компьютеры пользователей или с дисков, купленных на углу (вы все верите надписи «100% без вирусов?»), или с какого-нибудь фриварного, а то и варезного сайта. То есть — откуда угодно. Конечно, иногда его ставят и с лицензионных дисков (или скачивают с официального сайта программы). Но что для Windows-пользователя удобнее — скачать тот же QIP, Opera, X-Chat и ещё десяток бесплатных (а то и не очень бесплатных) программ в одном месте, или же бегать по десяти сайтам? Поэтому листсофты и софтлисты процветают. А между тем никто не гарантирует, что QIP, скачанный с очередного софтлиста — это тот самый QIP, который распространяется.
Что же мы видим в Linux? В Linux тоже есть и freshmeat, и парочка менее знаменитых аналогов, только практически никто ими уже давно не пользуется. Все современные дистрибутивы имеют развитые менеджеры пакетов (aptitude, yum, emerge) которые сами скачают нужный пакет из соответствующего дистрибутиву репозитория. Создатели дистрибутива гарантируют, что предоставленные ими копии программ не содержат стороннего кода, соответствуют названию и описанию, и что самое главное — действительно будут нормально работать в этом дистрибутиве (не то чтобы совсем не бывает казусов, особенно если вы разрешили своему менеджеру пакетов устанавливать более новое, «нестабильное» ПО).
Патчи
Надо сказать, не всегда распространяемый в вашем дистрибутиве пакет будет тем же самым пакетом, что и распространямый автором. Даже тот самый Linux From Scratch — это не только книга о том, как собрать всё операционную систему из исходников, но и набор патчей, без которого получить систему из разрозненного набора пакетов не получится — одни просто не скомпилируются, другие не смогут друг с другом нормально взаимодействовать. Майнтейнеры (то есть те, кто отвечает за включение пакета в дистрибутив) тестируют различные пакеты на нормальное функционирование, взаимную совместимость, а также частво добавляют собственные усовершенствования или не успевшие войти в официальную сборку патчи.
Главная задача майнтейнера — заботиться о пользователе дистрибутива. И если в “мэйнстримный” пакет не включено исправление какой-либо ошибки или дырки в безопасности, майнтейнер не ждёт, а выкладывает в свой репозиторий соответствующее исправление. То же касается любого возможного усовершенствования. После этого специфичные для дистрибутива патчи переносятся в другие дистрибутивы, добавляются в основной пакет (или не добавляются, если автор так решит) — это неотъемлемая часть жизни OpenSource-программ.
Надо сказать, разные разработчики по-разному относятся к этому процессу. Иногда разработчикам не нравятся, что они теряют контроль над тем, что именно распространяется под их именем. На самом деле создатели дистрибутивов заботятся только об удобстве своих пользователей и порой делают работу за самих разработчиков — но иногда сами разработчики не хотят включения какой-нибудь возможности в свою программу. Бывают совсем странные случаи, вроде разработчика оконного менеджера ion3, который выступал против распространения патча для поддержки сглаживания шрифтов; или разработчиков FireFox, которые были против того, чтобы в российском дистрибутиве AltLinux поисковиком по умолчанию был Яндекс.
Иногда такие конфликты заканчиваются тем, что создателям дистрибутивов это всё надоедает, и они начинают распространять те же самые пакеты под другим именем. Так, тот же FireFox теперь так же известен, как IceWeasel, что только путает пользователей. А всё из-за нескольких патчей, без некоторых из которых FireFox даже не мог быть скомпилирован в debian’овском окружении!
Продукт
Чем хорош Ubuntu? На одном CD собран небольшой, необходимый и достаточный набор приложений. От офисного пакета до средств настройки — всё на расстоянии двух кликов сразу после установки. Минимальный тесно интегрированный набор компонентов. Кроме того, если другие дистрибутивы включают в себя Gnome с настройками по умолчанию, то в Ubuntu его настроили по-своёму для большего удобства пользователей. Уникальный визуальный стиль и продуманная организация рабочего пользовательского интерфейса.
Всё это может сделать любой пользователь Linux в любом дистрибутиве. Но Ubuntu — это уже готовое, протестированное, слаженное решение. Именно это я понимаю под словом «продукт».
От Ubuntu в первую очередь требуется не гибкость и широкие возможности настройки (хотя это в определённой степени тоже есть), а корректная работа тщательно подобранных компонентов. У разработчиков Gentoo задача противоположная — сделать такой конструктор, из которого можно собрать любую комбинацию компонентов с любым, минимальным или максимальным набором фич. Gentoo не навязывает готовых решений, а предлагает пользователю самому потратить кучу времени на поиск подходящей для него комбинации «кубиков».
У обоих подходов есть преимущества и недостатки, и порой неожиданные сторонние эффекты, вроде выхода KDE4 на Kubuntu раньше, чем на Gentoo. (к слову, отношение разработчиков к Kubuntu и Xubuntu далеко не такое, как к Ubuntu). Не откажусь от удовольствия процитировать самого себя:
Со стороны может казаться, что поддерживать source-based дистрибутив легко: не надо заниматься сборкой бинарных пакетов, написал сценарий сборки — ebuild — и готово. На практике это означает, что если создателям бинарных дистрибутивов достаточно протестировать одну бинарную сборку, мэинтейнерам Gentoo нужно убедиться в корректной работе и компиляции пакета в любой комбинации USE-флагов, версий и опций компилятора и опциональных зависимостей. Получается, разработчикам Gentoo приходится тратить больше времени на сборку пакетов, чем разработчикам какой-нибудь Ubuntu — при том, что бинарники они не распространяют!
Ко всему прочему, большая часть пакетов той же Ubuntu, как правило, не обновляется между релизами. В Gentoo новые версии добавляются, а старые убираются из дерева ежедневно. И всё это должно друг с другом как-то взаимодействовать, желательно без глюков.
Дистрибутивы появляются и исчезают каждый день, и иногда может показаться, что во всём этом многообразии разобраться слишком сложно. Но на самом деле, при существовании тысяч дистрибутивов всего лишь несколько остаются значимыми, потому как немногим удаётся поддерживать дистрибутив, который выполняет все необходимые задачи.
Нет комментариев »
Еще нет комментариев.
RSS feed for comments on this post. TrackBack URL
Оставить комментарий:

