Спектр поддерживаемого оборудования (HCL). Наличие формального списка поддерживаемого оборудования или (hardware compatibility list, HCL) – серьезный довод в пользу дистрибутива, особенно, если ваш парк оборудования комплектуется на случайной основе. Если у вас постоянный поставщик оборудования и он сотрудничает с кем-либо из составителей дистрибутивов – это еще более серьезный довод в пользу последнего.
    Поддержка необходимых программ (состав дистрибутива в прикладной части). Как ни странно, это гораздо менее значимый параметр, чем перечисленные выше. Легче самому дополнить несколькими программами дистрибутив, в остальном удовлетворяющий вышеперечисленным критериям.
    Критичность несвободных компонентов. Большинство популярных дистрибутивов (кроме Debian GNU/Linux), по крайней мере, в наиболее полном варианте, включает, помимо свободных, и несвободные программы. Правильная политика заключается в том, чтобы отделять свободное от несвободного и исключать зависимость основной функциональности от несвободных программ (например, в текущем (2.2) выпуске дистрибутива ALT Linux Master все несвободное сосредоточено на девятом диске). Важным является также свободное лицензирование (или, по крайней мере, лицензия на свободное распространение в неизменном виде) документации, каковой политики придерживаются не все разработчики.
    Информационная и ценовая политика разработчика. При прочих равных, преимущественно стоит входить в отношения с поставщиком, придерживающимся полной прозрачности разработки дистрибутивов. Технически это означает свободный доступ (на чтение) к дереву разработки через cvs или ftp или, по крайней мере, простую регистрационную процедуру для получения такого доступа. Разработчики, закрывающие процесс и лишь периодически сбрасывающие его результаты в релизы, скорее всего, готовят сюрпризы своим пользователям, и редко такие сюрпризы оказываются приятными
    Ценаизданий на дисках обычно не играет большого значения (поскольку приобретается один-два комплекта на десятки компьютеров) и варьирует незначительно из-за конкуренции между промышленно тиражированными дистрибутивами и альтернативой самостоятельного переписывания с одолженных дисков или через Интернет. Цена «компактного» (один-три диска плюс брошюрка) дистрибутива в России – порядка 200-300 р., «обширного» (шесть-десять CD плюс несколько томов документации) – от одной до трех тыс. р. Публикация дистрибутивов на DVD, возможно, уничтожит феномен «компактного» малодискового дистрибутива и приведет к дальнейшему снижению цен 12.
   Альтернативным способом получения дистрибутива является его полная или попакетная загрузка через Сеть (на сайтах разработчиков практически всегда они есть), что может оказаться дороже, но оперативнее приобретения дисков. Чаще всего пользователи сочетают приобретение комплектов дисков по мере выхода очередных релизов и загрузку по Сети исправлений и обновлений в периоды между релизами.
    Технические параметры дистрибутивов.
    Бинарная установка или установка из исходников?В сообществе «БСД» в качестве штатной процедуры установки принято «портирование», т.е. автоматизированная компиляция и сборка пакетов для целевой машины из исходников. В сообществе «ГНУ/Линукс» в качестве штатной процедуры установки принята распаковка бинарных (прекомпилированных) пакетов, и до недавнего времени (появления так называемых source-based дистрибутивов) все дистрибутивы технически поддерживали именно этот способ установки (хотя, разумеется, администратор мог и пересобрать любой пакет).
   Преимущество установки из исходников – оптимизация под конкретную машину и меньший объем пакетов. Преимущество бинарной установки – более высокая ее скорость. Следует иметь в виду, что сборка некоторых пакетов на компьютере персонального класса может длиться более десяти часов, и пересборка всех часто использующихся программ может занять несколько суток.
    Программа установки, управление пакетами и утилиты настройки.Как уже замечено, большинство дистрибутивов «ГНУ/Линукс», включая самые популярные, предусматривают установку с первоначальной настройкой и обновление с использованием прекомпилированных программ, собранных в пакеты. Пакет, который может включать одну или более программ, файлы конфигурации, документацию и т.п. является минимальной единицей установки или обновления штатными для дистрибутива средствами. В отдельные пакеты составителями собираются также исходные коды, соответствующие прекомпилированному пакету. Процедуры установки, удаления, обновления пакетов называются управлением пакетами.
   Стандарта на пакетирование и управление пакетами не существует. Распространение получили три формата пакетов: rpm(впервые появившийся в дистрибутиве RedHat и применяемый сегодня большинством составителей дистрибутивов), deb(применяемый Debian) и tgz(применяемый Slackware). На формат пакета завязаны программа установки и управления пакетами («rpm» для rpm, «setup» для tgz и «dpkg» для deb), способная отслеживать зависимостимежду пакетами (ситуации, когда для нормальной работы программы из одного пакета требуется программа (возможно, определенная версия) из другого пакета, или, наоборот, когда программы из разных пакетов являются взаимоисключающими в рамках одной системы).
   В последние годы развиваются усовершенствованные средства управления пакетами, позволяющие преодолевать некоторые ограничения, свойственные «rpm» и «dpkg» (в частности, отслеживать ситуацию смены имени (в отличие от номера версии) пакета). В качестве примеров таких средств можно назвать «apt» (дистрибутивы Debian, ALT Linux и Conectiva) и «yum» (дистрибутив ASPLinux).
   Различные системы пакетирования и управления пакетами примерно равномощны, но используют отличающийся синтаксис. Начинающему администратору проще перейти от администрирования одной системы к другой, если в них применяется одна и та же программа управления пакетами, чем к системе с другой программой управления пакетами.
   Одно время среди составителей дистрибутивов было модно создавать различные «утилиты настройки», обычно с графическими интерфейсами, позволяющие выполнять некоторые административные задачи альтернативным способом. По большей части этот опыт следует признать неудачным, так как попытки администрировать систему такими утилитами обычно рано или поздно приводят ее в неуправляемое или даже неработоспособное состояние.
    Аппаратные платформы.Наконец, следует обратить внимание на аппаратные платформы, на которые ориентирован дистрибутив. Более половины существующих дистрибутивов ориентированы исключительно на IA-32 (IBM PC-совместимые компьютеры), большинство остальных поддерживает две-три аппаратные платформы, а «Дебиан» – целых десять, включая достаточно экзотический. Поддержка даже ненужного вам «железа» при прочих равных, тем не менее, является признаком зрелости дистрибутива.
    Обзор самых популярных дистрибутивов.
   Скорее всего, реальный выбор будет идти между дистрибутивами, либо входящими в «высшую лигу» по популярности в мире (Debian, RedHat, Mandrake и SuSE), либо разрабатывающимися в России (ALT Linux и ASPLinux) 13.
    ALT Linuxразрабатывается международным коллективом ALT Linux Team и публикуется одноименной московской компанией. Сильной стороной ALT является достаточно структурированное русскоязычное сообщество пользователей (включающее списки рассылки, справочные серверы, деловые связи ALT Linux и пр.), слабой – отсутствие на сегодня сколько-нибудь серьезной аппаратной базы для тестирования (и, как следствие, отсутствие формального HCL). ALT неплохо документирован 14. Дистрибутив выходит с 2001 г., хотя следует учитывать и ранний опыт той же команды, выпускавшей до того русскую версию Linux-Mandrake
    ASPLinux– в значительной мере остается производным от Red Hat, причем заявляется бинарная и аппаратная совместимость с последним. ASPLinux более консервативен, чем RedHat, поставка его включает неплохую документацию на русском. Сохраняя лучшие черты RedHat, он, в большинстве случае является более интересным, чем RedHat, вариантом, по крайней мере, для начинающего российского пользователя. Выпускается с 2001 г., хотя следует иметь в виду и более ранний опыт влившейся в коллектив ASPLinux украинской команды Black Cat Linux.
    Debian GNU/Linux.«Образцово-показательный» Debian – единственный из популярных дистрибутивов, принципиально разрабатываемый в некоммерческих рамках. Официальные дистрибутивы Debian содержат пакеты исключительно со свободным софтом. У Debian наиболее формализованные и прозрачные правила взаимодействия в сообществе, причем многие процедуры технологизированы. Debian поддерживает самый широкий спектр аппаратных платформ. «Коробочные» продажи этого дистрибутива невелики, но он является самым популярным среди разработчиков ПО (около половины активных раработчиков свободного ПО пользуются именно им). В России Debian GNU/Linux издается московской компанией ALT Linux, являющейся также разработчиком собственного одноименного дистрибутива (см. выше). Debian GNU/Linux существует с 1993 г.
    Linux-Mandrake. Этот дистрибутив, выпускающийся французской компанией MandrakeSoft, «отпочковался» в свое время (1996 г.) от RedHat и в какой-то момент даже догнал его по количеству коробочных продаж. Парадоксальным образом достаточно высокое качество разработки не помешало компании попасть в затруднительное положение, но компания продолжает выпуск своего дистрибутива, текущая версия которого оценивается пользователями как весьма удачная и сохраняет популярность.
    RedHat Linux.Этот дистрибутив, выпускаемый американской компанией RedHat Software, наиболее популярен в мире среди непрофессиональных пользователей «ГНУ/Линукс», и является лидером по «коробочным» и OEM-продажам. Для RedHat собирается наибольшее количество несвободного софта, что важно для пользователей приложений, не имеющих удовлетворительных свободных реализаций. RedHat Linux существует с 1994 г. В России выходит «кириллическое издание» RedHat, издающееся питерской компанией Linux-ink.
    SuSE Linux. С вхождением SuSE в группу аутсайдеров «ГНУ/Линукс»-дистрибуции UnitedLinux, стремящихся за счет объединения усилий отвоевать часть рыночной доли RedHat, перспективы дистрибутивов SuSE, имеющих, несомненно, свои преимущества, становятся весьма туманными, хотя текущее состояние проекта достаточно стабильное 15.
   Среди неназванных неплохие шансы стать по-настоящему популярным имеет также относительно новый дистрибутив Gentoo. В отличие от перечисленных – это дистрибутив, предполагающий установку из исходников (source-based, см. выше).
   Любой из перечисленных дистрибутивов (также, как и многие из неперечисленных) может быть использован для знакомства с «ГНУ/Линукс» примерно с равным успехом. Любой из них, даже в минимальной (одно-трехдисковой) поставке содержит почти все из описанных в книге пакетов.
   На случай прочих равных(и настоятельной необходимости немедленновыбрать дистрибутив для первого знакомства с «ГНУ/Линукс») лектор рискнет порекомендовать Debian GNU/Linux. Категорически нерекомендуются (в любой ситуации) Lindows и Caldera OpenLinux, а также дистрибутивы, разработка которых прекращена (Corel Linux, Storm Linux, Stampede, HP Secure Linux).
   Рекомендуется также избегать «экзотических» дистрибутивов, хотя, как отмечалось выше, такие факторы, как, например, наличие «под боком» организации или группы с большим опытом в использовании даже относительно слабораспространенного (в мире или стране) дистрибутива, могут перевесить соображения популярности.

1.3 Почему командная строка?

   Существует широко распространенное заблуждение, согласно которому графический интерфейс якобы представляет собой высшую и последнюю стадию развития пользовательских интерфейсов, а «командная строка» – это нечто примитивное и малополезное, если не устаревшее.
   На самом деле, эта «иерархия» отражает не что иное, как порядок, в котором с двумя основными метафорами организации пользовательских интерфейсов познакомились пользователи персональных компьютеров. Вплоть до начала девяностых ПК были простыми и маломощными, поддержка графики и возможность комфортной работы с оконными графическими системами появилась на них недавно (даже в масштабе стремительно развивающейся информационно-технологической отрасли).
   Однако за годы до этого графические интерфейсы уже широко применялись на рабочих станциях – конечно, более дорогом, редком и специализированном оборудовании. Если быть точными, то обе концепции в их более или менее современном виде сформировались примерно в одно время.
   В 1967-68 гг. Дуг Энгельбарт представил прототип т.н. WIMP-интерфейса, т.е. интерфейса, использующего понятия окон (windows), пиктограмм (icons), меню (menus) и указателей (pointers), являющихся ключевыми и для сегодняшних графических пользовательских сред.
   В 1968-69 гг. Кен Томсон и Деннис Ричи представили первый релиз ОС UNIX, по сути, явившейся прототипом артикулированной системы современных понятий практической информатики, таких, как процессы и файлы, и содержащей непротиворечивый, логичный и лаконичный язык работы с соответствующими им сущностями, который спустя полтора десятка лет стал стандартным пользовательским интерфейсом ОС.
   Разумеется, как одна, так и вторая метафорические системы появились не на голом месте, и их родословную можно проследить вплоть до истоков вычислительной техники: до коммуникационной панели первых компьютеров, как вещи твердой и весьма графической (или, во всяком случае, живописной) – это конец сороковых, и до языков управления заданиями в первых программных планировщиках, загрузчиках и ОС – это середина пятидесятых, соответственно. Отметим, что идея управления компьютером как «прибором» – с помощью органов управления (неважно, «в железе» или нарисованных на экране) старше идеи «диалога» при помощи слов.
   При этом для большинства пользователей знакомство с «командной строкой» до недавнего времени отягощалось радикальными «кастрацией» и изменением, которым язык стандартной оболочки ОС был подвергнут при разработке упрощенных ОС для ПК (таких, как «СиПи/М», «МС-ДОС» («ПиСи-ДОС») и клонов последней). Ограничиваясь знакомством со средствами «МС-ДОС» и ее командных файлов, о метафоре «командной строки» можно составить лишь весьма превратное и убогое представление.
   Для людей старорежимных, начиная от возраста автора (ему чуть за 30) и старше, компьютер удивителен и страшен своей уникальной способностью к символической активности. Мы выросли в мире «глупых» вещей, пассивных или проявляющих свою активность чисто механически (как автомобиль, который может быстро довезти, или же раздавить, если вовремя не увернешься), и неспособных к диалогу в бытовом окружении. К диалогу способны были вещи культуры (книга, картина, симфония) – но опосредованно, в отдельных, отведенных для этого местах, в назначенное время и при тщательном отборе собеседников.
   Возможно, пирожное и говорило, по Курту Левину, на своем кондитерском языке «съешь меня», но ничего подобного продемонстрированной нам недавно упаковке, говорящей «купи меня» уже обычным человеческим голосом (причем, с учетом физиоантропометрических данных приблизившегося покупателя), не было. Вещи были «глупыми», сколь бы изощренный ум своих создателей они не воплощали, а умными были только люди.
   Автор до сих пор находится под влиянием первого своего опыта в десятилетнем возрасте общения с компьютером, что-то ему ответившим в ответ на введенную строку. Ответившим осмысленно. (Подробностей он не помнит, но, скорее всего, первым ответом было указание на то, что команда содержит синтаксическую ошибку.) Слово страшенвыше – не случайно, но, в конце концов, компьютеры были тогда надежно заперты в своих вычислительных центрах.
   Роль клетки для этого зверя для очень многих сегодня играет гладкая поверхность «графических интерфейсов», скрывающая диалог. Компьютер, прикрытый таким образом, уже не демонстрирует пугающую символическую наготу. Он реагирует на нажатую кнопку с картинкой – можно успокаивать себя, что это такая хитрая машинка: пылесос после нажатия кнопки сосет, а компьютер – печатает, связано все чисто механически, и никакого человечка, который с изнанки интерфейса посмотрел, куда же ты нажал и определил, что сделать с картинкой, нет.
   На самом деле призрак маленьких человечков есть – за кулисами гладкой разрисованной поверхности идет обмен такими же – mutatis mutandis – сообщениями, что озадачили автора, когда он был маленьким. От нынешних маленьких их хотят попрятать, как электрический ток за изоляцией, чтобы не стукнуло. Но в шкафу каждого компьютера, будь он трижды персональный, спрятан скелет искусственного разума, при всей условности последнего выражения.
   Существует влиятельная тенденция в современных гуманитарных дисциплинах, получившая распространение в основном в англоязычном мире и связанная с остроумными теориями канадского ученого Маршалла Мак-Люэна, утверждавшего, что письменная («визуальная») культура связана с гипертрофией аналитических функций человеческого интеллекта на определенных стадиях его развития, и что ее сменяет культура «аудиальная», направленная на синтез целого путем рассеивания внимания, и возврат к доиндивидуалистическому, общинному сознанию, от полиса и урба – к «глобальной деревне».
   С этой сменой он связывал рост популярности телевидения (и относительное снижение популярности чтения как досуга) и «клип-культуры», а его последователи указывают и на несомненный рост в девяностые популярности «графических пользовательских интерфейсов» компьютеров, причем не только в быту, но и в деловом окружении.
   Мак-Льюэн, впрочем, в своем «зондировании» (как он именовал свое творчество, весьма последовательно отказываясь называть свои позднейшие произведения «текстами») был достаточно ироничен, что в гораздо меньшей степени наблюдается в творчестве его последователей.
   Разумеется, каждый имеет право, хотя оно особо и не оговорено в Конституции, на персональные фобии, и даже право постфактум рационализировать их в теориях. Однако мы полагаем, что никому не должно быть позволено транслировать эти фобии другим, тем менее – подрастающему поколению.
   Компьютеры (и новая генерация «умных» приборов, машин и механизмов, включая промышленные, канцелярские и бытовые) отличаются от всего, созданного человеком ранее, способностью непосредственно манипулировать символами, воспринимать символы и сообщать символы человеку, т.е., в некотором роде вести с ним диалог.
   Стоит ли называть это свойство компьютеров и программ «искусственным интеллектом» – отдельный вопрос, но сам факт, по нашему мнению, должен занять одно из основных мест в содержании учебного предмета информатики. В этом смысле, наблюдаемая тенденция к вытеснению программного инструментария, являющего это свойство в самой методически и дидактически откровенной форме, из школьных курсов кажется нам крайне неприятной и нуждающейся в коррекции.
   Мы с энтузиазмом относимся к применению графических интерфейсов, как в традиционной сфере компьютерной графики, так и в новых, перспективных приложениях. Картинка часто стоит сотни слов, а энергичный жест способен выразить простую мысль быстро и однозначно.
   Однако мысль о том, что пиктограммами и жестами можно заменить полноценный язык, напоминает нам лишь одну из гениальных идей академии наук в Лагадо, описанной Джонатаном Свифтом в «Третьем путешествии Гулливера»:
   «А так как слова суть только названия вещей, то автор проекта высказывает предложение, что для нас будет гораздо удобнее носить при себе вещи, необходимые для выражения наших мыслей и желаний».
   Глядя на визуально-дизайнерское произведение очередного их последователя, лишь удивляешься: из какого мешка он достал значок, выражающий идею: «Вход с жующими мороженое несовершеннолетними леопардами в темное время суток запрещен»? И почему он думает, что этот значок интуитивно понятен?
   «Мне часто случалось видеть двух таких мудрецов, изнемогавших под тяжестью ноши ... При встрече на улице они снимали с плеч мешки, открывали их и, достав оттуда необходимые вещи, беседовали в течение часа».
   В Лагадо попытка мудрецов осуществить масштабное внедрение своего изобретения закончилась тем, что:
   «Женщины, войдя в стачку с невежественной чернью ... пригрозили поднять восстание, требуя, чтобы языку их была предоставлена полная воля ... так простой народ постоянно оказывается непримиримым врагом науки!»
   График нагляден, лишь пока цифры на нем можно разглядеть, а пиктограммы осмысленны только при выборе из немногих вариантов (даже сотню дорожных знаков выучить уже непросто). Для артикулированного и гибкого выражения идей (далеко не все из которых можно нарисовать) и их связи человечество выработало такой инструмент, как языки (естественные и формальные), и замены им пока не предвидится.

1.4 Сеанс работы и команды

   Интерфейс оператора ОС представляет собой интерпретирующий язык, конструкции которого могут выполняться непосредственно при их вводе оператором (интерактивный режим) или из файлов (режим выполнения сценариев).
   Как и любой язык, язык оболочки команд и ОС нуждается в изучении. Как и при изучении любого языка – естественного или искусственного – первые шаги достаточно трудны. Однако изучить его легче, чем любую развитую систему научной нотации (математической или химической) даже в объеме средней школы, и неизмеримо легче, чем иностранный язык. Вводные курсы в открытые ОС успешно прошли миллионы человек.
    Загрузка и разгрузка системы
   Изначальный запуск программ, составляющих операционную систему, называется загрузкойОС, их завершение – ее разгрузкой, а загрузка сразу вслед за разгрузкой – перезагрузкой.
   Эти действия относятся к административным, то есть для их выполнения нужно обладать соответствующими полномочиями.
   Многопользовательские машины и серверы разгружаются обычно лишь перед ремонтом или модернизацией оборудования, а перезагружаются – после обновления ядра, важных системных программ или библиотек.
   Однако на настольных, портативных и мобильных машинах выполнение этих процедур в большинстве случаев делегируется всем пользователям, и нет необходимости регистрироваться в системе в качестве администратора (и даже иметь такую возможность, то есть знать пароль администратора), чтобы выполнить ее разгрузку или перезагрузку. Такие машины часто выключаются по окончании рабочего дня.
   На микрокомпьютерах для загрузки системы обычно не требуется выполнять каких-то специальных действий. При включении машины автоматически выполняется следующая последовательность процедур.
   Загружается в память и начинает исполняться вшитый загрузчик. Это миниатюрная программа, располагающаяся в энергонезависимой памяти (ППЗУ или флэш) на системной плате, которая пытается загрузить следующую программу-загрузчик с устройства, указанного в настройках (также располагающихся в энергонезависимой памяти). Такими устройствами могут быть сетевой адаптер, фиксированный (жесткий) диск или привод съемного носителя информации (дискеты, CD, DVD или ZIP-диска). Бездисковые машины загружаются с сетевого адаптера (для этого в локальной сети должен присутствовать сервер, предоставляющий по запросу загрузчик). Автономные машины загружаются обычно с фиксированного диска. Со съемного носителя загружаются автономные машины при установке на них новой ОС или проведении восстановительных работ.
    Загрузчик ОС(LILO, GRUB или другой) загружает ядро операционной системы. Загрузчик может быть настроен на выдачу перед загрузкой меню, в котором перечислены различные варианты загрузки или даже различные ОС, установленные на фиксированных дисках машины или в локальной сети.
   После этого управление передается загруженному ядруоперационной системы, которое выполняет запрограммированную последовательность действий, включая собственное конфигурирование (подгрузку модулей), и запуск корневого процесса, запускающего системные сервисы и программы и т.д.
   Такая (кажущаяся сложной) трехзвенная последовательность загрузки обеспечивает необходимую гибкость в администрировании машины. Для оператора же она сводится в большинстве случаев к тому, что некоторое время машина активно мигает лампочками сетевого контроллера и/или привода фиксированного диска, а на ее консоль (терминал, подключенный непосредственно к машине) выдается серия диагностических сообщений.
   Показателем успешной загрузки системы является вывод на консоль (и на другие терминалы, если таковые имеются) приглашения к регистрации: как правило оно содержит логотип ОС и/или организации, сведения о локальной системе (включая ее имя, тип и тактовую частоту процессора, объем оперативной памяти) и строку «login:».
   Некоторые машины настраиваются на автоматический запуск в ходе загрузки графической оконной системы «Икс». В этом случае (а также при регистрации на икс-терминале) приглашение к регистрации будет иметь вид окнас полями «login» (регистрационное имя) и «password» (пароль).