Текст книги "Вопросы истории: UNIX, Linux, BSD и другие"
Автор книги: Алексей Федорчук
Жанры:
ОС и Сети
,сообщить о нарушении
Текущая страница: 13 (всего у книги 28 страниц)
Итак, дистрибутив SLS умер. Но душа его жила. Ещё в период его активного развития Патрик Фолькердинг принял SLS за основу своей Linux-системы, названной Slackware, первая версия которой была обнародована 17 июля 1993 года и с тех пор успешно развивается по сей день.
Именно со Slackware началась и история Linux-дистрибуции в организационном, так сказать, аспекте. Сразу же после своего появления Slackware, помимо обычных сетевых каналов, начала распространяться на CD известной медиа-фирмой Walnut Creek.
Slackware в своём внутреннем устройстве унаследовала первозданную простоту SLS. И не только унаследовала – именно простоту Патрик возвёл в основополагающий принцип построения системы. Реализация его выразилась в сохранении BSD-стиля инициализации, простого формата пакетов, и «идеологически обусловленного» отказа от контроля их зависимостей.
Создававшиеся чуть позже (но в масштабах эпохи – практически одновременно) дистрибутивы Debian и Red Hat пошли по прямо противоположному пути: всё более усложняющаяся со временем схема инициализации в стиле System V, включение максимально большого количества метаинформации в структуру пакетов и все более изощрённые формы контроля их зависимостей.
Новшествами Slackware были:
•
собственная программа инсталляции – меню-ориентированная, работающая в псевдографическом режиме, похожая по виду и родственная по духу создававшейся в то же самое время утилите sysinstall из FreeBSD;
•
выделение категорий пакетов – базовой системы (A), консольных приложений (AP), средств разработки (D), оконной системы X и ее приложений (X и XAP, соответственно), и так далее;
•
набор утилит для управления индивидуальными пакетами, не предусматривающего, однако, никакого контроля зависимостей.
Время показало провиденциализм подхода Патрика – Slackware живёт и развивается вот уже 15 лет, не поступаясь своими принципами, сохраняя редкую по нынешним временам компактность, лишь обновляя версии ядра, компоненты базовой системы и приложений. Сохраняется и устойчивый круг пользователей этого дистрибутива.
Отступление. Многие линуксоиды моего и более старшего поколения начинали свою дорогу в Linux со Slackware – и ничуть об этом не жалеют, вне зависимости от того, какие дистрибутивы бы они не использовали в дальнейшем. Знакомство с этой системой дает совершенно неоценимый опыт, позволяющий найти пути для решения любых проблем в любых других дистрибутивах. И потому крылатая фраза «изучая Slackware, ты изучаешь Linux» имеет под собой все основания.
Исходный «примитивизм» формата пакетов Slackware не мешает использовать в этом дистрибутиве весьма развитые средства пакетного менеджмента, обеспечивающие учёт и автоматическое разрешение зависимостей. Поскольку внутри самих пакетов никакой метаинформации не содержится, для хранения её можно использовать любую внешнюю базу.
Этой особенностью формата пакетов Slackware активно пользуются все, у кого возникает к тому желание или необходимость, приспосабливая к ней любые системы управления пакетами. Так, мне доводилось слышать об удачных попытках применения в Slackware системы портов, заимствованой из FreeBSD. Для Slackware поддерживается система pkgsrc – портообразная система, разработанная первоначально для NetBSD. На базе синтеза Slackware и pkgsrc активно развивается несколько дистрибутивов, например, Voltalinux и Draco GNU/Linux.
Механизм apt-get, обеспечивший славу Debian, а в дальнейшем немало способствовавший и популярности семейства Ubuntu, также был адаптирован для использования в Slackware: здесь он получил название slapt-get. На основе синтеза Slackware и пакетного менеджера pacman, происходящего из Archlinux (кстати, во многом – идейного наследника Slackware), возник дистрибутив Frugalware.
Разработан был для Slackware и собственный менеджер пакетов, swaret. Однако в штатный комплект дистрибутива он, вследствие заветов Патрика, так и не вошёл. Потому что для собственно Slackware в качестве основных средств управления пакетами Патрик по прежнему признает только два: установку официальных бинарников с помощью штатных утилит, при ручном разрешении зависимостей, и компиляцию из исходников – в случае, если нужных пакетов нет в репозитории или их официальная сборка по тем или иным причинам не удовлетворяет пользователя. Всё остальное – от глюкавого. То есть дистрибутив этот должен рассматриваться не столько как законченная система, сколько как каркас для конструирования системы собственной.
Debian: второй шаг к пользователюДистрибутиву Slackware не долго пришлось оставаться в гордом (почти) одиночестве на своём тернистом пути к пользователю. Скоро этот путь пришлось делить на троих – сначала с Debian, а затем и с Red Hat.
История дистрибутива Debian особенно интересна по четырём причинам. Первая – ее длительность и насыщенность событиями, давшими большое количество инноваций, аккумулированных мировым дистроением. Вторая причина – Debian стал основоположником универсалистской тенденции в дистроении, стремившейся охватить весь океан свободного софта. Третья – Debian стал прародителем максимального количества активно развивающихся клонов. И, наконец, четвертая – некоторые из его потомков сравнились по популярности с родителем, а один (Ubuntu) даже превзошёл его (не это ли мечта всех родителей?).
Debian – или, точнее, Debian GNU/Linux, разработчики настаивают именно на таком его именовании, – был создан в 1993 году Яном Мёрдоком (Ian Murdock), и его название образовано сочетанием имен его жены Деборы (Debora) и самого автора – в то время он был студентом Университета Пэрдью (Purdue). Однако очень быстро вокруг Debian выросло сообщество пользователей и разработчиков, и проект приобрёл общественное значение.
Основной идеей раннего (1993– 1995 гг.) Debian были – модуляризация авторских пакетов, сборка этих модулей в качестве дистрибутивных пакетов с детальным описанием их зависимостей, утилита dpkg для управления оными в масштабе одного отдельно взятого пакета. И, под занавес первого акта, dselect – первая система пакетного менеджмента, достойная претендовать на звание именно системы и представляющая собой front-end к dpkg, обеспечивающий автоматическое разрешение зависимостей и установку целевых наборов пакетов. Эти тендеции получили развитие в дальнейшем.
Универсализм Debian проявился на следующем этапе его развития, начиная с 1996 года, когда Яна, ушедшего после окончания университета на службу мировому капиталу (в компанию Progeny), на посту лидера проекта сменил Брюс Перенс – известный адепт Open Source, автор многочисленных публикаций на эту тему и, по совместительству, – тогда еще и немалый чин в компании Pixar. Каковая, к слову сказать, поучаствовала и в поддержке проекта Debian – в том числе, как мы увидим чуть дальше, и идеями.
Будучи по долгу службы связанным со всякого рода мультимедийным софтом, Брюс резонно решил включить его в состав дистрибутива. А там уже был один шаг до того, чтобы инфраструктура Debian охватила практически все изобилие свободного программного обеспечения. Так что с тех пор количество пакетов в дистрибутиве нарастало от версии к версии чуть ли не в геометрической прогрессии, и к настоящему времени с трудом поддаётся исчислению.
Кроме того, на время лидерства Брюса пришлась разработка документов Принципы Свободного Программного Обеспечения Debian и Общественный контракт Debian, а также создание принципов контроля качества включаемых в дистрибутив пакетов. Наконец, именно он предложил систему кодовых имён версий дистрибутива (Potato, Woody и другие) – это были персонажи из мультфильма Toy Story, выпущенного компанией Pixar (вот оно, идейное воздействие масс-медиа!). При этом имя Sid, которое носил соседский мальчик, портящий игрушки, было навсегда закреплено за разрабатываемой версией – как символ того, что разработчики новой версии программы в процессе своей работы подчас вынуждены временно «подпортить» версию старую.
В период 1996– 1999 года Debian, в частности, благодаря политике контроля качества, завоевал признание как серверная платформа и система для технически грамотных пользователей (читай – в первую голову, для разработчиков). При этом он счастливо совмещал в себе качества «системы для себя» и «системы для всех». Первая сторона вопроса обеспечивалась программой dpkg, вторая же стала возможной благодаря ее надстройке – dselect.
Одновременно продолжали развиваться универсалисткие тенденции дистрибутива – не только вглубь океана Open Source Software, но и вширь – переносясь на архитектуры, отличные от i386. В интервале 1996– 1999 года Debian был портирован на платформы 68XXX, Alpha, затем – Sparc и PowerPC, Intel64 (так называемый Merced) и AMD64.
Важнейшей, наверное, вехой в развитии Debian (и не только его) стал выпуск весной 1999 года версии 2.1 Slink (Slinky – это такая собачка из того же мультика). И судьбоносность ее определяется тем, что в нее впервые был включён apt – универсальный инструмент для управления пакетами, который и создал позднее условия для широкого распространения Debian-клонов.
Значение apt переоценить трудно – он не только был портирован в дистрибутивы, использующие формат пакетов rpm, не только послужил прообразом для многих других систем управления пакетами, претендующими на универсальность (yum, urpmi), но и оказался своего рода связующим звеном между пакетными дистрибутивами и системами Source Based, поскольку обеспечивал не только установку бинарных пакетов. но и их построение (вплоть до тотальной пересборки системы, подобно сакраментальному make world из FreeBSD). Впрочем, все это стало ясно много позднее, по крайней мере, широким пользовательским массам.
Не случайно именно к 1999 году относятся первые попытки создания на базе Debian Систем Быстрого Развёртывания, таким, как Storm Linux и Corel Linux. Но это история, до которой мы доберёмся ещё не скоро.
Red Hat: совсем для всех?Если Slackware продолжил исконно UNIX’овую традицию систем для себя, а Debian являет собой первый пример дистрибутива, развиваемого сообществом и для сообщества, то следующим шагом дистроения стало создание дистрибутива, претендующего быть системой для всех.
Ибо тем временем обозначилась первая сфера практического применения Linux за пределом круга разработчиков программного обеспечения – сервера сетевых служб, в том числе – web-сервера. Это вызвало к жизни вторую волну дистрибутивов (правда, по времени она практически пересеклась с первой – но в те героические годы счет вёлся на месяцы, если не на дни). И первой ласточкой её стал Red Hat, который м создавался как дистрибутив «для всех» – хотя, конечно, под понятие «все» тут попадали в первую очередь администраторы компьютерных сетей (время Linux’а для конечного пользователя ещё не пришло). Но важно, что Red Hat представлял собой не набор для конструирования собственной системы, как Slackware (да и Debian в те годы, до разработки apt, также скорее предполагал собственное конструирование, нежели готовое решение), а попытку создания системы, работающей «из коробки».
Было время на Руси, когда
Говоришь Linux – подразумеваешь Red Hat. Говоришь Red Hat – подразумеваешь Linux.
Дистрибутив Red Hat – третий в ряду ныне живущих патриархов дистроения, после Slackware и Debian (хотя, повторяю, приоритет тут исчисляется первыми месяцами). Он разрабатывается с 1993 года, в октябре 1994 года появилась первая общедоступная бета-версия, а в мае 1995 года – первый официальный релиз.
В отличие от Slackware, созданного и развивавшегося кустарём-одиночкой с персональным компьютером, и Debian, вокруг которого быстро сложилось сообщество разработчиков, за Red Hat с самого начала его разработки стояла одноимённая коммерческая компания. Основали её Боб Янг (Bob Young) и Марк Юинг (Marc Ewing) в 1993 году, имея целью поставить свободное слово на службу мировому капиталу.
Происхождение названия дистрибутива (красная шляпа) и соответствующего логотипа объясняют тем, что Юинг в студенческие годы рассекал по колледжу в дедушкином шапо соответствующего колёру. Хотя Янг объясняет его тем, что красный цвет в дзэн-буддизме символизирует всякие хорошие качества.
Это была первая попытка монетизации свободного софта: сам дистрибутив распространялся свободно, в соответствие с лицензией GPL, и бесплатно (по цене носителей и доставки), деньги же предполагалось извлекать из технической его поддержки. А поскольку оплачивать таковую обычно готовы не частные лица, а организации, то Red Hat изначально был ориентирован на корпоративную сферу – во-первых, и на дружелюбие к пользователю – во-вторых.
Правда, следует учесть, что хотя шире стал круг пользователей, но связь их с народом не стала особенно ближе: расширился он за счёт сисадминов, до приобщения к Linux’у пользователей «простых» оставалось ещё несколько лет.
Настоящие сисадмины, как известно, люди занятые – с одной стороны, и ленивые – с другой. Возиться с конструированием системы им обычно не с руки. И потому Red Hat с самого начала отличался простотой установки – максимально возможной в те времена.
Значительную роль в упрощении процедуры установки и поддержки сыграл формат пакетов RPM (что тогда расшифровывалось как Red Hat Package Manager) и одноимённая утилита для манипулирования такими пакетами, способная отслеживать зависимости и сообщать об их нарушении (но ещё не разрешать их автоматически). По сравнению с молчаливым пакетным инструментарием из Slackware, способным установить неработоспособную, из-за нарушения зависимостей, программу, это казалось большим прогрессом.
Происхождение системы rpm (будем понимать под этим и набор утилит, и формат пакетов, с которыми они работают) теряется во мраке веков. В первых версиях Red Hat использовалась система RPP, обеспечивающая установку пакетов одной командой, проверку зависимостей и запрос информации о них. Однако сборка пакетов для неё требовала существенной модификации исходников, что было напряжно для разработчиков.
Параллельно раннему Red Hat некоторое время развивался дистрибутив Bogus, ныне мало кому известный. В нём имелась собственная пакетная система – PMS (Package Management System), написанная Рикардом Файтом (Rikard E. Faith). Она обладала слабым механизмом запросов информации о пакетах, а проверка их зависимостей просто отсутствовала. Но зато пакеты для PMS можно было собирать непосредственно из исходников, без всякой их модификации.
В ходе подготовки 2-го релиза Red Hat Рикард Файт вместе с Дугом Хоффманом (Doug Hoffman) по контракту с поименованной компанией написали систему PM, вобравшую в себя лучшие особенности RPP и PMS. Хотя практически она так и не была задействована, но послужила одной из основ для RPM.
Собственно система RPM была создана Марком Юингом и Эриком Троэном (Erik Troan), основываясь на всех достижениях предшественников – RPP, PMS и PM. Вариант её, подготовленный для тестовых версий второго релиза, быстроты ради был написан на Perl’е, что создавало ряд проблем, например, при загрузке с дискеты (а в те времена это было достаточно обычным способом старта Linux’а). И непосредственно к выходу релиза Red Hat 2.0 система была полностью переписана на C, база данных пакетов перепроектирована для пущей надёжности и быстродействия, и создана библиотека rpmlib для использования функциональности RPM сторонними разработчиками. Иными словами, система RPM приобрела практически тот вид, в каком мы знаем её ныне, подвергаясь с тех пор только корректировке ошибок и косметическим доделкам.
Система RPM и одноимённый формат, став штатными и общедоступными в релизе Red Hat 2.0, вышедшей в сентябре 1995 года, сразу завоевали популярность и вне родительской системы. Вскоре они были использованы в Caldera Linux, Suse, Mandrake и многих других – и об этом будет говориться в следующих сериях.
Глава двенадцатая. Лицом к пользователю
Red Hat, проторивший путь дистрибутивам для всех с коммерческой поддержкой, не долго оставался на нём одиноким: вскоре у него появились последователи. И первым среди них стала Suse.
Suse: по стопам Red HatДистрибутив Suse изначально назывался S.u.S.E. – эту аббревиатуру производят от имени компании, разработчика и распространителя его (Gesellschaft für Software– und System-Entwicklung), хотя в источниках можно встретить и другие трактовки его имени. Что, впрочем, не важно – форма его несколько раз менялась (S.U.S.E, SUSE, Suse), а в конце концов в чистом виде оно просто вышло из употребления.
Компания S.u.S.E. начинала свою деятельность с распространения уже имевшихся дистрибутивов – SLS и Slackware, а также издания руководств по UNIX и Linux.Однако вскоре ей захотелось иметь дистрибутив собственный, каковой и был создан на имеющейся кодовой базе названных систем. Позднее этот путь станет типичным для большинства коммерческих Linux-компаний.
Suse, как коммерческий продукт вышеозначенной фирмы, начал развиваться практически одновременно с Red Hat, в 1994 году. Сначала это был самый обычный дериват Slackware с германской локализацией и прикрученной универсальной системой установки и конфигурирования – YAST, призванной облегчить труд администратора, сведя его к простановке галочек в соответствующих полях.
Таким образом, Suse стал первым дистрибутивом со сквозной системой установки и автоматизированного конфигурирования. При этом ручные настройки путем прямой правки конфигов – единственный способ доведения до ума материнской Slackware, – отметались напрочь: попытки ручного вмешательство в Suse влекли в те годы последствия непредсказуемые.
Постепенно Suse всё больше отдалялась от родительской системы, заимствуя многие особенности Red Hat. В частности, в неё были внедрены формат пакетов RPM и система инциализации в стиле System V (в Slackware, как известно, исконным был BSD-стиль инициализации). И в результате уже через пару-тройку лет Suse стала настолько своеобразной системой, что и сам папа Патрик не догадался бы о её происхождении.
Ещё одной особенностью Suse стало повышенное внимание к графической системе, место которой в Linux’е ‘к тому времени практически безраздельно заняла свободная инкарнация Иксов – XFree86. Тесные контакты с разработчиками последней обеспечил дистрибутив поддержкой самых современных тогда видеочипов – в те времена для каждого графического чипа (или серии близких чипов) предназначался собственный X-сервер.
Свидетельствую как очевидец: запустить Иксы на считавшихся тогда крутыми видеокартах типа ATI Match32/64 в Slackware или Red Hat часто удавалось только после прикручивания к ним соответствующего X-сервера, вытащенного из Suse.
Бизнес-модель Suse строилась несколько по иной схеме, нежели у Red Hat. В частности, этот дистрибутив включал в себя ряд закрытых проприетарных компонентов (в первую очередь – ту же систему YAST). И в «полноразмерном» виде бесплатно не распространялся – для свободного скачивания была доступна функционально ограниченная версия. Она же распространялась первыми системами онлайновой торговли по цене носителя и доставки. А полноценный дистрибутив в коробочном исполнении продавался за немалые по масштабам тех лет деньги – от ста долларов и выше. Однако он сопровождался объёмной (и очень качественной) печатной документацией, которая сама по себе составляла львиную долю стоимости коробки, и атрибутикой – в частности, значком хамелеона, исполненном как правительственная награда.
Видимо, непосредственная продажа дистрибутивов и составляла основную статью дохода фирмы. Хотя и от технической поддержки в корпоративных масштабах она тоже, насколько я знаю, не отказывалась.
В скором времени Suse стал дистрибутивом номер один не только в Германии, но и практически по всей Европе, заняв на этом континенте ту же нишу, что и Red Hat в Америке. И жил долго и счастливо, пока не был куплен фирмой Novell – но тогда это было делом далёкого будущего.
Caldera: предыстория грядущегоЛавры Red Hat не давали покоя майнтайнерам и на Американском континенте. И из всех, вожделевших их в то время, наибольшая удача выпала на долю дистрибутива Caldera – правда, удача, так сказать, посмертная, в виде памяти, и не очень лестной. Хотя как раз собственно дистрибутивом такая память и не заслужена. Для понимания этого нам опять придётся вернуться назад и даже свернуть в сторону – в мир проприетаризма. А именно – к истории компании Novell, которая уже фигурировала в нашем рассказе в связи с освобождением FreeBSD.
Возникнув в 1979 году, компания эта на протяжении долгого времени с миром FOSS никак не пересекалась, разрабатывая и продвигая свою проприетарную сетевую систему Netware. И продвинула её настолько, что одно время Netware и корпоративные сети воспринимались как близнец-братья.
Но в начале 90-х годов прошлого века компанию, как некогда сиятельного Камильбека из «Повести о Ходже Насреддине», поразило хватательное рвение. Она в массовом масштабе скупала операционные системы (DR DOS – продвинутый аналог MS DOS), компоненты офисных пакетов – текстовый процессор WordPerfect и табличный процессор QuattroPro, получает права на распространение настольной СУБД Borland Paradox. В числе прочего ею были приобретены также права на исходный код и торговую марку UNIX (оставшиеся как бы бесхозными после разделения их прародителя – AT&T). На базе чего была создана система UNIXWare, но это части других историй – былой и грядущей.
«Офисное» направление деятельности Novell особого успеха не имело, как и её UNIX-бизнес. В результате один из основателей фирмы, Рэй Нурда (Ray Noorda), ушел в оставку, а все новоприобретения – распроданы в розницу: офисные пакеты – фирме Corel, где они составили пакет Corel Office, агония которого продолжается чуть не по сей день, UNIXWare – SCO (то есть Canta Cruz Operations), дополнив её собственную систему, получившую отныне имя SCO OpenServer.
Рэй же Нурда основал новую компанию – Caldera Systems, которая, в частности, приобрела у Novell DR DOS. Однако основным направлением её деятельности стала Linux-дистрибуция.
Первоначально Caldera Linux представляла собой цельнотянутый Red Hat, дополненный некоторыми не вполне свободными компонентами, типа рабочего стола Looking Glas и средств интеграции с сетями Novell Netware. Однако вскоре этот дистрибутив обзавёлся собственным графическим инсталлятором (одним из лучших для своего времени) и вообще приобрёл своеобразие, отмеченное новым собственным именем – Caldera OpenLinux.
Свободная версия Caldera OpenLinux представляла собой очень компактный, аккуратно укомплектованный дистрибутив, широкому использованию которого препятствовали только слабые средства интернационализации. А коммерческая версия включала в себя немало проприетарных продуктов, вплоть до Wabi (средства эмуляции Windows от фирмы Sun), текстового процессора WordPerfect и векторной «рисовалки» CorelDRAW, работавших в режиме эмуляции, офисного пакета StarOffice (в то время ещё закрытого), и так далее.
Наконец, в первых годах нового тысячелетия Caldera становится одним из соучредителей альянса United Linux – наряду с Suse (тогда это была Европа), Turbolinux (Япония) и Connectiva (Бразилия); таким образом, альянс этот охватил чуть не все континенты (африканской Ubuntu тогда ещё и в проекте не было). Но это уже тоже начало иной истории.
А пока резюмируем: Red Hat, Suse и Caldera образовали к концу 90-х годов «могучую кучку», создавшую предпосылки для продвижения FOSS-систем в корпоративный сектор.