Субъективные заметки о Linux
В конце прошлого года моя мечта о более мощном компьютере в конце концов осуществилась. Но поскольку старого верного коня выбрасывать было жалко, заодно я приобрел пару сетевых карточек. А купив на улице у мужичка кусок кабеля с разъемами и припаяв два резистора к тройникам, получил домашнюю сеть. Под Windows сеть продержалась считанные дни (не потому что упала, а потому что показалась не очень нужной), и я решил, наконец, удовлетворить свое любопытство к Linux. Голова после Нового года не болела, поэтому на две недели я заперся в своей комнате и погрузился в новый мир.
Хвост, ноги, хобот (Объекты исследования слепых мудрецов)
Поскольку большую часть сознательной жизни я проработал на так называемой платформе Wintel (от 8088/87 под MS-DOS 3.30 до Pentium II под Windows 98), то прежде всего меня интересовало, что дает Linux по сравнению с Windows?
Люди, имея дело с компьютерами, в той или иной мере исполняют роли программиста, системного администратора и пользователя (я исключаю из рассмотрения роли разработчиков и производителей железа, продавцов, ремонтников и полных "чайников"). Примерив на себя все три шкуры, попытаюсь описать свои впечатления.
Начав с Red Hat 5.0 и через Red Hat 5.2, я пришел к Mandrake 5.3. Сравнение дистрибутивов дало ощущение тенденции, куда идет Linux.
"Чудище обло, озорно, огромно, стозевно и лаяй" (Раннее описание паровоза)
Все начинается с установки. В этом отношении все достаточно просто и сложно одновременно. Просто - это вставить CD в привод, перегрузить компьютер и пройти по шагам инсталляции. При знании английского языка и обладании здравым смыслом это преодолимо и к цели приводит. Сложнее - установить правильно. Для этого нужно, как минимум, полистать Installation Guide, man, FAQ и How to - сопутствующую документацию, которой в избытке. Вообще, чтение документации - это необходимый и важный процесс при работе с Linux. Для Windows метод тыка чаще достигает результата.
Можно также вспомнить двухтомник Ричарда Петерсена "Linux: руководство по операционной системе" - очень полезное чтение для начала, дающее представление о предмете, хотя и сопровождается устаревшим дистрибутивом Caldera.
Хотя Linux на самом деле одна, несколько фирм (Red Hat, Caldera и др.) предлагают дистрибутивы, содержащие ядро системы и набор прикладных пакетов, немного отличающиеся по составу и процедуре установки. По историческим причинам я имел дело с дистрибутивами Red Hat ("Красная шапочка"). Процедура установки в них довольно ясна и построена на использовании RPM-файлов, что позволяет легко инсталлировать/деинсталлировать отдельные пакеты, подбирая нужную конфигурацию. На основе дистрибутива Red Hat построен дистрибутив Mandrake 5.3 (спасибо фирме IPLabs за то, что он у меня оказался в нужный момент и не был изуродован, как на позднее появившемся диске "Лучшие программы для Linux"), отличающийся тем, что установка графической среды KDE естественным образом интегрирована в процесс инсталляции.
Хотя в описаниях пакетов много места уделено процессу компиляции, делать это ни разу не понадобилось.
После установки пакеты обычно работают, но даже небольшая подстройка требует изучения документации. Если делать одинокую рабочую станцию, то настройки и не нужны. Для сетевой рабочей станции они минимальны и практически делаются во время инсталляции. А вот сервер требует времени и усилий.
В результате у меня получилась такая конфигурация: старый компьютер (DX2/66 с 8 Мбайт RAM) как сервер под Linux и новый компьютер (Celeron 300A со 128 Мбайт RAM) как рабочая станция с двойной загрузкой Linux/Windows 98.
Конечно, первое впечатление - это возврат к командной строке. Linux, что бы ни говорили, это все-таки Unix [1], имеющая уже тридцатилетнюю историю. Ради интереса я полистал книги по Unix середины 80-х. Так они не устарели!
Linux содержит в себе практически все средства, механизмы и инструменты традиционной Unix. Это непростая операционная система. Но эта непростота - лучше воровства. Linux - гармоничная и мощная система. Команды, ключи, конфигурационные файлы... В умелых руках - это мощный инструмент, хотя для неумелых - сущий кошмар. Но набрав в командной строке "mc", мы попадаем в Midnight Commander - близкий родственник Norton Commander. Уже легче. А набрав "startx", переходим в графический режим.
Можно говорить об отмирании текстового режима. Но рациональное зерно в нем есть до сих пор. Понятно, что графический режим съедает ресурсы, давая красоту и удобство. Для сервера более важно эффективное использование ресурсов.
Кстати, деление на серверы и рабочие станции для Linux - понятие условное. Все зависит от состава установленных пакетов и настроек. Масштабируемость поразительна. Все в одном флаконе.
В наше время трудно не согласиться с необходимостью графического интерфейса для рабочей станции - места пользователя. Запустив графический режим на старой машине (кстати, именно ее параметры рекомендованы в одном из руководств), я пришел к выводу, что такое использование Linux могло доставить удовольствие только фанатам. И только на новой машине все заиграло и заискрилось.
Можно ругать Windows сколько угодно, но ее широкое распространение есть отражение простого факта: по возможностям и свойствам эта система соответствовала большинству имевшихся у людей компьютеров и позволяла в приемлемом темпе решать на них конкретные задачи. Компьютеры, сделавшие возможным массовое применение Linux, появились только недавно. Чем, помимо прочего, можно объяснить растущую популярность Linux. Как отражение этого видна активность в создании графической среды для рабочих станций.
Linux как сервер
О работе в сети. Linux прекрасно приспособлена (рождена) для работы в сети.
Причем оказалось достаточным использовать только протокол TCP/IP. Понятно, что имеются средства для всех мыслимых сетевых служб, как для локальных сетей, так и для Интернета.
От соблазна установить все я удержался, но любопытство сыграло свою роль. Для сервера интересными показались Apache, DNS, Samba.
Apache - это известный Web-сервер, установленный на доброй половине Web-сайтов мира. Это прекрасная основа для Web-сайта и для интрасети. Неплохое описание настройки сервера можно найти в статье "Русское племя апачей" Артема Подстрешного ("Мир ПК" .3, 1999 г., стр. 70-77).
DNS - сервер службы имен, устанавливающий соответствие между IP-адресами и именами в сети. Это основа администрирования сети, избавляющая от необходимости отражать изменения конфигурации сети на отдельных рабочих станциях. Подспорьем для настройки оказалась статья Константина Пьянзина "Настройка серверов имен DNS" ("LAN. Журнал сетевых решений" .3, 1997 г., стр. 86-91).
Samba - как мне показалось, прекрасное средство интеграции Windows-клиентов в сеть. С точки зрения клиента Samba-сервер представляется как сервер Windows NT. Клиент включается в сеть естественно, получая при нужде все необходимые сервисы (файл-сервер, принт-сервер, доступ к Интернету, почту и т. д.). Все это было опробовано и прекрасно работало.
Настройка этих служб на стороне сервера часто требует кропотливой настройки конфигурационных файлов, что является нетривиальной задачей. А кто говорил, что быть сисадмином легко?
Большое впечатление произвела многосеансность. С рабочей станции через telnet я легко попадаю на сервер. Комбинацией клавиш переключаюсь с сеанса на сеанс и могу полноценно работать на обеих машинах с одной клавиатуры и глядя на один монитор. И никаких переключателей монитор - клавиатура - мышь!
Linux для пользователя
Если режим командной строки может отпугнуть простого пользователя, то последние веяния делают работу с Linux гораздо комфортнее.
Основу графического интерфейса в Linux образует Xfree86 - фундамент, делающий возможной работу в среде X-Window.
Над Xfree86 надстраиваются оконные менеджеры. Прикладные программы, соответственно, образуют наружный слой. Поскольку основа взаимодействия с графическим адаптером одна, то прикладные программы в принципе можно запускать под любым из оконных менеджеров.
Один из менеджеров - KDE (The K desktop environment). [2]