О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

16.08.2008

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

2002-2004 гг

Актуализирующее вступление: эта статья сочинялась для бумажной Компьютерры, где и была опубликована в начале 2002 г. (вероятно, и по сию пору доступна в онлайновой версии). А актуальной она показалась мне в связи с дискуссией об идеальном дистрибутиве на Linuxforum'е. Текст отредактирован лишь в стилистическом отношении - содержательная его часть осталась практически без изменений (исключая пару актуализирующих комментариев). А потому прошу учесть - писалось это скоро как три года назад, и кое в чем мои взгляды изменились. В частности, нынче я отнюдь не уверен в необходимости сквозных средств конфигурирования (благо таковые в виде шелла и текстового редактора придуманы более 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 обрели пусть и не столь широкую, но вполне сложившуюся пользовательскую базу.