От Linux’а для себя — к Linux’у для всех: первый шаг

Как мы недавно видели, дистрибутив 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” имеет под собой все основания.

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

Этой особенностью формата пакетов Slackware активно пользуются все, у кого возникает к тому желание или необходимость, приспосабливая к ней любые системы управления пакетами, от портов FreeBSD до Debian'овского apt-get и pacman, происходящего из Archlinux. Разработан был для Slackware и собственный менеджер пакетов, swaret. Однако в штатный комплект дистрибутива он так и не вошел.

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

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

Однако главным дериватом  Slackware, если оценивать по распространённости, стала система совершенно иного толка -- Suse, второй, после Red Hat, дистрибутив, претендующий быть Linux'ом для всех. Правда, ныне о генетическом происхождении её могут догадаться только те, кто помнит историю.

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

Как обычно, я опять существенно опередил события. Придётся вернуться назад и посмотреть, каковы же были последствия полного и окончательного освобождения BSD-систем вообще и FreeBSD, как наиболее распространённой из них, в частности.


Теги: ,