Почему Linux и FreeBSD не cмогут вытеснить коммерческие ОС.
В последнее время в компьютерной отрасли наблюдается лавинообразный всплеск интереса к операционной системе Linux. По данным некоторых исследований, за прошедший год количество компьютеров с Linux увеличилось на 212% и достигло более 7,5 млн. Многие компании, включая таких грандов, как Oracle, Informix и Corel, переносят или уже перенесли свои приложения на Linux.
Следует иметь в виду, что, хотя создание ядра Linux осуществляется централизованно, дистрибуцией операционной системы занимается более полутора десятков организаций, причем каждая из них привносит что-то свое. Но Linux - не единственная бесплатная система, привлекающая к себе внимание.
Еще пару лет назад ОС FreeBSD по популярности не уступала Linux. Хотя количество инсталляций FreeBSD с тех пор значительно выросло, но не настолько, как у Linux. Тем не менее FreeBSD имеет свои плюсы, к тому же она хорошо зарекомендовала себя за время своего существования. Менее известны другие бесплатные UNIX-подобные операционные системы: OpenBSD, NetBSD и прочие.
Надо сказать, что взлет популярности Linux произвел впечатление на разработчиков программного обеспечения и коммерческих операционных систем. Для того чтобы стимулировать интерес к своим системам, компания Santa Cruz Operation уже более двух лет поставляет для некоммерческого использования OpenServer и UnixWare за символическую цену (около 20 долларов). Помимо цены некоммерческие варианты OpenServer и UnixWare отличаются от коммерческих лишь тем, что являются однопользовательскими.
Подобным образом поступила и компания Sun Microsystems, анонсировавшая некоммерческую версию операционной системы Solaris. Однако, в отличие от SCO, компания Sun для некоммерческого использования предлагает полнофункциональную (многопользовательскую) версию Solaris, причем всего за 60 долларов. Правда, у потенциальных заказчиков могут потребовать представить доказательства того, что продукт будет применяться в некоммерческих целях.
Чтобы провести грань между системами, подобными Linux и FreeBSD, и некоммерческими версиями SCO UnixWare и Sun Solaris, первые мы будем условно называть бесплатными ОС (или свободно распространяемыми), а вторые - некоммерческими.
Поскольку ажиотаж вокруг Linux и FreeBSD не спадает, мы решили присмотреться к этим системам повнимательнее. Цель тестирования состояла в том, чтобы определить, насколько удобно пользоваться бесплатными ОС в качестве настольной системы, файлового сервера, сервера приложений, сервера Internet, сервера удаленного доступа и др. Одновременно мы попытались выявить, какие преимущества и недостатки имеют бесплатные ОС по сравнению с некоммерческими вариантами коммерческих UNIX. Еще одна задача состояла в оценке того, насколько сложно освоить конкретную ОС с нуля, т. е. когда пользователь только с Windows или, в крайнем случае, с какой-либо другой версией UNIX.
Мы понимаем, что выводы могут носить субъективный характер: как известно, на вкус и цвет товарища нет. Более того, сравнивая между собой операционные системы, мы невольно оказываемся вовлечены в своего рода религиозные войны. И поскольку сторонников, а судя по телеконференциям, и откровенных фанатиков разных систем предостаточно, то мы, тем самым, можем нажить немалое количество врагов. И все же мы попытаемся подробно описать то, что нам понравилось или, наоборот, не понравилось в каждом конкретном случае.
Для испытания были выбраны бесплатные RedHat Linux 5.0 и 5.2, Slackware Linux 3.5, FreeBSD 2.2.6 и 3.0, а из некоммерческих версий коммерческих продуктов - SCO UnixWare 7 и SunSoft Solaris 7.
Эксперименты проводились на двух машинах разного уровня. Компьютер старшего уровня был оснащен процессором Pentium II 400 МГц, оперативной памятью 64 Мбайт, видеосистемой AGP Matrox Millenium G200 с памятью SGRAM объемом 8 Мбайт и другими средствами вроде записывающего устройства CD-R на базе SCSI. Однако вскоре выяснилось, что ни одна из операционных систем (за исключением FreeBSD 3.0) не поддерживает адаптера Matrox Millenium G200, поэтому его было решено заменить на популярный видеоадаптер S3 Trio 64 V+ с 2 Мбайт памяти. Но даже с этой платой у всех бесплатных ОС, оснащенных X-сервером XFree86, возникли проблемы. По необъяснимым причинам при наличии 1 Мбайт памяти все работало нормально, тогда как при 2 Мбайт компьютер зависал. В конце концов, и эту видеоплату было решено заменить на модель ATI Mach 64 VT с 2 Мбайт памяти.
Система нижнего уровня была оснащена процессором Pentium MMX 166 МГц, оперативной памятью 32 Мбайт, безымянным винчестером IDE, 8-скоростным ATAPI CD-ROM, звуковой картой Creative AWE 16 Vibra и видеоадаптером ATI Mach 64 VT с 1 Мбайт памяти, а также сетевой платой 3Com 509 B.
Забегая вперед, скажем, что проблемы с периферией возникали в той или иной степени у всех операционных систем.
Надо сказать, что автор не имел опыта администрирования ни одной из тестируемых ОС, хотя и работал ранее с некоторыми версиями UNIX. Это обстоятельство позволило более объективно оценить возможности освоения системы новичком.
Читатель может спросить, почему мы выбрали именно эти операционные системы? Где популярные версии: Caldera OpenLinux, S.u.S.E. Linux, OpenBSD и множество других? Здесь, наверное, стоит немного отвлечься и объяснить, что представляют собой бесплатные ОС.
Стоимость бесплатных UNIX
Если быть абсолютно точными, то системы Linux и FreeBSD, во-первых, не являются бесплатными, а во-вторых, не являются UNIX. Конечно, на стоимость того или иного программного продукта можно посмотреть и по-другому. Как известно, на Митинском радиорынке за несколько долларов можно купить практически любое программное обеспечение, независимо от его настоящей цены. Но такая покупка, вообще говоря, уголовно наказуема. Исключение составляют Linux и FreeBSD, распространять которые может любой желающий.
Хотя очень часто FreeBSD и Linux называют UNIX-системами, с формальной точки зрения это неверно. Дело в том, что в настоящее время UNIX является торговой маркой организации Open Group и представляет собой лицензионный продукт. Более правильно подобные операционные системы было бы называть UNIX-подобными.
Почему-то Linux и FreeBSD (последнюю, правда, в меньшей степени) повсеместно связывают с проектом GNU, продукты, выпускаемые в рамках которого, якобы должны распространяться бесплатно. На самом деле здесь каждое утверждение неверно. Прежде всего, принадлежность к проекту GNU никоим образом не говорит о бесплатности ПО. Лицензия GNU (GNU General Public Lisense), которую называют GNU Copyleft, предлагает свободный доступ лишь к исходному коду ПО, т. е. в рамках проекта GNU программный продукт обязательно должен поставляться с исходными кодами. При этом сам продукт может быть бесплатным, а может быть и коммерческим. Еще одно обязательное условие состоит в том, что если разработчик ПО использовал лицензионный исходный код GNU, то новый продукт также должен подпадать под лицензию GNU.
Согласитесь, глупо ожидать, что Oracle будет поставлять для Linux версию СУБД в исходных кодах, да еще бесплатно. Лицензия GNU распространяется менее чем на половину программ Linux и FreeBSD. Помимо лицензии GNU «бесплатные» ОС подпадают и под действие других лицензий, причем они предоставляются на совершенно иных принципах. Прежде всего, это лицензии BSD, лицензия X-консорциума, другие некоммерческие и коммерческие лицензии. Некоторые из них предусматривают бесплатную поставку, некоторые - наличие исходного кода. Коммерческие лицензии действуют в соответствии с общепринятыми в отрасли правилами. Тем не менее дистрибутивы Linux и FreeBSD поставляются по большей части в исходных кодах, и практически все программы являются бесплатными.
Создаваемые в рамках проекта GNU или BSD бесплатные программы пишутся сразу для многих UNIX-подобных систем, а не только для Linux и FreeBSD. Поэтому заявления апологетов Linux и FreeBSD о том, что в этих системах имеются какие-то особые программы, недоступные для других систем, представляются безосновательными. Другое дело, что производители коммерческих UNIX крайне неохотно включают в комплект поставки бесплатные утилиты. Если они и делают это, то только после тестирования.
Комплект приложений всех бесплатных ОС практически идентичен, и нет оснований говорить о преимуществе той или иной операционной системы с точки зрения комплектации прикладными программами.
Как уже было сказано, ядро Linux разрабатывается централизованно, под руководством создателя ОС Линуса Торвальдса. Модифицировать ядро не запрещено никому, но официальные версии выпускаются Торвальдсом.
Каждый дистрибьютор на основе ядра создает свой комплект программ, притом некоторые из них во многом пересекаются и предназначены для решения одних и тех же задач. Искусство дистрибьютора состоит в том, чтобы составленный им комплект программ обеспечивал максимум функциональности и удобств. Поэтому часто дистрибьюторы сами пишут недостающие программы. С этим, кстати, связана самая большая потенциальная опасность для Linux. Дистрибутивы настолько сильно отличаются друг от друга, что об единой системе Linux можно говорить лишь условно. Судьба Linux может повторить судьбу UNIX, когда из общего корня выросло множество несовместимых друг с другом систем, тем самым, общий потенциал UNIX в значительной мере был подорван.
У FreeBSD положение несколько иное. Хотя разрабатывать и распространять программы здесь также никто не запрещает, дистрибуцией системы занимается одна-единственная организация. Поэтому проблемы несовместимости между разными вариантами в FreeBSD не возникают.
Все основные дистрибьюторы поставляют программное обеспечение на носителях CD-ROM. В комплект поставки обычно входят от 2 до 6 компакт-дисков, иногда сопровождаемых книгой по инсталляции системы. Цены на комплект колеблются от 30 до 60 долларов, но иногда могут достигать и отметки в 200 долларов. Дело в том, что распространители могут включать в комплект коммерческие программы, значительно увеличивающие стоимость дистрибутива.
Практически все продавцы имеют серверы FTP, с которых любой желающий может бесплатно переписать дистрибутив, но без коммерческих программ. Правда, копирование по Internet нескольких сот мегабайт никак не назовешь удовольствием, да еще бесплатным. Кроме того, многие серверы имеют ограничения по работе с клиентами, как правило, по количеству одновременно работающих пользователей (обычно пять человек) и времени связи (порядка 20-30 минут).
Поскольку свободное распространение Linux и FreeBSD не только разрешено, но и всемерно поощряется, не только дистрибьюторы, но и просто энтузиасты изготавливают и распространяют компакт-диски с ПО, переписывая его с серверов FTP или еще каким-либо способом. Диски можно купить во многих местах, в том числе на многочисленных радиорынках, в магазинах и компьютерных салонах.
Компакт-диски со свободно распространяемыми ОС условно можно разделить на две категории. Первую категорию составляют компакт-диски официальных партнеров дистрибьюторов ПО. Цена на такие диски и их комплектация практически полностью совпадают с ценой и комплектацией «родных» CD-ROM, а диски изготавливаются заводским способом. Иногда распространители добавляют инструкцию на русском языке и средства поддержки кириллицы.
Вторую категорию составляет тот ширпотреб, который можно за условную плату приобрести на радиорынках. Обычно такие компакт-диски нарезают на записывающих устройствах (CD-R). Соответственно, качество записи оставляет желать лучшего. Если официальные комплекты состоят из 2-4 дисков, то неофициальный дистрибутив помещается на единственном диске. Естественно, на таком диске многие программы, не говоря уже об исходных кодах, отсутствуют. Еще более печально то, что из комплекта поставки изымается и часть документации, так что освоить операционную систему новичку оказывается весьма непросто.
Именно данное обстоятельство и обусловило наш выбор операционных систем. Если с некоммерческими UnixWare и Solaris проблем не возникло - мы их получили в российских представительствах SCO и Sun, то бесплатные ОС было решено сначала приобрести на радиорынках. Здесь мы обнаружили массу всевозможных свободно распространяемых ОС: Caldera OpenLinux, Debian GNU/Linux, LinuxPPC, LinuxWare, RedHat Linux, Slackware Linux, S.u.S.E. Linux, TurboLinux, Yggdrasil Linux, FreeBSD, OpenBSD, NetBSD. Однако более детальное знакомство с некоторыми из них нас полностью разочаровало: они не годились для изучения системы. Поэтому мы решили найти официальные дистрибутивы свободно распространяемых ОС. В результате тестируемых систем оказалось немного: FreeBSD 2.2.6 и Slackware Linux 3.5 нам предоставила компания «КомпьюЛинк», а дистрибутив RedHat Linux 5.0 был получен через книжный салон компании «Фольком». Поскольку указанные версии FreeBSD и RedHat несколько устарели, мы приобрели на радиорынке и испытали и более новые их версии (на самом деле это были лишь урезанные версии полных дистрибутивов).
Но стоимость ПО составляет не только та сумма, которую потребители платят за носители. Она включает и стоимость обучения, установки, администрирования, обновления и т. д. А в совокупности эти затраты могут значительно превышать стоимость носителя.
Внимательное чтение публикаций, посвященных внедрению Linux или FreeBSD на предприятиях, позволяет выявить весьма любопытный факт. Внедрением обычно занимаются энтузиасты, причем они нередко устанавливают подобные системы втайне от руководства и изучают их в нерабочее, а порой и в рабочее время. Счастливый конец таких историй состоит в демонстрации энтузиастами перед своим начальством преимуществ бесплатных Linux. Однако компьютерная отрасль (так же, как и любая другая) не может держаться на голом энтузиазме. Сегодня энтузиаст работает на вашем предприятии, а завтра может уволиться. Внедрение ПО подразумевает значительные расходы на подготовку специалистов. Курсы подготовки специалистов по Linux и FreeBSD найти очень и очень непросто, причем стоят они немалые деньги. Например, компания RedHat Software за пятидневные курсы взимает плату 2500 долларов на человека! Вы и теперь считаете Linux бесплатным?
Не стоит забывать и о стоимости администрирования системы. К сожалению, свободно распространяемые ОС значительно уступают традиционным UNIX по возможностям администрирования, не говоря уже о том, что они исключительно плохо интегрируются в корпоративную среду. В частности, современные платформы управления сетью не поддерживают Linux, так как какие-либо агенты для этой ОС, кроме тривиальных агентов SNMP, отсутствуют.
Но у Linux и FreeBSD есть очень мощный контраргумент с точки зрения стоимости: бесплатные ОС можно ставить на устаревшую технику. Часто это исключает необходимость покупки новой и весьма дорогой современной техники.
Общие характеристики бесплатных ОС
Чтобы разговор о возможностях бесплатных ОС был более предметным, мы расскажем об общих особенностях бесплатных ОС в сравнении с коммерческими продуктами (или их некоммерческими версиями). Пожалуй, начать стоит с недостатков бесплатных ОС.
Самый крупный, бросающийся в глаза недостаток свободно распространяемых операционных систем состоит в отсутствии единой концепции разработки программ, в том числе общего стиля и единого интерфейса. Программы пишут по принципу «кто во что горазд». Комплект системы представляет собой эклектическую смесь подходов и стилей.
Например, такая простая операция, как выход из программы, в одних приложениях выполняется нажатием клавиши Esc, в других - q, в третьих - Q, в четвертых - , в пятых - , в шестых - , и т. д. и т. п. Чтобы произвести самые элементарные действия, пользователю приходится постоянно обращаться к документации. В случае «интегрированных» программ ситуация еще хуже. В частности, многие менеджеры окон X11 (X Window Manager) позволяют напрямую вызывать менеджеры файлов (File Manager), но они написаны с использованием разных API. Это приводит к тому, что даже кнопки мыши работают в них по-разному.
Разработчики коммерческих операционных систем стараются придерживаться общего подхода. Программисты соблюдают не только отраслевые стандарты на интерфейс, но и следуют единому стилю оформления.
Вторая серьезная проблема бесплатных операционных систем - отсутствие порядка в документации. Документации в бесплатных ОС очень много, но организована она, вообще говоря, бестолково. Документация хранится в разных местах и в нескольких форматах:
- страницы man;
- текстовые документы, описывающие работу программ;
- документы HTML, описывающие работу программ;
- документы PDF, описывающие работу системы или отдельных программ;
- документы HOWTO в формате сжатых (с помощью программы gzip) текстовых файлов с объяснениями настройки и работы программ;
- документы mini HOWTO (текстовый формат), с краткой информацией об особенностях программ;
- документы FAQ (тестовый формат или формат HTML) с ответами на наиболее часто задаваемые вопросы по работе программ;
- документы в формате Info с описанием программ, созданных в рамках проекта GNU.
Самое печальное то, что нельзя заранее сказать, где надо искать документацию по конкретной утилите или программе: приходится перебирать все подряд.
Еще одной проблемой бесплатного ПО можно назвать невысокое качество многих программ и документации. В комплект ОС RedHat Linux, Slackware Linux или FreeBSD входят более полутысячи откомпилированных приложений, но значительная их часть представляет собой крайне примитивные программы, судя по всему, написанные любителями. Кто ими пользуется и зачем их включили в комплект - для нас осталось загадкой (скорее всего, их включают в комплект лишь затем, чтобы он выглядел солиднее). Такую практику вряд ли можно приветствовать.
Помимо этого, многие нужные и полезные приложения содержат ошибки. Но любая ОС не застрахована от ошибок, на наш взгляд, в бесплатных ОС их не больше, чем в коммерческих. Другое дело, что качество документации оставляет желать лучшего, так как она составляется не техническими писателями, а самими программистами. А, как известно, программисты пишут документацию в самую последнюю очередь, да еще активно пользуясь жаргоном. К тому же при выпуске новой версии ПО программисты редко заботятся об обновлении документации, в лучшем случае они пишут короткий файл с перечнем нововведений. Все это сильно отдает дилетантизмом.
В противовес практике бесплатных ОС, все современные коммерческие UNIX (включая их некоммерческие версии) имеют хорошо проработанную и добротно написанную документацию. В комплект поставки ОС входит не один десяток составленных техническими писателями книг в электронном виде. Средства просмотра и поиска продуманы и очень удобны. В настоящее время основной тенденцией в оформлении документации является использование технологии Web. Любой компьютер с ОС UnixWare или Solaris может выступать как сервер документации. Конечно, и в таких ОС имеются страницы man или info, но почти все они продублированы в формате HTML.
Кому-то все это может показаться мелочью, но помимо функциональной мощи системы, ее стоимости и т. д. качество документации может сыграть большую роль в привлечении или, наоборот, отказе новых пользователей от системы.
Несмотря на растущий интерес к Linux и FreeBSD со стороны разработчиков ПО, этим системам не хватает серьезных приложений, в том числе офисных программ, СУБД, связующего ПО (middleware), платформ управления и многого другого.
Поддержка периферийного оборудования и вообще принципы управления ядром системы в бесплатных ОС реализованы не очень удачно. Добавление какого-либо аппаратного компонента компьютера ведет к необходимости выполнения множества действий: изменения конфигурации, компиляции и установки нового ядра. Это весьма длительный процесс даже на Pentium II 400 МГц. В современных UNIX применяется совершенно иная технология, не требующая полной компиляции ядра из исходного кода. Правда, реализованный в Linux и FreeBSD подход позволяет получить исключительно компактное ядро.
Достоинств у бесплатных ОС тоже немало, и именно они обусловили популярность Linux и FreeBSD. Главным плюсом свободно распространяемых ОС является, конечно же, цена. Некоммерческие версии UnixWare и Solaris если и дороже Linux и FreeBSD, то не намного, но у последних нет никаких дополнительных ограничений в виде сферы применения (некоммерческое использование) или количества лицензий на подключение.
Бесплатные ОС работают на многих аппаратных платформах, в том числе Intel, PowerPC, Macintosh, Alpha, SPARC, и поддерживают многопроцессорные конфигурации. В настоящее время уже появились и кластерные технологии для Linux.
Важным достоинством бесплатных ОС являются их невысокие требования к вычислительным ресурсам. Даже компьютер с процессором 386, памятью объемом 8 Мбайт и винчестером емкостью 100 Мбайт вполне может работать в качестве не только клиента, но даже сервера сети. Это конечно же минимальные требования. Но как сервер Web компьютер с Pentium MMX 166 МГц с 64 Мбайт памяти и ОС Linux может поспорить с компьютером Pentium II 300 МГц с 128 Мбайт памяти на базе Windows NT. С помощью Linux можно реанимировать древние компьютеры SPARC, на которых современные Solaris уже не работают.
Многие считают большим недостатком свободно распространяемых ОС отсутствие технической поддержки. Не знаю как на Западе, но в России все обстоит как раз наоборот. Толковые советы по Linux или FreeBSD можно получить значительно проще и быстрее, чем по любой другой операционной системе, включая Windows NT или NetWare. Для этого пользователю достаточно обратиться с вопросом в соответствующую телеконференцию. С другой стороны, уровень официальной поддержки коммерческих ОС в России настолько низок, что он вряд ли может сказаться на выборе конкретной ОС.
Еще одним преимуществом Linux (к сожалению, это не относится к FreeBSD) является огромное количество печатной литературы по системе. Это обстоятельство в немалой мере способствует популяризации Linux. По количеству книг Linux уступает только Windows NT и, возможно, NetWare.
Некоторые считают важным преимуществом свободно распространяемых ОС частый выход новых версий системы. Действительно, новые версии Linux и FreeBSD выходят с периодичностью 2-4 раза в год, а комплекты поставки включают соответственно самые последние версии ПО. Но данное утверждение достаточно спорно. Калейдоскопическая скорость выхода новых версий делает освоение системы трудной и, к тому же, перманентной задачей. В результате обновленная документация, в особенности печатная, появляется с неизбежным опозданием. Например, последняя редакция самой популярной книги по RedHat Linux («RedHat Linux Unleashed») относится лишь к версии 3.0.3, тогда как текущая версия носит номер 5.2. Обучить новичка работе с системой по такой книге весьма непросто. Конечно, у быстрой обновляемости версий есть тот плюс, что пользователю доступно самое последнее ПО, с меньшим количеством ошибок и с более широкими функциональными возможностями.
Немало сторонников Linux и FreeBSD считают доступность исходного кода ядра и ПО чуть ли не решающим преимуществом системы. Однако нам оно не представляется столь уж бесспорным. Как известно, на одного разработчика приходится не менее 100 обыкновенных пользователей. Их не интересует доступность кода. Характерно, что на Митинском рынке вы не найдете дисков с исходным кодом ПО - спрос определяет предложение.
В числе недостатков бесплатных ОС специалисты называют обычно слабую поддержку периферийного оборудования и некорректность работы многих драйверов. Это связано с тем, что часто производители не желают не только писать драйверы, но и предоставлять алгоритмы работы своего оборудования. В результате независимые программисты зачастую вынуждены писать драйверы «на ощупь». Отсюда и ошибки в их работе. Но надо сказать, что, благодаря росту популярности бесплатных ОС, положение дел начинает меняться к лучшему. Во всяком случае Linux сегодня поддерживает гораздо больше устройств, чем Solaris и UnixWare вместе взятые.
Поддержка выполнения программ MS-DOS и особенно Windows во всех UNIX-подобных системах реализована на весьма слабом уровне. В UnixWare имеется неплохая среда эмуляции DOS/Windows под названием SCO Merge, но она не входит в некоммерческий комплект.
Очень большой проблемой для российских пользователей остается крайне неэффективная поддержка кириллицы. Эта особенность - ахиллесова пята любой UNIX-подобной операционной системы, как коммерческой, так и бесплатной. Даже если вы установите кириллические шрифты и переключатель клавиатуры, это не гарантирует поддержку русского алфавита многими программами. Ситуацию ухудшает и чрезмерно большое количество кодировок. Хотя самой популярной кодировкой в UNIX является KOI8, но также активно используются ISO8859-5, CP866, CP1251, а сейчас и UNICODE.
Что касается вопросов безопасности, то традиционные UNIX предлагают более высокий уровень безопасности как на локальном, так и на сетевом уровне. Бесплатным ОС недостает поддержки списков контроля доступа (ACL), которым разработчики почему-то не уделяют никакого внимания. Стандартные средства разграничения полномочий на основе парадигмы «пользователь-группа пользователей-остальные пользователи» уже давно не соответствуют предъявляемым к современным ОС требованиям. Единственный плюс бесплатных ОС с точки зрения защиты состоит в оперативности реакции разработчиков при нахождении дыр в системе безопасности.
Рассмотрев общие особенности бесплатных ОС, мы переходим к описанию особенностей конкретных систем.
Redhat Linux
Руководство пользователя оказало большую помощь в установке системы, и очень жаль, что другие бесплатные ОС не комплектуются подобными книгами. Кроме того, на CD-ROM имелось несколько полезных книг в формате PDF: «Teach Yourself UNIX in 24 hours» для начального знакомства с UNIX, «Apache Server Survival Guide» по установке и настройке Web-сервера Apache, а также отрывки из книги «RedHat Linux Unleashed». Единственная неприятность состояла в том, что откомпилированные программы просмотра формата PDF в составе RedHat 5.0 отсутствовали, поэтому книги пришлось изучать в среде Windows.
Инсталляция RedHat достаточно удобна, но некоторые вопросы сбивают с толку. Например, программа установки запрашивает тип клавиатуры (Keyboard Type), причем в списке присутствуют и русские раскладки ru, ru1, ru2, russian. Понять смысл каждой из них было невозможно, вдобавок подсказка отсутствовала.
Настройка поддержки русского языка (уже после инсталляции ОС) оказалась много сложнее, чем просто выбор клавиатуры, и потребовала изучения документа Cyrillic_HOWTO. Тем не менее поддержка кириллицы в ОС Linux (и FreeBSD) организована лучше, чем в UnixWare и Solaris.
Для организации разделов (partition) на диске в составе RedHat имеются две программы: fdisk и Disk Druid. Последней пользоваться удобнее, хотя она имеет ограничения, в частности корневую файловую систему невозможно создать на втором винчестере. Утилита fdisk помощнее, но уж очень она неудобна.
Самыми яркими особенностями RedHat, резко выделяющими ее на фоне других бесплатных систем, являются наличие средств управления пакетами (RedHat Package Manager, RPM) и графической панели управления (Control Panel).
RPM служит для установки программ, проверки их целостности, обновления и удаления ПО. С помощью RPM также можно найти немало полезной информации по установленному программному обеспечению, в частности описание назначения программы или перечень файлов.
Панель управления приближает RedHat к лучшим коммерческим UNIX. С помощью панели в среде X Window System можно осуществлять контроль практически за всеми ресурсами компьютера, а именно: за пользователями и группами, локальными и сетевыми файловыми системами, принтерами, сетевыми настройками и другими параметрами. Панель управления включает также графический вариант PRM под названием Glint.
В официальный дистрибутив RedHat входит несколько коммерческих программ, среди которых особого внимания заслуживают однопользовательские X-сервер Metro-X от компании Metro Link и программа резервного копирования BRU 2000-PE от Enhanced Software Technologies.
Одной, на наш взгляд, сомнительной, новацией RedHat является схема создания групп пользователей под названием UPG (User Private Group). В частности, при создании бюджета нового пользователя эта схема предусматривает автоматическое создание его персональной группы и назначение маски (umask) 002 по умолчанию. Приводимые в документации доводы в пользу такой схемы представляются, честно говоря, неубедительными. Данная схема ничего не добавляет с точки зрения безопасности, но зато нарушает привычную практику администрирования. Радикальным решением проблем разграничения полномочий было бы использование списков контроля доступа ACL - вот на что должны направить свои усилия разработчики.
RedHat оказалась единственной из протестированных ОС, у которой хэшированные пароли хранились по умолчанию в файле /etc/passwd, т. е. схема shadow не задействовалась. Данную ситуацию пришлось исправлять вручную, запустив специальную утилиту. Это тем более странно для системы, разработчики которой якобы сильно озабочены проблемами безопасности.
Процедура начальной загрузки (init) системы RedHat Linux практически полностью соответствует спецификации UNIX System V.
Версия RedHat 5.2 отличается от версии 5.0 в основном поддержкой дополнительных устройств и, что можно выделить особо, файловой системы MS-DOS, известной как FAT 32.
Slackware Linux
Slackware Linux 3.5 произвела на нас худшее впечатление из всех протестированных ОС, а ведь года три назад эта версия Linux была одной из самых популярных.
В предоставленном нам компанией «КомпьюЛинк» официальном комплекте Slackware Linux 3.5 содержались 2 CD-ROM и регистрационная карточка «КомпьюЛинк». Но, насколько удалось понять, такая регистрация представляется чистой формальностью: техническую поддержку она не обеспечивает.
В отличие от других ОС, в комплекте Slackware отсутствовали электронные книги по системе, кроме сильно устаревшей Linux Installation and Getting Started.
В процессе установки ОС процедура инсталляции зациклилась. Причина заключалась в том, что система не захотела работать с SCSI CD-R.
Процедура инсталляции очень оригинальна, особенно для тех, кто не работал с Slackware. После начальной загрузки ядра перед пользователем появляется приглашение для входа. Ему предлагается войти в качестве пользователя root, запустить утилиту разбивки разделов (fdisk или cfdisk), а затем вызвать основную программу установки setup. Такой подход вряд ли можно назвать удачным.
Утилиты cfdisk и fdisk по своим возможностям аналогичны Disk Druid и fdisk из комплекта RedHat.
Во время запуска программы setup пользователю задаются вопросы, часть из них непонятна и не сопровождается подсказками, в том числе выбор языка (в перечне есть ru.map, ru1.map, ru2.map) или шрифтов экрана (custom screen fonts). Во всяком случае выбранные нами пункты никак не повлияли на процесс инсталляции.
Среди других недостатков инсталляции можно выделить следующие:
- по умолчанию у пользователя root пароль не задается;
- мышь Compaq с портом PS/2 была опознана, но не работала;
- даже минимальные настройки рабочей среды X Window System не были произведены, так что все пришлось делать вручную;
- список запускаемых по умолчанию сетевых служб не запрашивается;
- процесс инсталляции не позволяет выбрать установку (или отмену установки) отдельных приложений, к тому же пользователь не получает информации о том, сколько они займут места на диске.
Что касается непосредственно работы в Slackware, то она не выдерживает никакой критики и навевает воспоминания об UNIX десятилетней давности. Практически все действия администратору приходится выполнять из командной строки с минимумом удобств.
Процедура начальной загрузки (init) системы Slackware Linux весьма своеобразна. Это какой-то гибрид, не соответствующий ни спецификации System V, ни спецификации BSD. Непонятно, зачем дистрибьютору понадобилось изобретать велосипед.
Общее впечатление от Slackware - система безнадежно устарела. Характерно, что даже дистрибьютор Slackware Linux - компания Walnut Creek - в качестве сервера Web использует FreeBSD.
Единственным светлым пятном Slackware оказалась система UMSDOS. Она позволяет устанавливать Slackware в тот же раздел, где уже установлена MS-DOS/Windows. Такой подход может оказаться полезным для тех, у кого нет места на винчестере под раздел для Linux.
FreeBSD
Предоставленный нам компанией «КомпьюЛинк» дистрибутив FreeBSD включал 4 компакт-диска и, что особенно ценно, брошюру по установке FreeBSD на русском языке. Брошюра содержит несколько полезных советов, в том числе по русификации FreeBSD. На первом CD-ROM имеется электронный вариант книги «Complete FreeBSD», очень полно освещающей вопросы установки, работы и тонкой настройки как операционной системы, так и приложений.
Инсталляция FreeBSD достаточно проста, но, в отличие от других ОС, ядро нетрудно конфигурировать уже во время установки. Правда, средства конфигурирования ядра можно было бы сделать и удобней. Других специфических особенностей процедура инсталляции не имеет, если не считать того, что она не запрашивает список сетевых сервисов, которые будут запущены по умолчанию.
В FreeBSD имеется программа /stand/sysinstall, позволяющая осуществлять часть работ по администрированию системы. Но, во-первых, она работает в текстовом режиме, а во-вторых, сильно уступает по возможностям панели управления от RedHat.
Вопиющей недоработкой с точки зрения безопасности является возможность несанкционированного (т. е. без знания пароля root) доступа в систему через консоль. Такую схему можно отменить, но по умолчанию система настроена именно так.
Процедура настройки нового ядра в FreeBSD очень архаична, конфигурационный файл приходится напрямую редактировать, а затем компилировать и устанавливать ядро.
Новая версия FreeBSD 3.0, вышедшая в конце 1998 года, призвана дать толчок развитию линии FreeBSD. В ней были устранены самые неприятные ограничения старых версий: теперь FreeBSD поддерживает многопроцессорные системы и работает на платформах Intel и Alpha.
UnixWare
По данным статистики, компании Santa Cruz Operation принадлежит более 40% рынка коммерческих UNIX-систем. Она выпускает две ОС: OpenServer и UnixWare. Особенно динамично развивается линия UnixWare - продажи за год возросли более чем на 80%!
Для установки UnixWare помимо компакт-дисков и загрузочных дискет пользователю требуется зарегистрироваться на сервере Web (регистрация бесплатная), в ответ на запрос сервер выдает лицензионный код на однопользовательскую некоммерческую версию UnixWare 7. Инсталляция системы предельно проста. Утилита управления файловыми системами очень удобна. Во время инсталляции можно выбирать уровень безопасности, включая C2 и даже выше (Above C2). Система поддерживает списки контроля доступа ACL.
У нас возникли два замечания по процедуре инсталляции: во-первых, почему-то не все дисководы модели ATAPI CD-ROM распознаются; во-вторых, корневая файловая система ставится только на первый винчестер IDE.
Как и у других коммерческих продуктов, в комплект ОС включена очень добротная документация в электронном виде, позволяющая не только оценить специфические особенности UnixWare, но и получить общие сведения об UNIX.
В UnixWare имеется прекрасное средство администрирования scoadmin, имеющее одинаковый интерфейс в текстовом и графическом режимах.
Среди обнаруженных недостатков можно отметить некорректную работу системы со звуковой платой SoundBlaster AWE 64 и зависание системы при обращении к CD-R. Огорчение вызывает также крайне слабая встроенная поддержка русского языка. Правда, для UnixWare имеются коммерческие русификаторы, но стоят они достаточно дорого.
UnixWare является одной из немногих систем, которая полностью поддерживает Novell NDS и имеет хорошие средства интеграции с компьютерами Windows. UnixWare 7 - очень мощная система, по своим возможностям она может дать фору любой бесплатной ОС.
Solaris
Solaris выполняется как на настольных компьютерах, так и на мощнейших машинах категории Number Crashing («перемалыватель чисел»). Для Solaris написано более 13 000 приложений, по этому показателю она уступает только Windows. К сожалению, большая часть приложений не рассчитана на платформу Intel. Solaris 7 соответствует спецификации ядра UNIX System V Release 4 и требованиям UNIX 95.
Solaris 7 for Intel x86 поставляется на двух CD-ROM. На первом диске находится система, а на втором - документация. Документация Solaris просто превосходна. К комплекту прилагается загрузочная дискета.
Инсталляция в Solaris достаточно удобна, единственная проблема состоит в том, что некоторые сетевые параметры приходилось настраивать вручную уже после инсталляции ОС. Solaris (как и UnixWare) неплохо распознает устройства Plug'n'Play, так что объем ручной настройки сравнительно невелик.
По удобству администрирования Solaris уступает UnixWare и RedHat, зато по возможностям сетевых служб TCP/IP намного их опережает. В частности, никто не может тягаться с Solaris по поддержке NIS+ и NFS. Для ускорения работы NFS в Solaris может даже использоваться специальная файловая система. Разумеется, большое внимание в Solaris уделено и любимому детищу Sun - технологии Java.
Еще одно удобство Solaris заключается в возможности выбора оконного интерфейса при входе пользователя в систему (CDE или Open Window). Очень своеобразно Solaris работает с CD-ROM и дискетами - такого мы не наблюдали нигде.
Среди недостатков можно отметить безобразную поддержку русского языка (особенно кодировки KOI8) и отсутствие виртуальных терминалов.
Про Solaris (как и про UnixWare) можно писать долго, но если говорить кратко, то ведущие производители программного обеспечения неспроста считают Solaris лидером на рынке мощных операционных систем. Например, для компаний Oracle, Informix, Netscape и других Solaris является системой, с которой начинается обкатка новых версий ПО. Некоммерческая Solaris для Intel x86 представляет находку для тех, кто разрабатывает приложения для Solaris (независимо от платформы) или для обучения работе в среде Solaris.
Перспективы бесплатных ОС
Хотелось бы сразу заявить, что освоить бесплатные ОС людям, незнакомым с UNIX, будет очень и очень непросто. Прежде чем вникать в тонкости Linux или FreeBSD, им потребуется изучить (хотя бы по книжкам), как устроен и работает UNIX, а также его важнейшие программы, наподобие shell и X Window System. Знание Windows 9x или Windows NT здесь не поможет.
Если трезво смотреть на перспективы бесплатных ОС, то на уровне настольных систем их попросту не существует. Это справедливо для любых версий UNIX. Ничего, кроме улыбки, не могут вызвать попытки сторонников Linux обосновать его применимость в качестве настольной системы. Подоплека здесь одна - все что угодно, лишь бы не от Microsoft. Если кому-либо очень хочется насолить Биллу Гейтсу, то лучше поставить IBM OS/2 или Apple MacOS.
UNIX представляет собой сложную многопользовательскую систему. Даже если на компьютере будет работать один человек, ему придется заниматься администрированием этой мощной, но (в данном случае) избыточной системы. По удобству и простоте администрирования даже лучшие UNIX не могут сравниться с Windows. Зачем подобная обуза для рядового служащего, у которого и без того наверняка полно забот? К тому же UNIX не имеет полноценных офисных пакетов, интеграция между офисными программами практически отсутствует. Про бесплатные же пакеты, входящие в Linux и FreeBSD, и говорить нечего, они не выдерживают никакой критики. Но для России есть проблема куда серьезней - уровень поддержки русского языка. А ведь обычным пользователям нужна не просто поддержка языка, но и средства проверки орфографии, контекстного поиска и т. д.
Что касается файлового сервиса и сервиса печати, то и здесь возможности Linux и FreeBSD весьма невелики. Взять, к примеру, программу Samba, с помощью которой компьютеры с Linux и FreeBSD могут выступать в качестве сервера Lan Manager или Windows. Samba работает только в сетях TCP/IP и обладает невысокой производительностью. Это программное обеспечение имеет крайне неудобные средства настройки.
Бесплатные ОС могут выступать в качестве серверов NetWare 3.x с помощью программы mars, но проблемы с производительностью и отсутствие поддержки NDS не оставляют им шансов, кроме, разве что, как сервер для двух-пяти компьютеров.
Если говорить о серверах приложений, то бесплатным ОС трудно конкурировать с традиционными UNIX, Windows NT или MVS. И вопрос не только в производительности, надежности и масштабируемости операционной системы, хотя и это очень важно. Многие ведущие производители разработали или разрабатывают приложения корпоративного уровня для Linux, но (насколько нам известно) не собираются их поддерживать. Заметьте, что речь идет не о поддержке ОС, а о поддержке приложения. Стоимость сервера с СУБД Oracle может составить многие десятки (если не сотни) тысяч долларов. И неужто клиенты ради экономии нескольких сот долларов откажутся от технической поддержки для критически важного приложения? Ответ, по-моему, очевиден.
Но вот где трудно найти конкурента Linux и FreeBSD, так это при организации сервера Internet. Как говорится, дешево и сердито. Эта сфера уже давно является стихией бесплатных ОС, и с каждым годом их лидирующее положение только укрепляется. В России Linux и FreeBSD стоят примерно на 70% всех серверов Web.
Мало конкурентов имеют Linux и FreeBSD при организации серверов удаленного доступа и других сетевых сервисов. Некоторые решения, благодаря исключительно малым размерам ядра системы и встроенной поддержки TCP/IP, просто удивляют своей компактностью и рациональностью. Например, автору доводилось видеть дискету, где было записано ядро Linux и несколько приложений. Данную дискету использовали для подключения локальной сети к Internet по коммутируемой связи. После вставки дискеты и ответа на несколько вопросов любой компьютер (от 386 и выше) с 8 Мбайт памяти, модемом и сетевым адаптером можно было превратить в маршрутизатор удаленного доступа, причем с поддержкой NAT. При этом на винчестер ничего не инсталлировалось. Более изящное решение трудно придумать.
Свободно распространяемые ОС могут пригодиться и для подготовки прикладных и системных программистов. Наличие исходных кодов ядра системы и сотен приложений, а также десятков компиляторов и интерпретаторов самых разнообразных языков программирования делают Linux и FreeBSD привлекательными в сфере обучения.
Заключение
Свободно распространяемые ОС вплотную приблизились к коммерческим UNIX по удобству сервиса. Мало кто может соперничать с Linux и FreeBSD на рынке серверов Internet и серверов доступа нижнего уровня. Основным недостатком Linux и FreeBSD остаются разобщенность усилий разработчиков и отсутствие единой концепции развития.
Константин Пьянзин - обозреватель LAN. С ним можно связаться по электронной почте: koka@lanmag.ru.