Во-вторых, большинство «дружественных пользователю» систем буквально напичканы инструментами для настройки всего и вся, призванными облегчить жизнь администратора. И до определенного предела они эту роль выполняют. Но при этом освобождают от знания механизмов, скрытых под красивым GUI, а сами являются настолько дистрибутив-специфичными, что блестящее знание Yast из SUSE мало чем поможет при работе с клонами Red Hat. А ведь мы помним, что речь идёт об обучении будущих «внедренцев» – и какой именно дистрибутив они будут внедрять, заранее неизвестно.
Вторая точка зрения, явным или неявным образом, гласит: будущих гуру надо учить по «методу большого болота» – системам типа Slackware, Gentoo, Arch. Причины очевидны:
• знание tarball-based систем, как правило, наиболее универсально: крылатая фраза «Изучая Slackware, ты изучаешь Linux» имеет под собой все основания;
• в компенсацию своей относительной сложности (точнее, непривычности), такие дистрибутивы, как правило, прекрасно документированы (Gentoo вообще приближается к эталону в этом отношении);
• наконец, выбравшемуся из большого болота лужи малые уже нипочем.
Оборотная сторона медали такова: а многие ли пользователи без предварительной подготовки смогут выбраться? Причём не будем забывать еще об одном, очень важном, моменте: когда мы говорим об обучении будущих Linux-гуру, речь идёт в первую очередь о их самообучении: насколько мне известно, в централизованном порядке их, в отличие от конечных пользователей, образовывать не собираются. А значит, самообучение им придётся совмещать с решением сиюминутных практических вопросов.
А вот к этому-то дистрибутивы данного типа не очень пригодны. Каждый, кто имел дело со Slackware, Gentoo и подобными, подтвердит, что в них всё легко и просто. Но лишь после того, как на настройку и индивидуализацию системы затрачены должные усилия, причём не всегда совместимые с немедленной практической работой.
И потому выскажу третью точку зрения: учить надо систему, обеспечивающую поэтапное вступление в мир Linux, в которой сочетаются легкость развертывания «пользовательских» дистрибутивов и возможность углублённого изучения системы. И как минимум один дистрибутив, отвечающий этим условиям, есть: Zenwalk Linux (www.zenwalk.org). Доказательство чего автор надеется представить ниже.
Испокон веков установка дистрибутивов Linux сводилась к следующим обязательным действиям:
• разметке диска;
• созданию файловых систем;
• обеспечению загрузки системы;
• развертывании её с дистрибутивного носителя;
• постинсталляционных настроек.
Причём пункты 1, 2 и 4 по сути своей были одинаковы во всех дистрибутивах: независимо от внешнего оформления, за ними скрываются те же утилиты и файлы. Некоторая индивидуальность проявлялась в развертывании системы, правда, зачастую все сводилось к альтернативе: попакетный выбор компонентов, с учетом или без учёта зависимостей или установке неких предопределённых наборов – по назначению (сервер, рабочая станция) или по окружению (KDE, GNOME и т.п.). Были, конечно, и более или менее сбалансированные сочетания обоих вариантов, но двоичность подхода от этого не менялась...
До тех пор, пока на рубеже тысячелетий не появились дистрибутивы с «безальтернативными» инсталляторами, в которых устанавливался некий готовый набор утилит и приложений внутри фиксированного окружения. Что, с одной стороны, позволяло получить готовую «из коробки» систему с ограниченным, но достаточным для начала набором приложений и пусть не идеальными, но разумными настройками. С другой же – лишало пользователя какой-либо возможности выбора на стадии установки.
Одним из пионеров данного направления был Vector Linux, потомок Slackware. Уже в его первой версии, вышедшей в июне 2000 года, была реализована концепция безальтернативной установки интегрированной рабочей среды (KDE) с фиксированным набором пользовательских приложений, необходимых и, более или менее, достаточных для решения стандартных задач дома и в офисе.
В дальнейшем эта концепция нашла свое воплощение в таких дистрибутивах, как MEPIS, Corel Linux (ныне Xandros) и Lindows (позднее Linspire, ныне слившийся с Xandros). Очень последовательно она проводится в Ubuntu и его бессчётных производных. Характерно, что в основе всех их лежит Debian – его система управления пакетами оказалась наиболее благоприятной для реализации «безальтернативной» установки.
На извечный вопрос, хороша или плоха безальтернативная установка, однозначный ответ дать, естественно, нельзя. Ограничение свободны выбора пользователя, если подходить к этому с абстрактных позиций – это безусловное «плохо», но зададим встречный вопрос: всегда ли пользователь, особенно начинающий, может ею распорядиться? Каждого, кто вспомнит свои муки при выборе одного из наличных текстовых редакторов, браузеров или почтовых клиентов при первой установке любого полнофункционального дистрибутива, охватят далеко не смутные сомнения. Ибо муки буриданова осла меркнут пред ними: ведь тому надлежало выбрать лишь из двух охапок сена, а не полудюжины их.
Таким образом, на первый план выходит качество реализации «безальтенративного» дистрибутива и чувство меры у его разработчиков. В Vector Linux, помнится, меня удивило изобилие функционально дублирующих друг друга приложений, что выглядит непозволительной роскошью для одного CD. Программы KDE в Vector часто заменялись их Gtk-аналогами, и не всегда более функциональными.
Ubuntu куда более последователен: дистрибутив-эпоним содержит только программы, основанные на Gtk и библиотеках GNOME, Kubuntu – на Qt и kdelibs, Xubuntu – немногочисленные собственные плюс затыкающие прорехи приложения Gtk/GNOME. Однако, и здесь есть излишества. К чему включать локали и шрифты для языков, о существовании которых, за пределами круга их носителей, мало кто слышал? Причем без простой возможности от них избавиться...
На фоне своих собратьев Zenwalk Linux выглядит квинтэссенцией «безальтернативного» подхода, причём направленного на максимальное упрощение и облегчение системы – как в установке, так и в изучении, и в использовании. Начинается это с выбора рабочей среды – Xfce, самой быстрой и легкой среди интегрированных. Да, недостаточно нагруженной функционально в сравнении с GNOME/KDE (некоторые сказали бы, функционально не перегруженной, подобно им), но зато пригодного к практической работе сразу после установки. Настройки, собранные в единой панели, немногочисленны и предельно прозрачны.
Недостаток собственных приложений Xfce компенсируется сторонними программами. При этом последовательно проводится три принципа комплектования дистрибутива.
Первый и главный таков: одна задача – одна программа. Никаких функционально дублирующих друг друга утилит и приложений в штатном составе дистрибутива вы не найдете.
Второй принцип – единство графического инструментария: все приложения (не считая тех немногих, которым требуются собственные библиотеки Xfce) используют исключительно Gtk.
И, наконец, третье: включённые в дистрибутив приложения совсем не обязательно самые функциональные в своём классе, но всегда – самые легкие, самые простые в освоении и использовании.
В Zenwalk абсолютно нет тяжелых, узкоспециализированных приложений, а также программ, которые принято относить к категории профессиональных (за исключением GIMP – но он сколько-нибудь функциональных легких аналогов не имеет). Предполагается, что задача авторов дистрибутива – обеспечить пользователю «место для жизни», а уж подбором того, что ему требуется для профессиональной деятельности, он займётся сам.
Далее, Zenwalk, будучи потомком Slackware, наследует простоту и прозрачность её внутреннего устройства: при наличии минимального опыта и навыка, в настройку любых параметров можно вмешаться вручную. Однако эти самые минимальные опыт и навык нужно еще приобрести, не так ли? И тут на помощь начинающему пользователю приходит графическое средство сквозной настройки системы – Zenwalk Panel.
Здесь читатель вправе обвинить меня в противоречии собственному утверждению, что графические инструменты затеняют суть процесса настройки. Возразить на это легко: Zenwalk Panel как раз и являет собой исключение из этого правила. Потому что, свято следуя принципу «одна иконка – один параметр» похоже, она позволяет легко установить корреляцию между выполненными через графический интерфейс действиями и изменениями конфигурационных файлов. То есть представляет собой своего рода лабораторную модель для отработки навыков настройки и приобретения необходимого опыта, позволяющего в дальнейшем вмешиваться в этот процесс руками.
Третья особенность Zenwalk – его средства управления пакетами. Как известно, отличительная особенность Slackware – это отсутствие средств контроля зависимостей, отслеживание которых возлагается на пользователя. Что, конечно, способствует его образованию, но поначалу может показаться сложноватым (да и не только поначалу – удержать в памяти зависимости многочисленных пакетов не очень легко).