Linux и вопросы дистрибутивознания

Автор: Алексей Федорчук, [email protected]
Опубликовано: 15.8.2002


© 2002, Издательский дом КОМПЬЮТЕРРА | http://www.computerra.ru/
Журнал СОФТЕРРА | http://www.softerra.ru/
Этот материал Вы всегда сможете найти по его постоянному адресу: http://www.softerra.ru/freeos/19496/

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

Традиционно дистрибутивы Linux разделялись на три линии, именуемые по их системам-прародителям: клоны Red Hat, Slackware, Debian. Были, разумеется, и системы, которые в эту схему не укладывались (например, Stampede), но они либо не получили распространения, либо использовались в сугубо специальных целях.

Ныне, мне кажется, традиционная классификация не отражает существа дела. Печальная судьба StormLinux и вполне заслуженное забвение CorelLinux привели к тому, что линия Debian фактически свелась к дистрибутиву-эпониму. Разумеется, на www.linuxlinks.com можно найти пару-тройку систем, претендующих на происхождение от Debian, но кто видел вживе хоть одного их пользователя?

Производные Slackware никогда, насколько мне известно, не были ни многочисленными, ни распространенными. Фактически большинство их это вариации на тему Linux на дискете , и имеют сугубо специальное предназначение. А единственный мощный клон Slackware Suse, настолько далеко отошел от своего предка, что о генеалогии его мало кто помнит.

Таким образом, фактический майнстрейм современного дистрибутивостроения это многочисленные клоны Red Hat. При этом наиболее распространенные из них Caldera OpenLinux, Mandrake, у нас Altlinux и ASPLinux, также весьма далеко оторвались от корней, о которых напоминает подчас только формат пакетов.

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

В то же время рядом с такими пакетированными системами все более активно развиваются дистрибутивы, которые я назвал бы портированными. Ибо основаны они на аналогах системы портов, идея которой заимствована из FreeBSD. В них, как правило, имеется прекомпилированный базовый набор (ядро, библиотека glibs, компилятор gcc, основные системные утилиты), все прочее же в более или менее автоматическом режиме скачивается из Сети в виде исходников и компилируется по определенной схеме, за реализацию которой, собственно, система портов и отвечает. К таким дистрибутивам относятся Gentoo (http://www.gentoo.org)  [1], Sorcerer (http://sorcerer.wox.org) и модификация последнего SourceMage (http://www.sourcemage.org).

Имеются и промежуточные варианты между крайне пакетированными и предельно портированными. Так, дистрибутив CRUX (http://crux.sourceforge.net), помимо базовых компонентов, содержит некоторый набор прекомпилированных прикладных пакетов. Однако они не обязательны к установке и могут подменяться (или дополняться) заново собираемыми посредством портов приложениями. А дистрибутив RockLinux (http://www.rocklinux.org), хотя и устанавливается (вместе с основными приложениями) из пакетов, содержит средства для автоматизированного получения полного набора исходников и перестройки всей системы с самого начала (аналог make world из FreeBSD).

Наконец, есть и системы, ориентированные на чистую сборку из исходников source-based ( исходняки , говоря по русски; или, более благозвучно примордиальные дистрибутивы). Мне известно два таких проекта LFS (Linux from Scratch, http://www.linuxfromscratch.org, что можно перевести как Linux по сусекам скребеный ), и BYO Linux (Build Your Own Linux, http://www.byolinux.org, или Строим Linux частнособственнический не путать с проприетарным ).

Конечно, ни LFS, ни BYO Linux нельзя назвать дистрибутивами в полном смысле слова это скорее наборы инструкций по комплектованию системы и порядку ее сборки. И к тому же оба они предполагают, что сборка эта осуществляется на машине с какой-никаким, но установленным дистрибутивом Linux. Однако существует еще и проект LRs Linux (http://www.lrs-linux.org. Он базируется на LFS, но представляет собой вполне полноценный и самодостаточный дистрибутив, который можно установить на голую машину, не прибегая ни к каким дополнительным средствам. Хотя, подобно своему родителю, ни одного прекомпилированного пакета он не содержит.

В итоге, все многообразие современных Linux'ов можно разделить опять-таки на три, но уже совершенно другие, группы:

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

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

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

Примордиальные системы лишены этого недостатка все необходимые для их построения компоненты можно скачать заблаговременно (и совсем не обязательно оттуда же, где они будут собираться). Так что существенно оффлайновый характер современной российской действительности первая причина, которая может подвигнуть пользователя в этом направлении. Вторая же естественное желание иметь систему, адекватную мощности машины. Так, последнее время мне было мучительно больно за бесцельно растрачиваемые гигагерцы моего Pentium'а четвертого издания. Простые способы, вроде перекомпиляции ядра под Pentium-4, к существенному повышению производительности, даже на тестах (не говоря уже о сенсуативном впечатлении), не приводят. Хотя можно ожидать (или хотя бы надеяться), что оптимизация всей системы под конкретный (тем более столь специфический, как P-4) процессор должна бы дать гораздо больше.

Во всех известных мне пакетных дистрибутивах прекомпилированные пакеты оптимизируются в лучшем случае под абстрактный i686. В системах портированных настройки под оптимизацию собираемых портов для P-4 мне также не встречались. И даже если таковые наладить собственноручно (а в дистрибутиве Gentoo, например, это вполне возможно), базовые компоненты все равно останутся в неоптимизированном виде. Или потребуется полная их пересборка, по аналогии со все тем же rebuild'ом FreeBSD. Но в этом случае спрашивается а не проще ли с самого начала собирать уже оптимизированную базу?

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


[1] Благодаря многочисленным письмам читателей, смысл названия дистрибутива Gentoo прояснился оно происходит от одного из видов пингвинов (jen-too). [обратно к тексту]



Телефон редакции: (095) 232-2261
E-mail редакции: [email protected]
По вопросам размещения рекламы обращаться к Алене Шагиной по телефону +7 (095) 232-2263 или электронной почте mailto:[email protected]