Вопросы истории: UNIX, Linux, BSD и другие
Шрифт:
И уже через несколько месяцев после обнародования Линусом исходников первой (0.01) версии своего ядра, в начале 1992 года, появляются первые наборы программ, которые можно считать прототипами позднейших дистрибутивов Linux – MCC Interim Linux и TAMU. Они представляли собой комплекты разработчика, включающие в прекомпилированном виде ядро, командную оболочку, компилятор со средствами сборки, а также основные пользовательские утилиты, что позволяло развернуть работоспособную систему на «чистой» машине, не несущей никакой иной ОС.
Начало начал
В
Дистрибутив SLS просуществовал недолго – последняя его версия вышла в 1994 году. Однако он лёг в основу целой линии дистроения, протянувшейся в наши дни яркой нитью, и потому о нём стоит сказать подробней.
Дистрибутив SLS распространялся преимущественно на трехдюймовых дискетах, в количестве 20-30 штук. Образы дистрибутивных дискет можно было получить по Сети (у нас – практически только по служебным каналам), а также заказать на CD (хотя CD-приводы в то время на пользовательских машинах были не меньшей экзотикой, чем Интернет на дому).
Одной из знаковых особенностей SLS была схема инициализации в BSD-стиле – хотя в дальнейшем в большинстве дистрибутивов майнстрима возобладал стиль System V, которую Линус заимствовал из первозданного UNIX'а.
Формат бинарных пакетов в SLS был предельно прост – tar-архив, компрессированный с помощью Gzip или compress, возможно – с постинсталляционным сценарием. Для установки и удаления пакетов использовалась утилита sysinstall – предтеча всех последующих систем пакетного менеджмента. Которая не только разворачивала архив и инкорпорировала его компоненты в файловую систему, но и фиксировала его в специальной базе данных – на предмет последующего удаления, если таковое потребуется. Хотя о контроле зависимостей тогда речи ещё и не возникало.
Прекращение разработки SLS связывается с его переходом на формат бинарных файлов ELF вместо общепринятого тогда в Linux и вообще в UNIX формата a.out. Хотя ELF был более «прогрессивен», нежели a.out, тогда это оказалось шагом преждевременным. Но, возможно, дело было просто в потере интереса разработчика к своему произведению – ситуация, с которой мы ещё не раз столкнёмся при знакомстве с историей Open Source.
О SLS ныне мало кто помнит, однако роль его в дальнейшем дистроении трудно переоценить: именно он лёг в основу старейшего дистрибутива из числа доживших до наших дней – Slackware.
Slackware: первый шаг к Linux’у для всех
Итак, дистрибутив SLS умер. Но душа его жила. Ещё в период его активного развития Патрик Фолькердинг принял SLS за основу своей Linux-системы, названной Slackware, первая версия которой была обнародована 17 июля 1993 года и с тех пор успешно развивается по сей день.
Именно со Slackware началась и история Linux-дистрибуции
Slackware в своём внутреннем устройстве унаследовала первозданную простоту SLS. И не только унаследовала – именно простоту Патрик возвёл в основополагающий принцип построения системы. Реализация его выразилась в сохранении BSD-стиля инициализации, простого формата пакетов, и «идеологически обусловленного» отказа от контроля их зависимостей.
Создававшиеся чуть позже (но в масштабах эпохи – практически одновременно) дистрибутивы Debian и Red Hat пошли по прямо противоположному пути: всё более усложняющаяся со временем схема инициализации в стиле System V, включение максимально большого количества метаинформации в структуру пакетов и все более изощрённые формы контроля их зависимостей.
Новшествами Slackware были:
Время показало провиденциализм подхода Патрика – Slackware живёт и развивается вот уже 15 лет, не поступаясь своими принципами, сохраняя редкую по нынешним временам компактность, лишь обновляя версии ядра, компоненты базовой системы и приложений. Сохраняется и устойчивый круг пользователей этого дистрибутива.
Отступление. Многие линуксоиды моего и более старшего поколения начинали свою дорогу в Linux со Slackware – и ничуть об этом не жалеют, вне зависимости от того, какие дистрибутивы бы они не использовали в дальнейшем. Знакомство с этой системой дает совершенно неоценимый опыт, позволяющий найти пути для решения любых проблем в любых других дистрибутивах. И потому крылатая фраза «изучая Slackware, ты изучаешь Linux» имеет под собой все основания.
Исходный «примитивизм» формата пакетов Slackware не мешает использовать в этом дистрибутиве весьма развитые средства пакетного менеджмента, обеспечивающие учёт и автоматическое разрешение зависимостей. Поскольку внутри самих пакетов никакой метаинформации не содержится, для хранения её можно использовать любую внешнюю базу.
Этой особенностью формата пакетов Slackware активно пользуются все, у кого возникает к тому желание или необходимость, приспосабливая к ней любые системы управления пакетами. Так, мне доводилось слышать об удачных попытках применения в Slackware системы портов, заимствованой из FreeBSD. Для Slackware поддерживается система pkgsrc – портообразная система, разработанная первоначально для NetBSD. На базе синтеза Slackware и pkgsrc активно развивается несколько дистрибутивов, например, Voltalinux и Draco GNU/Linux.