Представьте себе версию Unix, поставляемую по идеальной цене (бесплатно), с современными возможностями и внушительным набором средств программирования и разработки (тоже бесплатным), которая будет успешно работать на устаревшей технике, достаточно мощна для того, чтобы поддерживать работу Web-сервера или сервера печати и вдобавок распространяется вместе с полным набором исходных текстов.
Не надо напрягать воображение: просто взгляните на Linux - ОС семейства Unix, которая вышла за пределы мира любителей-"юниксоидов" и вторглась в сферу бизнеса. Linux не Solaris и вряд ли справится в одиночку с проблемами крупного предприятия, но информационную систему небольшой фирмы или сервер, исполняющий какую-либо одну функцию, запустить под управлением этой ОС вполне возможно. И такие решения все чаще и чаще стали применяться на практике.
Сколько же фирм используют Linux? Ответить на этот вопрос нелегко: поскольку система распространяется свободно, даже компании, специализирующиеся на ее распространении, не знают точного числа пользователей. Однако некоторые оценки можно сделать по результатам опросов.
Итак, сколько людей работает в организациях, в которых хотя бы в каком-то одном виде деятельности используется Linux? "Статистические исследования, проводившиеся журналами, дают разброс от 10 до 30% респондентов", - говорит Роберт Янг, президент компании Red Hat Software, специализирующейся на распространении Linux. Самую высокую цифру - около 34% - показал опрос пользователей Linux, осуществленный одним из немецких компьютерных журналов. Янг, кроме того, отмечает, что Linux применяется все больше: опросы неизменно показывают увеличение процента людей, сообщающих, что они в той или иной форме используют Linux. "Низкие показатели, как правило, относятся к более ранним опросам", - поясняет он.
Хотя профессионально распространением Linux занимаются главным образом американские компании, такие как Red Hat или Walnut Creek, эта система интернациональная: она появилась в Финляндии, а разрабатывалась программистами из самых разных стран, общавшихся друг с другом через Internet, и сейчас ее популярность растет во всем мире. По словам Янга, особенным успехом Linux пользуется в Восточной Европе и республиках бывшего Советского Союза, активно распространяется также в азиатских и других развивающихся странах.
Но даже такой энтузиаст, как Янг, не считает, что можно целиком "повесить" на Linux крупное предприятие. Linux служит для выполнения частных задач, особенно для поддержки серверов различных сетей, а также intranet- и Internet-серверов.
"Самое крупное одиночное применение - это Internet-сервер, - замечает Янг. - Обеспечивая различные функции, от брандмауэра до Web-сервера, Linux, по некоторым оценкам, оказывается второй по распространенности операционной системой в Сети". В стандартный дистрибутивный пакет Linux составной частью входит Apache - один из самых популярных существующих Web-серверов. Другие прикладные программы для Linux покрывают диапазон от серверов печати до FTP-серверов и систем сбора данных: на космическом корабле "Шаттл" компьютер с Linux (наряду с выполнением других заданий) регистрировал данные по Антарктике. Linux успешно справляется и с функциями ОС для настольного компьютера, особенно если пользователь знаком с Unix.
Почему Linux?
Аргумент "Linux распространяется бесплатно" для бизнесмена, по-видимому, не так важен, как для бедного студента или хакера-"юниксоида", весьма ограниченного в средствах. Когда заходит речь о программном обеспечении, особенно об операционных системах, "бесплатность" может вылиться в огромные затраты. И Янг, как и другие пропагандисты Linux, хорошо понимает, что привлекательность системы для бизнесменов заключается не только и не столько в ее цене, сколько в мощности, стабильности и богатом наборе дополнительных возможностей.
В точном смысле слова Linux не относится к Unix-семейству, т. е. не происходит ни от какой другой версии Unix. Это ОС, работающая аналогично Unix, но написанная "с нуля": в ней нет ни строчки кода, который представлял бы собой чью бы то ни было собственность. Разработка Linux началась в 1991 г. по проекту финского аспиранта Линуса Торвальдса и быстро развивалась благодаря усилиям хакеров со всего мира и Internet, помогавшей им координировать эти усилия. В 1993 г. появилась первая готовая версия, распространявшаяся по бесплатной лицензии. В настоящее время Linux распространяется на условиях стандартной лицензии GNU* (GNU, кстати, означает GNU's not Unix, т. е. "GNU - это не Unix"), которая, среди прочего, требует, чтобы программы поставлялись вместе с исходными текстами. Развитие и поддержку системы осуществляет сеть добровольцев по всему миру.
Типовая полная установка (для определенности я рассматриваю здесь дистрибутив Slackware) включает саму ОС; оболочку X Window в реализации X Free86; издательские пакеты NTeX и TeX; GNU-компиляторы языков Си, Си++ Objective C, Фортран-77, Лисп (GNU common LISP), Tcl, TclX; утилиты make, byacc, GNU Bison, flex; библиотеки функций для Си; средства поддержки сетевых протоколов TCP/IP и SLIP/PPP и ведения учетных записей пользователей IP; брандмауэры; интерпретатор Java; почтовую программу BSD sendmail; утилиты cnews, nn, tin, trn, inn, fvwm95; шахматную программу GNU chess; наконец, HTTP-сервер Apache и Web-браузеры Arena и Lynx.
ОС Linux рассчитана на нижний предел мощности компьютера, допустимый для Unix. Она работает, и очень неплохо, на машине с процессором Intel 386 и 4 Мбайт оперативной памяти - даже Windows 3.1 в такой конфигурации существует с трудом. В действительности полная установка на одного пользователя с графической средой X Window и средствами разработки требует все же процессора 486 и большего объема памяти, но тем не менее отлично умещается в 8-12 Мбайт памяти и занимает 40 Мбайт дискового пространства.
В своем классе Linux - мощная система. Linux-сервер без труда справляется с поддержкой 100-300 пользователей (хотя это требует больше памяти и дискового пространства, чем описанная выше однопользовательская конфигурация). Прикладного ПО для Linux тоже немало. Правда, типовые офисные программы не очень развиты, зато имеется полный набор средств разработки (в основном созданных в рамках проекта GNU) и большое количество ПО для серверов и сетей, а также специальных программ (например, для статистических и научных расчетов).
Сочетание мощи, простоты установки и бесплатности делает Linux идеальным средством для выполнения небольших заданий в информационной среде, основанной на Unix. Опытный пользователь Unix может утром решить сконфигурировать Web-сервер и запустить этот сервер после обеда, не беспокоясь ни о лицензировании, ни о регистрации, ни о чем бы то ни было другом, хотя бы отдаленно связанном с бюрократическими процедурами.
При нестандартном характере работы также есть причины предпочесть Linux. Поскольку исходные тексты всех программ входят в состав дистрибутива, квалифицированный программист, знающий Unix, может модифицировать их, добавить нужные драйверы, заново собрать ядро и таким образом настроить Linux в соответствии с конкретной средой.
Установка
Будучи полноценной ОС семейства Unix, Linux тем не менее с исключительной легкостью устанавливается на машинах с процессорами X86 - в действительности намного легче, чем Solaris X86. У себя я установил Linux с дистрибутива Slackware менее чем за 45 минут (причем Linux - третья ОС на моей машине). Простота установки связана с тем, что большинство версий дистрибутива содержат инсталляционную программу, знакомую с широким диапазоном аппаратуры, существующей в мире X86. Linux успешно принимает распространенные типы процессоров, BIOS и периферийных устройств. Коль скоро аппаратура стандартна, можно рассчитывать на установку пакета с помощью одних только меню инсталляционной программы.
Некоторые устройства требуют настройки программных переключателей или использования командной строки. В определенных случаях для того, чтобы какое-то устройство заработало, необходимо модифицировать ядро системы. Поскольку исходный текст ядра входит в стандартные дистрибутивы, амбициозные пользователи вполне могут модифицировать ядро и писать собственные драйверы для достижения специальных целей.
Самая большая проблема при установке Linux - это, по-видимому, настройка компонентов X Window. Здесь сложность также состоит в том, чтобы знать аппаратуру и способы настройки ПО в соответствии с ней. В особенности это относится к графическим платам, интерфейсы которых являются собственностью фирмы-изготовителя: легально выпустить драйвер для такой платы, не прибегая к изнурительной процедуре обратной разработки (reverse engineering), может только сама фирма. Однако изготовители плат часто не заинтересованы в выпуске драйверов для Linux: во-первых, из-за того, что рынок очень мал, а во-вторых, из-за лицензии Linux, требующей приложить к драйверу исходный текст.
Возможности установки у разных дистрибутивов не совпадают. Slackware (версия, которую использовал я) славится простотой установки. Caldera существенно сложнее, но может похвастаться более богатым набором средств администрирования и работы в сети. Red Hat занимает промежуточное положение.
Одной замечательной особенностью Linux является то, что вы вполне можете позволить себе взять несколько дистрибутивов, сравнить их и выбрать лучший. Существует даже "универсальный" CD-ROM с тремя дистрибутивами Linux, который стоит около 150 долл.
Сколько стоит Linux
Сама операционная система Linux бесплатна, но очень многие предпочитают заплатить за дистрибутив, такой как Caldera, Red Hat или Slackware, и получить за это полный пакет, обычно на CD-ROM, с программой, упрощающей установку, а также определенный уровень технического сопровождения. Стоимость CD-ROM для разных дистрибутивов Linux колеблется, как правило, в пределах 20-100 долл. Обычно предоставляются бесплатные консультации по телефону в течение месяца или двух, а на больший срок - за дополнительную плату. Фирма Caldera, распространяющая один из самых полных комплектов Linux, предлагает контракт на сопровождение за 1500 долл. в год либо по 60 долл. за консультацию, фирма Workgroup Solutions - за 1000 долл. в год, 150 долл. в час или 50 долл. за консультацию. Фирма Walnut Creek сопровождает только установку.
Компания Red Hat организовала систему сопровождения через независимые фирмы. Поставщик услуг по сопровождению Linux подписывает с Red Hat соответствующее соглашение и предлагает консультации пользователям Linux. Сложную проблему, с которой не удается справиться самостоятельно, он может переадресовать в Red Hat.
Модель разработки Linux привела к парадоксальной ситуации. Формально система не поддерживается (поддержка предоставляется на коммерческой основе поставщиками дистрибутивов), но фактически поддержка есть, и очень мощная. Вокруг Linux сложилось обширное и активное сообщество программистов, многие из которых пишут и предоставляют в общее пользование новые драйверы и другие компоненты ОС. В результате драйверы новых устройств часто появляются для Linux даже раньше, чем для других версий Unix, таких как Solaris.
Этот же принцип действует и с корректировкой системы. Огромная сеть добровольцев, взявших на себя поддержку Linux, как правило, очень оперативно выпускает необходимые "заплаты". Например, когда в ноябре прошлого года обнаружилась ошибка в процессоре Pentium, одно из первых решений было предложено именно для Linux.
Разумеется, все это означает, что поддержка прикладных программ для Linux зависит в первую очередь от заинтересованности и энергичности их создателей. Чем популярнее программа, тем легче получить по ней консультацию через телеконференции, посвященные Linux.
В Usenet есть несколько конференций, в которые обращаются за помощью пользователи Linux. В стандартном случае ответ на вопрос приходит с той же скоростью, что и при консультациях по электронной почте (и даже по телефону!) в очень многих фирмах. Разумеется, ответ по прямому проводу от квалифицированного специалиста службы сопровождения был бы лучше, но такого сейчас практически нигде не найти.
В целом дела с поддержкой в Linux обстоят примерно так же хорошо и примерно так же плохо, как и в большинстве других версий Unix. Хотя Linux устанавливается и настраивается легче, чем, например, Solaris, администрирование системы если и проще, то несущественно. Поддержку осуществляет главным образом пользовательское сообщество через конференции Usenet. Существует обширная подборка часто задаваемых вопросов по таким темам, как установка, конфигурирование и устранение типичных проблем. Многие материалы опубликованы в виде книг издательством Walnut Creek и другими.
Linux и бизнес
С помощью Linux идеально реализуются решения конкретных проблем "на скорую руку". Расходы минимальны, особенно если речь идет о старой машине Intel или SPARC. Набор средств разработки и утилит достаточно обширен, чтобы можно было создавать полезные вещи.
По иронии судьбы на компьютерах SPARC Linux чаще всего используется просто в качестве новой операционной системы взамен устаревшей SunOS. Версия Linux для SPARC работает даже на самых старых рабочих станциях Sun, в том числе на IPX, 1+, Classic, Sparcstation 5 и 10. И если переход на Solaris невозможен либо обошелся бы слишком дорого, Linux оказывается отличным средством, позволяющим продлить век старой машины.
Одной из причин успеха Linux была явно недостаточная поддержка Solaris X86 со стороны Sun. Увлечение системами на базе Java привело к тому, что ОС Solaris потеряла для Sun значение стратегического продукта в сфере настольных компьютеров, и пользователи не один год жаловались на пренебрежительное отношение со стороны компании.
Главнейшее препятствие для внедрения Linux в бизнесе - это неуверенность и сомнения, связанные с некоммерческим характером продукта. Для множества людей "свободно распространяемый" равнозначно "неподдерживаемый" и "непрофессиональный". В действительности к Linux ни то ни другое не относится. И все же, чтобы использовать эту ОС, необходимо приспособиться к иному способу взаимодействия с программным обеспечением. Вы должны будете поддерживать постоянный контакт с сообществом пользователей Linux (только так вы сможете узнавать о новых версиях и исправлениях) и рассматривать телеконференции как основной источник консультаций. Пользователи Unix со стажем чувствуют себя в такой ситуации увереннее, чем специалисты по менеджменту, и первым, как правило, нелегко уговорить вторых принять Linux в качестве важного компонента информационной системы предприятия.
Недостатки
Но даже если отвлечься от психологического фактора, у идеи применения Linux в бизнесе есть несколько других серьезных недостатков. Первый состоит в том, что это не ОС для целого предприятия: Linux плохо масштабируется. Например, отсутствует поддержка многопроцессорной обработки (впрочем, она разрабатывается и вскоре может быть выпущена). Далее, Linux вообще представляет собой систему, рассчитанную в первую очередь на относительно маломощные машины - X86, старые модели SPARC и т. п. Это следствие не столько принципиального решения, сколько естественного хода создания и развития Linux: из разработчиков системы мало кто имеет доступ к серверам для больших предприятий и интересуется написанием программ для них.
Аналогичным образом, хотя в Linux есть системные средства диспетчеризации, обеспечивающие такие функции, как удаленная диспетчеризация, их выбор и возможности ограниченны в сравнении, например с Solaris. Выбор средств системного администрирования в Linux весьма богат, но они не решают проблем диспетчеризации.
Использование Linux в качестве ОС для настольного компьютера также связано с проблемами. Хотя система легко устанавливается, она не рассчитана на "зеленого" новичка. Вся ее структура, от дистрибутива до документации, предполагает некоторое знакомство с компьютерами вообще и с Unix в частности. Опытный пользователь, возможно, найдет машину с Linux весьма мощной, но новичок, скорее всего, просто ничего не поймет без постоянной помощи специалиста.
Еще одна сложность - программное обеспечение. Программ великое множество, но вот средств для работы в офисе совсем мало. И изобилие инструментов для разработки программ, а также для научных, статистических и технических расчетов не компенсирует недостатка текстовых процессоров и электронных таблиц.
Итак, Linux не Solaris и не разворачивается до масштабов предприятия. И все же это хорошая и дешевая реализация Unix. Исключительно низкая стоимость в сочетании со способностью работать на устаревших аппаратных платформах дает коммерческим пакетам Linux важную нишу на рынке Unix-систем, которая будет расширяться.
Где взять Linux
Получить Linux можно несколькими способами - в том числе одолжив диски у соседа: система свободно распространяется на условиях, оговоренных в лицензии.
Если же ни у кого из ваших приятелей нет дисков с Linux, можно получить дистрибутив из Internet. Один из самых популярных адресов - http://sunsite.unc.edu/pub/Linux/ (для документации - http://sunsite.unc.edu/pub/Linux/docs/), но он, конечно, далеко не единственный.
Но, может быть, наименее хлопотный способ состоит все же в приобретении дистрибутива на CD-ROM - Red Hat, Caldera или Slackware - у коммерческой фирмы. Цена здесь колеблется от менее чем 20 долл. до нескольких сотен долларов в зависимости от состава пакета. Это уже не бесплатно, зато вы экономите время на получении, распаковке и других подобных операциях. Кроме того, на дисках есть инсталляционные утилиты, ускоряющие прохождение даже сложных этапов процесса установки.
Web-узлы
Основная страница Linux http://www.linux.org
Основная страница компании Walnut Creek (продажа CD-ROM со Slackware Linux и версиями BSD Unix, а также диски с дополнительными программами, утилитами и т. д.) http://www.cdrom.com
Red Hat Software http://www.redhat.com
Caldera http://www.caldera.com
Linux Gazette: ежемесячный журнал, посвященный Linux и уделяющий особое внимание использованию Linux в бизнесе http://www.linuxgazette.com
Linux for SPARC news http://www.geog.ubc.ca/s_linux/news.html
Телеконференции
В Usenet имеется около двадцати телеконференций, посвященных различным аспектам Linux. Но некоторые из них, скажем alt.erotica.fetish.linux, представляют лишь весьма специфический интерес. Вот основные общезначимые:
news://comp.os.linux.announce - объявления о мероприятиях, новых продуктах и т. д.;
news://comp.os.linux.advocacy - живое (иногда даже чересчур) обсуждение Linux и смежных проблем;
comp.os.linux.help - консультации по конкретным вопросам;
comp.os.linux.questions - регулярно обновляемый список часто задаваемых вопросов и т. п. по Linux.
В FidoNet действуют русскоязычные конференции по Linux ru.linux и ru.unix.linux, в сети "Релком" - relcom.fido.ru.linux (аналог ru.unix.linux).
В одной фирме...
Крупная компания, производящая компьютерную аппаратуру, использует в качестве серверов печати 36 компьютеров с Linux, расположенные в разных странах. Серверы обслуживают в общей сложности около 1800 принтеров, а управляют всем этим хозяйством два человека.
По словам системного администратора, который просил не называть его имени, причиной для использования Linux была цена. "Самое главное, мы хотели иметь серверы печати, укладывающиеся в бюджет, который согласится отпустить даже самый прижимистый руководитель, - объяснил он. - Поскольку программное обеспечение не стоит ничего, а аппаратное дешево, можно собрать очень неплохой сервер печати примерно за 1200 долл. Говоря "очень неплохой", я имею в виду, что он без труда поддерживает очереди из 200-300 принтеров".
Аппаратным обеспечением серверов печати служат компьютеры HP Vectra PCS (стандартные настольные машины в этой компании) на базе процессоров Pentium с тактовой частотой от 120 до 233 МГц в зависимости от времени выпуска. Объем оперативной памяти доводится до 80 Мбайт, дисковой - до 2 Гбайт (обычная конфигурация - соответственно 32 Мбайт и 1,2 Гбайт).
"В сущности, мы просто поставили на те же самые старые машины другую ОС, - рассказывает системный администратор. - Это намного облегчает манипулирование компонентами и ремонт". В случае необходимости администратор или его коллега вытащит блок из ближайшего настольного компьютера, вставит его в сервер, и сервер снова заработает.
Операционная система, о которой идет речь, - это Linux (дистрибутив Red Hat). После установки базовой ОС инсталляционная программа запускает сценарий, доустанавливающий другие необходимые файлы. "У нас много специализированного ПО, - поясняет администратор. - Мы модифицировали программу LTR так, чтобы она лучше подходила к нашему прикладному ПО, немного изменили BOOTP и создали Web-страницу, интегрированную с ITP. Теперь остается только закидывать в машину деревья данных и поддерживать их в актуальном состоянии с помощью RDIST".
Самой серьезной проблемой для системного администратора было убедить начальство принять Linux: "Кое-кто вроде бы сомневался, потому что, мол, Linux не поддерживается. Мы им, конечно, говорили, что поддерживается, только не фирмой, а сотнями преданных делу добровольцев".
Перелом произошел в тот день, когда в информационном центре компании отключилось электричество. В это время там стояли две машины с Linux, которые обслуживали печать вместе с еще тремя компьютерами с SunOS. "После того как питание восстановилось, серверы с Linux сразу перезагрузились и вновь заработали, а у двух из трех машин с SunOS возникли проблемы с дисками". Персоналу информационного центра удалось привести их в рабочее состояние лишь через несколько часов.
"Когда начальники узнали, что два сервера отказали после отключения электричества, они, конечно, сразу же подумали, что это были машины с Linux, - рассказывает администратор. - Поднялся большой переполох, и к тому времени, как наладилась электронная почта, у них уже было готово принципиальное решение запретить Linux. Когда я сказал, что проблема возникла с другими машинами, все от неожиданности замолчали. После этого мы продолжили установку Linux и последние полтора года не знаем проблем с операционной системой".
Во многих отношениях описанная фирма может служить классическим примером установки Linux. При выборе аппаратного и программного обеспечения основным критерием была цена, машины с Linux работают как выделенные серверы, исполняющие в фирме одну-единственную функцию, а те два сотрудника, которые обслуживают эти системы, хорошо разбираются в Unix.
Ричард Кук пишет статьи о Web, компьютерах и высоких технологиях, а также романы. E-mail: rick.cook@sunworld.com