Феномен Linux — в истории и перспективе

Автор: Алексей Федорчук
2002-2004 гг

Актуализирующее вступление: эта статья сочинялась для бумажной Компьютерры, где и была опубликована в начале 2002 г. (вероятно, и по сию пору доступна в онлайновой версии). А актуальной она показалась мне в связи с дискуссией об идеальном дистрибутиве на одном из форумов. Текст отредактирован лишь в стилистическом отношении — содержательная его часть осталась практически без изменений (исключая пару актуализирующих комментариев). А потому прошу учесть — писалось это скоро как три года назад, и кое в чем мои взгляды изменились. В частности, нынче я отнюдь не уверен в необходимости сквозных средств конфигурирования (благо таковые в виде шелла и текстового редактора придуманы более 30 лет назад).

В этой заметке рассказ пойдет в особенности об операционной системе Linux — именно она символизирует явление, которое вошло в историю как феномен Open Source. Хотя Linux и не одинока на этой стезе, но только она породила множество прямых потомков в лице сотни дистрибутивов и даже послужила объектом для подражания (с точки зрения если не буквы, то — духа). В качестве примера можно привести ОС AtheOS. Да и реанимация проекта Hurd после многих лет вялотекущего существования, думается, во многом вызвана популярностью Linux.

В общем, то, что происходит в последние два-три года (напоминаю — отсчет идет от конца 2001-го), получило название Linux-бума. Однако ни один бум не может длиться вечно. Чувство восторженной новизны со временем ослабевает, события входят в более спокойное русло, и возникает вопрос: каким окажется будущее Linux? Попробуем представить его, обратившись к истории.

Начну с момента, когда, как мне кажется, ОС Linux впервые обратилась лицом к конечному пользователю. Волею случая, именно тогда началось и мое приобщение к Linux, поэтому я могу говорить о том, что в значительной мере происходило на моих глазах. За точку отсчета приму выход Linux Mandrake 5.1 — первого произведения Жиля Дюваля сотоварищи (номер версии тут смущать не должен — он соответствует таковому Red Hat, от которого Mandrake отпочковался). Утверждение это может показаться спорным. Ведь к тому времени большинство популярных дистрибутивов далеко отошло от сборки .с помощью паяльника и осциллографа (C) Суханов), предоставив достаточно удобные средства установки и конфигурирования. Однако средства эти предназначались все же скорее сисадмину, чем рядовому пользователю.

Mandrake же изначально принял во внимание интересы именно конечного, в том числе и домашнего, пользователя. В него в качестве стандартной была включена первая и тогда единственная работоспособная интегрированная визуальная среда — KDE (поклонники Gnome меня, конечно же, не простят, но назвать его работоспособным тогда — как, впрочем, и сейчас, — можно было с большой натяжкой; а XFce — и до сих пор не назовешь по-настоящему интегрированной средой. Именно KDE позволила преодолеть психологический барьер множеству пользователей, не впитавших с молоком матери пристрастия к sh и vi.

Кроме того, Mandrake исходно был интернациональным по сути. Его разработчики пытались, хотя бы теоретически, охватить все изобилие языков нашей маленькой планеты. Последний фактор сыграл решающую роль в судьбе Mandrake на постсоветском пространстве: с локализации пакета (IPLabs Linux Team, ныне Altlinux) по-настоящему началась разработка отечественных дистрибутивов. Предтечами чего выступили и диски УрбанСофта, и Красная Шапочка, и украинские KSI и Black Cat. Однако в начале непрерывной традиции русскоязычия Linux — именно Linux Mandrake Russian Edition.

Следуя веяниям времени, по тропе, намеченной Mandrake, двинулись и прочие разработчики. Один за другим дистрибутивы приобретают красивые графические программы инсталляции, удобные средства настройки, расширяют круг поддерживаемых языков, обрастают мультимедийными приложениями. Однако — не все: ряд систем не просто сохраняет верность стилю True Linux, но и развивает его.

В итоге к настоящему моменту привычная классификация дистрибутивов на Red Hat-, Slackware-, Debian-клоны оказалась размытой. С одной стороны, появились кросс-дистрибутивные средства управления пакетами, формат которых — одна из основ традиции (такие, как исходно Debian’овский apt, ныне успешно прикрученный ко многим rpm-based системам). А благодаря усилиям по стандартизации Linux будет, надеюсь, нивелирован и другой ее столп — различие логической структуры файловых систем. С другой стороны, клоны основных систем (тот же Mandrake, или, паче того, Corel Linux) настолько отошли от своих прототипов, что об их происхождении подчас не напоминает даже формат пакетов (примером чему — Suse, прототипом которой некогда послужила Slackware).

И потому единственный критерий классификации дистрибутивов ныне — это их ориентация — на конечного ли пользователя или на системного администратора (речь идет о универсальных дистрибутивах. Специализированные системы с нестандартной, так сказать, ориентацией, выступающие под девизом «Linux на одной дискете», здесь не рассматриваются). Под чем отнюдь не подразумевается их назначение — настольное (в первом случае) или серверное (во втором): и те и другие могут с успехом использоваться в обоих качествах. Просто в user-ориентированных системах не забыто, что администратор Web- или LAN-сервера — тоже пользователь, то есть человек, и ничто человеческое (в частности — и здоровая лень в отношении ручных настроек) ему не чуждо. Вторые же напоминают о том, что на настольной машине любой пользователь, как правило, — сам себе root и может испытывать желание сделать руками все.

Отсюда вытекают основные различия выделяемых групп. Типичные представители первой — современные версии Red Hat, Suse, Caldera OpenLinux, Mandrake, почти все вариации на тему Altlinux, ASPLinux и многие, многие другие. По умолчанию им свойственны: установка в графическом режиме (конечно, порядочные люди, как правило, предусматривают и возможность текстовой инсталляции в ручном режиме, однако это лишь дополнительная фича для нештатных ситуаций), автоматизация создания дисковых разделов и настройки основных параметров, выбор предопределенных групп пакетов — скажем, для разработчика, для сервера, для офисного применения. Апофигей этой группы — Corel Linux, в котором текстовой установки нет как класса, а многие настройки только автоматические.

Кроме того, user-ориентированные дистрибутивы постепенно обзаводятся едиными системами конфигурирования, функционально подобными Панели управления из Windows, — здесь «впереди планеты всей» Mandrake: его Control Center способен решить почти все пользовательские задачи в автоматическом режиме (включая выдвижение лотка CD-привода для вставки диска, содержащего требуемую библиотеку).

Вторая группа представлена d перую очередь Slackware и Debian, их клонами и, наконец, RockLinux, который можно поднять над ними в качестве штандарта (со временем к ним добавились Gentoo, CRUX, Archlinux — А.Ф.). Здесь — все иначе: аскетичная установка в текстовом или, в лучшем случае, псевдографическом режиме, ручное создание разделов утилитами fdisk или cfdisk и ручной же выбор пакетов, локализация посредством текстового редактора (он же — и главный инструмент конфигурирования вообще). Короче говоря, перечисление отсутствующих возможностей способно вызвать дрожь у Windows-пользователя.

Тем не менее, популярность sysadmin-ориентированных дистрибутивов отнюдь не снижается. Почему? Ответить нетрудно. Именно они дают полную свободу в настройке системы под свои потребности. И пользователь Windows, начавший знакомство с Linux с продукции Corel (в надежде без напряга обрести мощь Unix), очень быстро понимает, подобно цитируемому товарищем Бендером персонажу, что все в жизни имеет оборотную сторону.

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

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

Итак, можно сказать, что если традиционные дистрибутивы пытаются возвысить юзера до сисадмина, то user-ориентированные — адаптируют систему до уровня понимания юзера. И расслоение Linux на две эти группы — реальность сегодняшнего дня.

Что же ждет нас завтра? Я, честно говоря, не верю в разлив основного Linux-русла по десктопам широких пользовательских масс — эта ОС займет место на винчестерах достаточно ограниченного круга юзеров. И — специфического, тех, кто в итоге приходит к выводу о необходимости разобраться в той или иной мере в устройстве системы. И потому крайние user-ориентированные возможности современных дистрибутивов останутся невостребованными — не в этом ли причина блистательного провала Corel Linux?

Тем не менее, возврата к эпохе паяльника и осциллографа уже не будет — к легкой жизни привыкаешь быстро. Так что следующий этап развития Linux видится мне в достижении разумного компромисса между автоматизацией и ручной работой. А вот какова будет форма этого компромисса — об этом «давай хотя бы помечтаем» ((С) Тимур Шаов).

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

А вот что следует оставить сугубо на усмотрение пользователя — это комплектацию системы. Тем более что штатные наборы пакетов отражают не только (а подчас и не столько) их взаимозависимости, сколько представления авторов дистрибутива о потребностях типичного разработчика или офисного труженика.

Возможно, это покажется беспринципным, но контроль зависимостей пакетов я, напротив, отдал бы на откуп системы — разбираться с этим большинству пользователей лень. Вернее, специальной интегрированной программы, позволяющей доустанавливать или удалять любые программные компоненты. К тому же мы знаем примеры более чем успешной реализации такого подхода — что в текстовом режиме (pkgtool в Slackware), что в графическом (тот же Control Center в Mandrake).

А еще лучше, если программа установки софта будет одновременно и общим конфигуратором системы. Желательно — идентичным по интерфейсу с программой установки самой ОС.

Если суммировать все сказанное и довести до логического завершения, мы получим. нечто вроде FreeBSD с ее sysinstall, не так ли? Внешне, разумеется, а не с точки зрения внутреннего устройства ядра, файловой системы etc.

Это я не к тому, что следует сменить Linux на *BSD (в этих системах у пользователя возникнут свои проблемы). Однако почему бы не присмотреться к тому, что делается в стане братьев во Open Source? Братьев по классу, по духу — ну и пусть, что не по лицензии.

Post Scriptum сего дня: с радостью должен отметить, что, подобно большинству пророков, я также был посрамлен в своем пророчестве — о невозможности возврата к эпохе паяльника и осциллографа. Иначе чем объяснить столь широкую популярность Gentoo, не имеющего ни инсталлятора, ни конфигуратора? Или — течение Linux from Scratch, время от времени приобретающее характер эпидемии. И если последнее — явление сугубо возрастное (не в биологическом, понятно, смысле — на определенной стадии своего развития большинство пользователей Linux испытывает непреодолимую потребность собрать собственную систему), то Gentoo прочно занял свое место среди популярных дистрибутивов, потеснив и Debian, и Slackware. А соплеменные ему по духу CRUX и Archlinux обрели пусть и не столь широкую, но вполне сложившуюся пользовательскую базу.