Продолжается подписка на наши издания! Вы не забыли подписаться?

Linux

Операционная система Linux возникла достаточно давно, но оставалась в тени. Все переменилось внезапно — впрочем, в компьютерном мире многое происходит внезапно. Пожалуй, ни одна ОС в мире (кроме Windows 2000) сейчас не пользуется таким успехом у прессы, как Linux. Сначала ее пользователи — в основном из академических кругов, были, как правило, одновременно и пользователями Интернет, в те времена достаточно экзотического способа взаимодействия между университетами. Бум Интернет пошел на пользу и Linux'у — им заинтересовались коммерческие круги как эффективным и практически бесплатным средством построения достаточно мощных серверов на экономичной аппаратной базе. Устойчивый рост интереса к Linux привел к появлению достаточно широкого спектра программного обеспечения для этой платформы, в частности, практически все известные производители SQL-серверов уже выпустили или анонсировали версии для Linux.

Linux — свободно распространяемый UNIX-клон, написанный с нуля Linus Torvalds'ом. Он поддерживает довольно широкий спектр аппаратного обеспечения — Intel, Digital Alpha, Motorola 68x, PowerPC, Sun SPARK, MIPS и другие, а также многопроцессорные (SMP) системы. Существует специальная версия, предназначенная для создания вычислительных кластеров.

Linux поддерживает большинство свойств, присущих другим реализациям UNIX. Это полная многозадачная многопользовательская операционная система (впрочем, как и большинство других версий UNIX). Linux достаточно хорошо совместим с рядом стандартов для UNIX на уровне исходных текстов, включая IEEE POSIX.1, System V и BSD. Большинство свободно распространяемых по Internet программ для UNIX может быть откомпилировано для LINUX практически без особых изменений. Все исходные тексты Linux, включая ядро, драйверы устройств, библиотеки, пользовательские программы и инструментальные средства распространяются свободно. Ядро может само эмулировать команды 387-FPU, так что системы без сопроцессора могут выполнять программы рассчитанные на операции с плавающей точкой.

В Linux реализован добротный менеджер виртуальной памяти. Собственно он и является главным делом Linus'а Torvalds'а. Хотя по принципам работы он как две капли воды похож на менеджер памяти Windows NT, все же реализация Linus'а оказалась более удачной, в чем легко можно убедиться сравнив количество потребляемой памяти (в минимальной конфигурации). Ядро Linux поддерживает загрузку только нужных страниц. Возможно использование одной страницы, физически один раз загруженной в память, несколькими выполняемыми программами (в прочем эту возможность поддерживает даже Windows 95). Поддерживается универсальный пул памяти для пользовательских программ и дискового кэша. При этом для кэша может использоваться вся память, и наоборот, кэш уменьшается при работе больших программ.

Linux поддерживает различные типы файловых систем для хранения данных. Некоторые файловые системы, такие как файловая система ext2fs, были созданы специально для Linux. Поддерживаются также другие типы файловых систем, такие как Minix-1 и Xenix, FAT и VFAT, ISO 9660 CDFS и др.

Linux обеспечивает полную поддержку TCP/IP для сетевой работы. Это включает драйверы устройств для многих популярных карт Ethernet, SLIP (Serial Line Internet Protocol, обеспечивающие вам доступ по TCP/IP при последовательном соединении), PLIP (Parallel Line Internet Protocol), PPP (Point-to-Point Protocol), NFS (Network File System). Поддерживается весь спектр клиентов и услуг TCP/IP, таких как FTP, telnet, NNTP и SMTP. Другие специфические внутренние черты Linux включают контроль работ по стандарту POSIX (используемый оболочками, например, csh и bash), псевдотерминалы (pty), поддержку национальных и стандартных клавиатур динамически загружаемыми драйверами клавиатур.

Также, как и в Windows, поддерживаются динамически подключаемые библиотеки.

Для обеспечения отладки, ядро Linux выдает дампы памяти для "посмертного" анализа. Использование дампа и динамических отладчиков позволяет определить причины краха программы.

Вместе с тем, при всей надежности и основательности, свойственной UNIX, Linux для эффективного использования нуждается в твердой руке системного администратора — как, впрочем, и любой другой UNIX.

Недостатки Linux'а являются прямым следствием отсутствия хозяина — как и любая общественная инициатива, Linux пребывает в виде растрёпанном и пестром, полностью отражая структуру поддерживающего его сообщества энтузиастов. Огромное количество различных наборов файлов, именуемых дистрибутивами, множество ветвей и течений, ругань и склоки на тему "кто Linux'овее" способны отпугнуть даже очень заинтересованного человека. Входящие в дистрибутивы программы и утилиты не вполне совместимы между собой — поэтому всегда стоит обращать внимание на приписки типа "для Debian" или "для RedHat".

Linux можно найти на множестве FTP-архивов ;-) в Internet, а также приобрести у компаний, продающих его на компакт-дисках и других носителях информации (например, в России IPLabs), в наших условиях самым простым способом получения дистрибутива Linux'а является покупка его на Митинском рынке. Кстати, версия, приобретенная на рынке, будет совершенно легальной. Linux распространяется по лицензии GNU General Public License, и его можно продавать и модифицировать, не нарушая при этом законов или прав собственности.

Правда, бесплатность — вещь относительная. Например, абсолютно коммерческая MS Windows98 оказывается дешевле бесплатно распространяемого Sun Solaris X86. Вы, конечно, платите только за носитель и за доставку — около 100 долларов. Но ведь Windows 98 стоит меньше 80 долларов! Примерно так же и с Linux — SuSE Linux 6.0 стоит 46 евро — то есть 50 долларов США. Но за эти деньги вы получите 5 компакт-дисков, набитых программным обеспечением и 450-страничное руководство пользователя. Если "бесплатно" скачивать такие объемы через интернет, расходы намного превысят 50 долларов.

* * *

Для обзора нами был взяты дистрибутивы Red Hat Linux 5.2 и S.u.S.E. Linux 6.0 — одни из самых новых и пригодных для коммерческого использования вариантов этой системы.

Сегодня установка Linux достаточно проста, но утомительна. Утилиты установки обоих дистрибутивов позволяют достаточно быстро и почти без проблем установить систему, причем сразу после установки она работает HTTP-, NFS- и NIS-сервером — конечно, если в процессе установки все параметры были заданы правильно.

Начало установки Red Hat оказалось неудачным — следуя инструкции, мы изготовили загрузочную дискету и, перезагрузив машину, получили не самое информативное, но категоричное сообщение "load boot failure". Эксперименты доказали, что проблема заключается не в качестве дискеты. Более детальное изучение документации выявило наличие альтернативного способа загрузки — запуска из-под DOS файла autoboot. Этот способ оказался более удачным. На экране появился вполне приличный инсталлятор, который практически без затруднений провел нас по всем этапам установки ОС. Система самостоятельно распознала практически все аппаратное обеспечение, включая сетевую карту, причем присвоила устройствам правильные адреса и номера прерываний. Обеспечение "совместного проживания" на одном компьютере Linux и Windows 95 также оказалось несложной проблемой. К сожалению, по умолчанию диски DOS не видны из под Linux, но это достаточно просто исправляется в процессе настройки системы.

С дистрибутивом SuSE таких проблем не возникло. Во-первых, загрузочная дискета входит в состав поставки. Во-вторых, после загрузки с дискеты вы попадаете в YaST, который и ведет вас (правда, с некоторыми уклонениями в сторону) по пути установки операционной системы. Мы не нашли принципиальных для пользователя различий (кроме, разумеется, объема и состава поставляемых с системой программных средств) в этих дистрибутивах. Поэтому в основном далее мы будем говорить о SuSE, как о более новом и полном дистрибутиве Linux из попавших в наши руки.

Всего в дистрибутив SuSE входит около 800 пакетов. К сожалению, 90% из них лучше всего оставить на компакт-диске, потому что в это число входят неработающие игры, загадочные интерпретаторы неведомых никому, кроме их разработчиков, языков, и т.д. В целом это больше всего похоже на собрание freeware, каковым, собственно, и является. Из-за всей этой гигантомании установка системы становится делом крайне трудоемким — попробуйте просмотреть список из 800 пунктов и принять решение по каждому из них! У меня процесс просмотра занял около часа, но если бы я знал, ЧТО представляет собой большая часть пакетов, я бы их оставил на CD.

Кстати о настройке. К сожалению, работа с системой не ограничивается ее установкой. Ее требуется настроить, а потом и администрировать. Настойка и администрирование Linux — не та задача, которую можно возложить на обычного пользователя, например, на отечественного бухгалтера с нервами, истрепанными российским образом жизни. Впрочем, в этом отношении все UNIX-клоны одинаковы. Но в пользу Linux следует привести большое количество документации (в том числе русскоязычной), поставляемой с операционной системой и огромное количество источников в Интернет. Практически по любому возникающему вопросу можно отыскать русскоязычную справку, другой вопрос, что для этого выход в Сеть практически необходим.

Уже тяжело представить себе современную операционную систему, претендующую на часть рынка настольных компьютеров и лишенную графического интерфейса пользователя. У Linux в этом аспекте все в порядке. Для него существует версия популярной оконной среды X Windows — Xfree86.

Установка Xfree86 в SuSE, к счастью, перестала напоминать шаманство с битьем в бубен. Вместо нескольких утилит, предназначенных для этого, но расположенных в разных местах и слабо связанных друг с другом, используется одна программа SaX, снабженная многоязычным интерфейсом (правда, русского в списке языков по-прежнему нет, язык по умолчанию — немецкий). Конфигурация Х Windows занимает не более 10 минут, после чего можно спокойно работать в графической среде. По умолчанию устанавливается оконный менеджер KDE 1.0. Выбор KDE как стандартной графической оболочки (дистрибутив SuSE 6.0) был шагом в правильном направлении — при всей неоднозначности положения KDE в мире free software. Мы не хотим ругать другие оболочки, имеющие своих приверженцев — например, Window Maker, но эта оболочка показалась нам наиболее продуманной и удобной для работы. Если вы придерживаетесь другого мнения — это ваше право. Всего в состав дистрибутива входит более 10 оконных менеджеров, что кажется сомнительным достоинством. Конечно, главное в Linux — свобода самовыражения, но хотелось бы иметь программы "для Linux", а не "для KDE". Программы, поставляемые в составе KDE 1.0, работали в этой среде безукоризненно, чего нельзя сказать про другие X-приложения. Работая корректно в других оконных менеджерах, они вели себя странно в KDE. Надо заметить, что оконные менеджеры могут удовлетворить практически любого, даже самого привередливого пользователя — с точки зрения дизайна. Можно выбрать аналог любой графической оболочки — от Windows до NeXT или Мас. Но работа с ними отнюдь не так удобна. Только в KDE имеется встроенный файл-менеджер, очень похожий на Windows Explorer. В остальных такую мелочь как-то забыли, так что самый удобный способ работы состоит в открытии консоли (xterm, например) со всеми вытекающими последствиями. По счастью, в дистрибутив входит Midnight Commander (некий аналог Norton Commander версии 2), сильно упрощающий работу с файлами в текстовом режиме, и TkDesk — файл-менеджер для графических интерфейсов. К сожалению, в документации про них ни слова не сказано.

Графическая оболочка KDE 1.0 и StarOffice - один из лучших наборов бизнес-приложений для Linux

Конфигурация системы, главным способом работы в которой остается командная строка, может напугать современного пользователя, избалованного графическими интерфейсами. Специально для них в RedHat linux имеется графическая утилита linuxconf, которая позволяет управлять системой из оконного менеджера. Эта утилита дает возможность создавать и удалять имена пользователей или групп, настраивать параметры сетевых соединений, изменять многие другие параметры системы, в том числе ее ядра. Однако, как и многое другое в Linux, она нуждается в значительной доработке, а возможности ее весьма ограничены по сравнению со средствами командной строки. Так что главным способом (смотри начало абзаца). Впрочем, для поддержания порядка в сконфигурированной системе она вполне пригодна. Вместе с тем нельзя не сказать, что редактирование нескольких конфигурационных файлов (с помощью обычного текстового редактора), снабженных достаточно развернутым и понятным комментарием, не намного сложнее изменения параметров в десятке не связанных между собой окон. В дистрибутиве SuSE используется программа YaST — Yet another Setup Tool (Еще одна Программа Установки) — которая заведует установкой, конфигурацией и администрированием системы. О YaST можно сказать много хорошего, как и о любом облегчающем жизнь средстве. Однако ее авторам предстоит еще много работы, поскольку многие (заведомо очевидные для них) вещи совершенно непонятны пользователю.

Установка программного обеспечения несложна — как правило, для этого достаточно воспользоваться командой rpm -i. Как правило, рассчитывать на то, что установленная программа заработает, не стоит — работа RPM сводится к распаковке архива и копированию файлов в соответствующие каталоги. О конфигурации и администрировании установленного пакета вам придется позаботиться самому. Поэтому серьезные пакеты (например, StarOffice) имеют собственные средства инсталляции и настройки. В графической среде (KDE) имеется замечательная программа Kpackage, следящая за тем, что ставилось на этот компьютер и куда, собственно, угодило. Это немаловажно, потому, что, как и принято в UNIX, каждый пакет оказывается "размазанным" по usr, lib, share, opt и так далее каталогам, и его сложно удалить вручную.

В процессе установки предлагается создание соответствующих разделов на жестком диске и создание загрузчика для запуска одной из нескольких операционных систем. К сожалению, его возможности ограничены. Если ваш раздел, содержащий ядро Linux, расположен за 1024 цилиндром диска, вас ждут проблемы (как произошло, например, в нашем случае). Решить их "с налета" получается далеко не всегда.

Одним из наиболее полезных сервисов, предоставляемых Linux, является Samba — SMB-сервер, позволяющий Linux прикидываться для других машин в сети сервером Windows NT или рабочей станцией Windows95. Это позволяет использовать относительно дешевое "железо" как файл- и принтсервер в сети Windows-машин, одновременно пользуясь преимуществами достаточно надежной UNIX-системы. Samba устанавливается в процессе инсталляции ОС, впрочем, можно установить ее и отдельно. Настройка smb-сервиса сводится к редактированию одного файла smb.conf и не представляет особой сложности. Правда, без изучения документации это занятие шансов на успех не имеет. Samba предоставляет широкий спектр услуг. Она может служить DNS- или WINS-сервером, а также обладает свойствами, отсутствующими в Windows NT 4.0 — например, возможностью ограничения дискового пространства для конкретного пользователя (квотирование). К сожалению, поздние версии Windows не могут обратиться к Samba без некоторых изменений в регистре — а именно, без изменений в механизме шифрования пересылаемых паролей. Это касается всех версий Windows после Windows 95 OSR2.

К вопросу о надежности. Следует заметить, что "свободная и независимая натура" Linux в данном случае сыграла с ним злую шутку — как мы уже отмечали, среди огромного количества поставляемых утилит, программ и пакетов находится немало сырых, а то и просто неработоспособных. Система, разумеется, продолжает работать, но что вам с того, если ваша графическая оболочка перестала откликаться на любые попытки ввода и не дает перейти в другую консоль, чтобы "убить" ее командой kill? Многие пакеты в составе дистрибутива носят пометки "alpha" или "not supported". Впрочем, несмотря на это, "общий настрой", если так позволительно выразиться в отношении ОС, вполне дружелюбен. Ситуация, описанная выше, возникала всего 2 раза, причем в одном из них разрешилась сама собой — после примерно 15-минутного ожидания мы оказались перед черным экраном с приглашением оболочки bash.

Нетрадиционная ориентация

Теперь никто не скажет точно, относится Linux к ОС для серверов или для рабочих станций. Раньше принято было считать его сервером. Но в последнее время возникли сомнения. Все чаще и чаще слышатся голоса в защиту Linux как рабочей станции. Сам создатель этой операционной системы в последнее время неоднократно заявлял, что Linux — это система для рабочего стола. Результатом стала странная смесь приложений, составляющих дистрибутивы Linux.

О входящих в состав поставки продуктах можно написать отдельную книгу. К сожалению, размеры журнальной публикации не позволяют даже перечислить их, поэтому остановимся на главных. В дистрибутив SuSE входят несколько SQL-серверов — Informix SE (однопользовательская лицензия для разработчиков), Adabas D (двухпользовательская версия), Sybase Adaptive Server Enterprise 11.0, PostgreSQL, Ingres. Кроме этого, имеются неплохие офисные пакеты — уже привычный Applix и StarOffice 5 Personal Edition.

Надо заметить, что серверная часть все же перевешивает. Linux является единственной платформой, на которой имеется совершенно бесплатное программное обеспечение, позволяющее построить корпоративную систему. Например, InterBase 4.1 — серьезный и совершенно бесплатный. Мы, правда, устанавливали 5-ю версию Interbase, любезно предоставленную нам московским представительством Inprise. Установка InterBase прошла у нас без всяких затруднений. Настроить и взаимодействовать с этим сервером средствами, входящими в состав поставки для Linux оказалось неприятно — видимо, благодаря использованию передовых Java-технологий. Использование клиента для Windows решило проблему, и все настройки мы осуществляли именно с Windows-станции. Впрочем, тяжело представить себе сколько-нибудь серьезную систему, не вызывающую совсем никаких затруднений или вопросов при попытке ее использования неподготовленным пользователем.

Стоит отметить позицию фирмы Sybase, выпустившей Sybase Adaptive Server Enterprise 11.0 в варианте для Linux совершенно бесплатно и без ограничений.

В состав обоих дистрибутивов входит известный Интернет-сервер Apache 1.3. Его установка не требует никаких усилий, кроме указания его названия при установке ОС. Сразу после этого он готов к работе, в чем легко убедиться, набрав на любой станции сети имя Linux-машины в строке ввода броузера. В дистрибутив Red Hat входит графическая утилита Comanche для управления Apache. Она позволяет управлять практически всеми аспектами работы web-сервера и снабжена достаточно удобным и понятным интерфейсом. К сожалению, такого средства не имеется в S.u.S.E. 6.0.

Все упомянутые, а также не упоминавшиеся (напомним — дистрибутив S.u.S.E. 6.0 включает более 800 пакетов) продукты служат веским подтверждением серверной "натуры" Linux. Несмотря на попытки представить Linux "системой для всех", практически невозможно использование этой операционной системы неподготовленным пользователем. Единственное место, где можно вообразить Linux на рабочем столе — это фирма, где использование Linux является предметом корпоративной политики, и где он существует под бдительным присмотром администратора.

По-видимому, это положение будет изменяться со временем. Не могу сказать, хорошо это или плохо — поскольку это, разумеется, улучшит рыночную позицию операционной системы, но может сказаться на ее репутации как сервера. Было бы разумно создать несколько вариантов поставки — серверный, максимально приспособленный для выполнения именно этой части работы и снабженный хорошими средствами конфигурирования и администрирования, и desktop-версии, хорошо приспособленной для работы именно в этой роли — с улучшенной графической средой, автоматической поддержкой и настройкой мультимедиа-устройств и упрощенным, а еще лучше — нулевым, администрированием.

Судя по количеству программного обеспечения для разных вариантов этой ОС, смело можно заявить, что эта задача по плечу сообществу Linux — при условии координации усилий всех заинтересованных сторон. Но возможно ли это в принципе?


Copyright © 1994-2016 ООО "К-Пресс"