Zenbook. Предыстория вопроса

Автор: Алексей Федорчук

Давным-давно, когда Linux был совсем юн, дистрибутивов этой ОС еще не было. Каждый, кто хотел установить новорожденную систему, должен был обладать набором из двух дискет — первая содержала загружаемый образ ядра, вторая же — корневую файловую систему. А дальше было все просто — скачать исходники необходимых утилит и приложений, и компилировать, компилировать, компилировать… Это препятствовало не только промышленному применению Linux (до того было еще далеко), но даже и любительскому его использованию. И потому единственными пользователями этой операционки были её же разработчики — причем лишь те, кто отличался максимальным энтузиазмом.

Подобное положение не могло продолжаться долго. И уже через несколько месяцев после обнародования Линусом исходников первой (0.01) версии своего ядра, в начале 1992 года, появляются первые наборы программ, которые можно считать прототипами позднейших дистрибутивов Linux — MCC Interim Linux и TAMU. Они представляли собой комплекты разработчика, включающие в прекомпилированном виде ядро, шелл, компилятор gcc и средства сборки, а также основные пользовательские утилиты, что позволяло развернуть работоспособную систему на «чистой» машине.

В октябре 1992 года на свет появляется комплект, который можно назвать первым в истории дистрибутивом этой операционной системы. Он носил имя SLS (Softlanding Linux System) и был разработан Питером Мак-Дональдом. Помимо ядра Linux и набора утилит обрамления, дистрибутив SLS включал в себя оконную систему X и средства работы с сетью, то есть был уже вполне пригоден для конечного пользователя. Правда, не следует забывать, что конечными пользователями Linux в те годы по прежнему оставались исключительно его же разработчики.

Дистрибутив SLS просуществовал недолго — последняя его версия вышла в 1994 году. Однако он лег в основу целой линии дистростроения, протянувшейся в наши дни яркой нитью, и потому о нем стоит сказать несколько слов.

Дистрибутив SLS распространялся преимущественно на трехдюймовых дискетах объемом 1,44 Мбайт (это заслуживает упоминания, потому что в те годы вовсю еще использовались пятидюймовые дискеты объемом 1,2 Мбайт, и даже 360 Кбайт), в количестве 20-30 штук. Образы дистрибутивных дискет можно было получить по Сети, впрочем, у нас — практически только по служебным каналам, а также заказать на CD (хотя CD-приводы в то время на пользовательских машинах были не меньшей экзотикой, чем Интернет на дому).

О том, как «в те времена далекие, теперь почти былинные», выглядела установка Linux’а в условиях, приближенных к отечественным, — можно получить представление, прочитав статью Петра Врублевского (Польша) Unix для всех, русский перевод которой был опубликован в журнале «Мир ПК», 1995, #6. Очень рекомендую всем нынешним начинающим линуксоидам, жалующимся на трудности установки Mandriva или Ubuntu. Правда, для этого нужно иметь тот номер журнала, представляющий собой библиографическую редкость — онлайновой его версии нет и, увы, это ситуация, в которой Google бессилен. А с самой по себе системой можно ознакомиться в «историческом» разделе сервера Ibiblio.

Одной из знаковых особенностей SLS была схема инициализации в BSD-стиле — и пусть после этого кто-нибудь попробует доказать, что схема инициализации System V исконна для Linux. Хотя в дальнейшем последняя и возобладала в большинстве дистрибутивов майнстрима — «дистрибутивах для всех» (в том числе и в Suse — потомке Slackware), но инициация в BSD-стиле была унаследована Slackware и всеми её клонами (по отношению к Suse Slakware выступает в роли отдаленного первопредка), а также CRUX’ом, Archlinux’ом, отчасти Gentoo. То есть всем тем семейством, которое можно определить как «дистрибутивы для себя». Интересная закономерность, не правда ли?

Формат бинарных пакетов в SLS был предельно прост — tar-архив, компрессированный с помощью Gzip или compress (тогда они сосуществовали почти на равных), возможно — с постинсталляционным сценарием. Для установки и удаления пакетов использовалась утилита sysinstall — предтеча всех последующих систем пакетного менеджмента. Которая не только разворачивала архив и инкорпорировала его компоненты в файловую систему, но и фиксировала его в специальной базе данных — на предмет последующего удаления, если таковое потребуется. Хотя о контроле зависимостей тогда речи еще и не возникало.

Прекращение разработки SLS связывается в источниках с его переходом на формат бинарных файлов ELF (не путать с форматом пакетов — это совершенно разные вещи) вместо общепринятого тогда в Linux и вообще в Unix формата a.out. Хотя ELF более «прогрессивен», нежели a.out, тогда это оказалось шагом преждевременным — до победы ELF в мировом масштабе оставалось еще почти десятилетие (кажется, последним отказался от a.out Debian — уже в нашем тысячелетии). Но, возможно, дело было просто в потере интереса разработчика к своему произведению — ситуация в мире Open Source нередкая.

Однако дело SLS не пропало. Еще в период его активного развития Патрик Фолькердинг принял SLS за основу своей Linux-системы, названной Slackware, первая версия которой была обнародована 17 июля 1993 года и с тех пор успешно развивается по сей день. Именно со Slackware началась и история Linux-дистрибуции в организационном, так сказать, аспекте. Сразу же после своего появления Slackware, помимо обычных сетевых каналов, начала распространяться на CD известной медиа-фирмой Walnut Creek, которая в то же самое время приложила руку и к распространению первых версий FreeBSD.

Slackware в своем внутреннем устройстве унаследовала первозданную простоту SLS. И не только унаследовала — именно простоту Патрик возвел в основополагающий принцип построения системы. Реализация этого принципа вылилась в сохранение BSD-стиля инициализации, простого формата пакетов — чистых тарбаллов *.tgz, — и «идеологически обусловленного» отказа от контроля их зависимостей. Напомню — создававшиеся чуть позже (но в масштабах эпохи — практически одновременно) дистрибутивы Debian и Red Hat пошли по прямо противоположному пути: все более усложняющаяся со временем схема инициализации в стиле System V, включение максимально большого количества метаинформации в структуру пакетов и все более изощренные формы контроля их зависимостей.

Новшествами Slackware были:

  • собственная программа инсталляции — меню-ориентированная, работающая в псевдографическом режиме, похожая по виду и родственная по духу создававшейся в то же самое время утилите sysinstall из FreeBSD;
  • выделение категорий пакетов — базовой системы (A), консольных приложений (AP), средств разработки (D), оконной системы X и ее приложений (X и XAP, соответственно), и так далее;
  • набор утилит для управления индивидуальными пакетами, не предусматривающего, однако, никакого контроля зависимостей.

Время показало провиденциализм подхода Патрика — Slackware живет и развивается вот уже 15 лет, не поступаясь своими принципами, сохраняя редкую по нынешним временам компактность, лишь обновляя версии ядра, компонентов базовой системы и приложений. Сохраняется и устойчивый круг пользователей этого дистрибутива.

Отступление. Многие линуксоиды моего и более старшего поколения начинали свою дорогу в Linux со Slackware — и ничуть об этом не жалеют, вне зависимости от того, какие дистрибутивы бы они не использовали в дальнейшем. Знакомство с этой системой дает совершенно неоценимый опыт, позволяющий найти пути для решения любых проблем в любых других дистрибутивах. И потому крылатая фраза «изучая Slackware, ты изучаешь Linux» имеет под собой все основания. Я бы только дополнил её словами: «а изучая Zenwalk, ты изучаешь Slackware». И, тем самым, и Linux.

Исходный «примитивизм» формата пакетов Slackware не мешает использовать в этом дистрибутиве весьма изощренные средства пакетного менеджмента, обеспечивающие учет и автоматическое разрешение зависимостей. Поскольку внутри самих пакетов никакой метаинформации не содержится, для хранения её можно использовать любую внешнюю базу.

Этой особенностью формата пакетов Slackware активно пользуются все, у кого возникает к тому желание или необходимость. Так, мне доводилось слышать об удачных попытках применения в Slackware системы портов, заимствованой из FreeBSD. Для Slackware поддерживается система pkgsrc — портообразная система, разработанная первоначально для NetBSD (см. статью Slackware Linux with pkgsrc Packages). На базе синтеза Slackware и pkgsrc активно развивается несколько дистрибутивов, например, Voltalinux и Draco GNU/Linux.

Механизм apt-get, обеспечивший славу Debian, а в дальнейшем немало способствовавший и популярности семейства Ubuntu, также был адаптирован для использования в Slackware: здесь он получил название slapt-get. На основе синтеза Slackware и пакетного менеджера pacman, происходящего из Archlinux (кстати, во многом — идейного наследника Slackware), возник дистрибутив Frugalware.

Разработан был для Slackware и собственный менеджер пакетов, swaret. Однако в штатный комплект дистрибутива он так и не вошел, как и ни одно из перечисленных выше средств управления пакетами.

Потому что для собственно Slackware в качестве основных средств управления пакетами Патрик по прежнему признает только два: установку официальных бинарников с помощью штатных утилит, при ручном разрешении зависимостей, и компиляцию из исходников — в случае, если нужных пакетов нет в репозитории или их официальная сборка по тем или иным причинам не удовлетворяет пользователя. Всё остальное — от глюкавого. То есть дистрибутив этот должен рассматриваться не столько как законченная система, сколько как каркас для конструирования системы собственной.

И этими возможностями для конструирования начали активно пользоваться, в результате чего Slackware стала плодовитой прародительницей клонов: на сегодняшний день на Distrowatch зарегистрировано 60 ее производных, из них 45 — активно развиваемых. В их числе:

  • дистрибутивы, базирующиеся на Slackware и дополненные той или иной системой пакетного менеджмента, например, упомянутые выше Voltalinux и Draco GNU/Linux, использующие pkgsrc от NetBSD, или Frugalware, в котором применяется pacman, заимствованный из Archlinux;
  • LiveCD общего (Slax, Klax, Wolvix) или специализированного (Blin) назначения;
  • порты Slackware на аппаратные платформы, отличные от i486 (SLAMD и Bluewhite — на AMD64, Slackintosh — на PowerPC;
  • варианты Slackware с «национальной окраской» (MOPS — с русской, Karamad — с иранской, JoLinux — с бразильской, Nonux — с голландской, и так далее).

Конструкторский характер Slackware способствовал тому, что на ней базировалось изобилие разного рода специализированных систем, которые условно можно объединить под названием «Linux на дискете». Из них самым интересным, пожалуй, решением был Mulinux, где базовая система и Иксы (!) умещались на двух дискетах. Правда, ныне, с широким распространением LiveCD, появлением «Linux на флэшках» и отмиранием 3-дюймовых дисководов, «дискеточные» Linux’ы представляют в исключительно исторический интерес — как напоминание о временах, когда деревья были большими, а дистрибутивы — маленькими.

Рост популярности Linux привел к появлению ее вариантов, ориентированных на так называемого конечного пользователя. Для снижения порога «вхождения в тему» были придуманы системы, снабженные простым в использовании инсталлятором, позволяющим сразу же получить готовую к употреблению систему с некоторым, безальтернативно устанавливаемым, набором пользовательских приложений и настройками, более или менее подходящими абстрактному настольному юзеру.

Эта концепция нашла свое воплощение в таких, базирующихся на Debian, дистрибутивах, как MEPIS и Lindows (Linspire). Ныне она наиболее последовательно проводится в широко известных дистрибутивах семейства Ubuntu (собственно Ubuntu, Kubuntu, Xubuntu и их бессчетных производных). Да и сам Debian, обзаведшись наконец графическим инсталлятором, позволяет выполнить автоматическую установку фиксированного пользовательского окружения (GNOME, KDE или Xfce с соответствующим набором приложений). Правда, не по умолчанию, а по выбору.

На фоне всех этих красивостей Slackware выглядел


Рудиментом в нынешних мирах,
Словно полужесткие крепления,
Или радиолы во дворах.
Визбор Иосич

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

Однако и в плане «поворота лицом к пользователю» клан Slackware оказался если и не «впереди планеты всей», то в первых рядах дистростроителей.

Потому что одним из первых опытов в направлении «безальтернативной» пользовательской установки был, пожалуй, Vector Linux, разработанный на базе Slackware Робертом Ланге (Robert S. Lange) и Даррелом Ставемом (Darrell Stavem) на самом рубеже тысячелетий — в том самом приснопамятном 2000-м году, который не знали, к которому из них приписать. Уже в первой версии этого дистрибутива, вышедшей в июне 2000 года, была реализована концепция безальтернативной установки интегрированной рабочей среды (в данном случае KDE) с фиксированным набором пользовательских приложений, необходимых и, более или менее, достаточных для решения стандартных задач офисного или домашнего десктопа.

Правда, на меня этот дистрибутив произвел довольно странное впечатление (см. соответствующую заметку). С одной стороны, вроде бы всё красиво и шоколадно. Но с другой — подборка софта выглядит весьма своеобразно. Во-первых, бросается в глаза изобилие дублирующих приложений, что для однодискового дистрибутива представляется непозволительной роскошью. Во-вторых, несмотря на то, что в качестве десктопа по умолчанию в Vector Linux используется KDE, многие разработанные для этой среды приложения были заменены Gtk-аналогами, подчас существенно более слабыми функционально (например, Bluefish вместо Quanta). А в-третьих… а в-третьих, не понравился он мне, вот и всё. Хотя на форумах я видел немало высказываний пользователей, не разделяющих мою точку зрения.

Тем не менее, вне зависимости от моих личных симпатий и антипатий, Vector Linux был практически первым «безальтернативно устанавливаемым» дистрибутивом не только в клане Slackware, но и в мире Linux вообще. MEPIS и Lindows (ныне Linspire), не говоря уже об Ubuntu, появились несколькими годами позже.

Были и другие попытки создания «Slackware с человеческим лицом», уж не знаю, насколько удачные, например, Kwort аргентинского происхождения.

Однако наиболее удачным и ярким представителем «пользовательской» линии развития Slackware суждено было стать дистрибутиву Zenwalk, который и является героем настоящей книги.


[Назад] [Главная] [Вперёд]

Zenbook. Предыстория вопроса: 2 комментария

  1. Мне кажется вы преувеличиваете насчет популярности и дружественности слаквари — почитав описание так и не понял зачем оно мне на десктопе в 2009 году.А вот экскурс в историю познавателен, спасибо.

  2. В далеком 1999 году для меня именно книга П.Фолькердинга «Linux Slackware 3.0» стала настольной. Тем паче она продавалась с двумя CD со Слакой. Очень многое для понимания принципов почерпнул, тогда, я именно оттуда.

Обсуждение закрыто.