- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF112:Какой Linux изучать?
Материал из Linuxformat.
Содержание |
Zenwalk Linux: Не его ли изучать?
- В LXF108 была опубликована колонка, озаглавленная просто: «Какой Linux изучать?» Сегодня Алексей Федорчук готов предложить дальнейшее развитие заявленной в ней темы.
Самым модным предметом обсуждений в российском свободном сообществе в последнее время стало повсеместное внедрение Linux в школах, вузах, на производстве... да разве все перечислишь? Судя по тому, что одно из российских зеркал сайта http://www.kernel.org расположено на сервере http://perespim.ru, не за горами и внедрение этой ОС и в сфере, так сказать, интимной. Желающих убедиться прошу сюда: http://kernel.perespim.ru/pub/linux/; кстати, вопреки присказке, что «быстро хорошо не бывает», зеркало вполне шустрое.
Так что ответ на вопрос, кого учить Linux, более или менее ясен: всех. Сложнее с ответом на другой вопрос: а кто будет учить? Ибо повсеместное внедрение Linux требует знания предмета, как минимум, от тех, кто это внедрение будет осуществлять. А здесь наблюдается напряженка: наша страна за годы существования свободной ОС не вырастила достаточного количества специалистов – их еще самих предстоит обучить.
Это выводит нас на третий вопрос: а какому именно Linux следует учить будущих гуру – внедренцев данной системы в масштабе страны (а то, глядишь, и всего мира)? А может, их вообще следует учить FreeBSD или, скажем, DragonFly BSD?
Применим фильтры
На http://www.distrowatch.com сегодня зарегистрировано около 350 активно развиваемых дистрибутивов (включая полторы дюжины BSD-систем), плюс еще пара сотен проектов в различных стадиях стагнации, которые тоже нельзя не учитывать: реанимация давно, казалось бы, умерших начинаний – отнюдь не редкость в мире Open Source. Но все ли они одинаково полезны для информационного здоровья будущих Linux-гуру?
Сконцентрируемся все-таки только на активно развивающихся проектах, разделяемых в рамках того же Distrowatch на два десятка категорий (рис. 1). Среди них для начала отфильтруем узкоспециализированные решения: кластерные, восстановительные, security-системы; все они предназначены для тех, кто «уже умеет» (и, главное, знает, для чего они ему нужны).
Следующий фильтр ставим перед дистрибутивами с ярко выраженной национальной спецификой. Например, чуть ли не в каждой провинции Испании есть свой Linux, учитывающий диалектные особенности, специфику местного делопроизводства и прочие детали. Что, разумеется, очень важно для местных пользователей (и должно служить примером для других стран и регионов), но вряд ли актуально для нашего государства.
Далее, исключаем из рассмотрения дистрибутивы, разрабатываемые отдельными лицами, вокруг которых не сложилось (еще не сложилось?) более или менее развитого сообщества. Не потому, что индивидуалы не способны сделать ничего путного – как раз напротив: мы знаем массу примеров успешно развивающихся проектов, начатых однимединственным человеком. К сожалению, известны и другие прецеденты: когда инициатор разработки по тем или иным причинам переставал заниматься своим детищем, а подхватить эстафету было некому.
При всей моей любви к BSD-системам, их пока тоже придется исключить из рассмотрения. Причин тому много, и останавливаться на них здесь я не стану – будем считать это просто волюнтаристским решением.
Наконец, на заключительном этапе можно отбросить малоизвестные дистрибутивы. Не потому, что они плохи сами по себе: просто по ним, как правило, трудно найти достаточно информации. А информационное обеспечение – далеко не последний критерий выбора системы, которую должны осваивать будущие внедренцы...
Но и после такого многоступенчатого отбора список кандидатов остается более чем обширным. Правда, и мнений относительно того, как сделать окончательный выбор, оказывается не намного меньше. Тем не менее, наиболее распространенных точек зрения две. Согласно первой, будущие гуру должны учиться на наиболее дружественных к пользователю системах, таких, как Fedora и прямые клоны Red Hat, вроде CentOS или Scientific Linux (о самом RHEL тут речи нет из-за дороговизны технической поддержки, да и ненужности ее в данной ситуации), SUSE, Ubuntu, Mandriva, ALT Linux – тем более, что некоторые из них уже пустили корни в российских школах. Список неполон, но его уже достаточно, чтобы было над чем задуматься.
Преимущества такого подхода лежат на поверхности: начинающие пользователи знакомятся с новой операционной системой в относительно привычной им обстановке. По таким дистрибутивам проще найти информацию: и в виде книг, и в Сети. Недостатки же не столь очевидны, но от этого не становятся менее весомыми. Во-первых, это сложность «докапывания» до устройства системы. Кажущаяся простота может создать иллюзию понимания и лишить стимулов к детальному разбирательству – не будем забывать о том, что речь идет не о конечных пользователях, а о тех, кому со временем придется учить других.
Во-вторых, большинство «дружественных пользователю» систем буквально напичканы инструментами для настройки всего и вся, призванными облегчить жизнь администратора. До определенного предела они с этой задачей справляются, но одновременно освобождают от знания механизмов, скрытых под красивым GUI, а сами являются настолько дистрибутив-специфичными, что блестящее знание Yast из SUSE мало чем поможет при работе с клонами Red Hat. А ведь мы помним, что речь идет об обучении будущих внедренцев – и какой именно дистрибутив они будут внедрять, заранее неизвестно.
Вторая точка зрения, явным или неявным образом, гласит: будущих гуру надо учить по «методу большого болота» – системам типа Slackware, Gentoo, Arch. Причины очевидны:
- Знание tarball-based систем, как правило, наиболее универсально: крылатая фраза «Изучая Slackware, ты изучаешь Linux» имеет под собой все основания;
- В компенсацию своей относительной сложности (точнее, непривычности), такие дистрибутивы, как правило, прекрасно документированы (Gentoo вообще приближается к эталону в этом отношении);
- Наконец, выбравшемуся из большого болота лужи малые уже нипочем.
Оборотная сторона медали такова: а многие ли пользователи без предварительной подготовки смогут выбраться? Причем не будем забывать еще об одном, очень важном, моменте: когда мы говорим об обучении будущих Linux-гуру, речь идет в первую очередь об их самообразовании – насколько мне известно, в централизованном порядке их, в отличие от конечных пользователей, готовить не собираются. А значит, самообучение им придется совмещать с решением сиюминутных практических вопросов.
А вот к этому-то дистрибутивы данного типа не очень пригодны. Каждый, кто имел дело со Slackware, Gentoo и подобными, подтвердит, что в них все легко и просто. Но лишь после того, как на настройку и индивидуализацию системы затрачены должные усилия, причем не всегда совместимые с немедленной практической работой.
И потому выскажу третью точку зрения: учить надо систему, обеспечивающую поэтапное вступление в мир Linux, в которой сочетаются легкость развертывания «пользовательских» дистрибутивов и возможность углубленного изучения. И как минимум один дистрибутив, отвечающий этим условиям, есть – это Zenwalk Linux (http://www.zenwalk.org). Доказательство данного тезиса автор надеется представить ниже.
Почему Zenwalk?
Испокон веков установка дистрибутивов 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, недостаточно функционально нагруженной (некоторые сказали бы: «в отличие от них, функционально не перегруженной»), но зато пригодной к практической работе сразу после установки. Настройки, собранные в единой панели, немногочисленны и предельно прозрачны (рис. 2).
Недостаток собственных приложений Xfce компенсируется сторонними программами. При этом последовательно проводится три принципа комплектования дистрибутива.
- Первый и главный таков: одна задача – одна программа. Никаких функционально дублирующих друг друга утилит и приложений в штатном составе Zenwalk вы не найдете.
- Второй принцип – единство графического инструментария: все приложения (не считая тех немногих, которым требуются собственные библиотеки Xfce) используют исключительно GTK.
- И, наконец, третье: включенные в дистрибутив приложения совсем не обязательно самые функциональные в своем классе, но всегда – самые легкие, самые простые в освоении и использовании.
В Zenwalk абсолютно нет тяжелых, узкоспециализированных приложений, а также программ, которые принято относить к категории профессиональных (за исключением GIMP, но он сколько-нибудь функциональных легких аналогов не имеет). Предполагается, что задача авторов дистрибутива – обеспечить пользователю «место для жизни», а уж подбором того, что ему требуется для профессиональной деятельности, он займется сам.
Далее, Zenwalk, будучи потомком Slackware, наследует простоту и прозрачность его внутреннего устройства: при наличии минимального опыта и навыка, в настройку любых параметров можно вмешаться вручную. Однако эти самые минимальные опыт и навык нужно еще приобрести, не так ли? И тут на помощь начинающему пользователю приходит графическое средство сквозной настройки системы – Zenwalk Panel (рис. 3).
Здесь читатель вправе обвинить меня в противоречии собственному утверждению, что графические инструменты затеняют суть процесса настройки. Возразить на это легко: Zenwalk Panel как раз и являет собой исключение из данного правила. Потому что, свято следуя принципу «одна иконка – один параметр», он позволяет легко установить корреляцию между выполненными через графический интерфейс действиями и изменениями конфигурационных файлов. То есть представляет собой своего рода лабораторную модель для отработки навыков настройки и приобретения необходимого опыта, позволяющего в дальнейшем вмешиваться в этот процесс вручную.
Третья особенность Zenwalk – его инструменты управления пакетами. Как известно, отличительная особенность Slackware – это отсутствие средств контроля зависимостей, отслеживание которых возлагается на пользователя. Что, конечно, способствует его образованию, но поначалу может показаться сложноватым (да и не только поначалу – удержать в памяти зависимости многочисленных пакетов не очень легко).
Так вот, средства управления пакетами дистрибутива Zenwalk избавляют вас от этой докуки. Собственно, средство-то одно, но оно существует в двух ипостасях: утилиты командной строки netpkg и ее графической оболочки xnetpkg (рис. 4). Они взаимодополняют друг друга: одни действия удобнее выполнять из командной строки, другие – из графического интерфейса.
Кстати, все, что было сказано об аскетичности подбора ПО, касалось только штатного дистрибутива, распространяемого в виде ISO- образа. В сетевых репозиториях проекта доступно если и не все изобилие свободных программ, то изрядная его часть, включая KDE, GNOME и большинство их приложений, несколько оконных менеджеров для тех, кто не любит интегрированных сред, OpenOffice.org, Seamonkey и множество других.
Конечно, «запас» пакетов в репозиториях Zenwalk далеко не столь обширен, как у Gentoo, Debian или даже Arch Linux. Однако он восполним самыми различными способами.
- Во-первых, кроме официального репозитория проекта, поддерживается так называемый пользовательский (ZUR – http://zur.zenwalk.org), пополнение которого обеспечивается сообществом.
- Во-вторых, Zenwalk сохраняет двоичную совместимость со Slackware, и потому остро недостающие пакеты можно поискать в его официальных репозиториях или на сайтах вроде http://www.linuxpackages.net.
- В-третьих, никто не отменял и традиционного способа пополнения личной коллекции пакетов – сборки из исходных текстов (LXF111).
Причем это можно сделать не только для себя, но и поделиться с другими: скомпилируйте пакет по всем правилам Zenwalk, со служебными файлами, содержащими необходимую метаинформацию, в том числе и о зависимостях, и разместите его в ZUR для тестирования. Если пакет окажется корректно собранным и востребованным, он имеет шанс войти и в состав официального репозитория.
Как видно, пользователь Zenwalk имеет достаточно возможностей для индивидуализации своей системы: он может полностью сменить рабочее окружение как в сторону облегчения (перейдя на какой-либо из легких оконных менеджеров), так и в сторону многофункциональности (мигрировав на KDE или GNOME), доустановить дополнительные пакеты, не отягощая себя размышлениями об их зависимостях, выполнять регулярное обновление как отдельных пакетов, так и системы в целом.
При этом, в отличие от дистрибутивов семейства Ubuntu, пользователь Zenwalk не привязан столь жестко к набору пакетов, установленному при первичной инсталляции. Если в Ubuntu удаление, скажем, ненужных шрифтов и локалей связано с изрядными трудностями, вплоть до полной потери работоспособности системы, то в Zenwalk можно легко убрать почти любой пакет, входящий в штатный набор. Впрочем, как мы увидим дальше, у пользователя есть и другой путь иметь в своей системе только заведомо нужные ему компоненты.
Zenwalk: знакомимся ближе
Если мне удалось убедить вас в том, что Zenwalk – штука стоящая, есть смысл познакомиться с ним поближе.
Как уже было сказано, Zenwalk является одним из клонов Slackware, старейшего из ныне живущих дистрибутивов Linux. Возникнув в середине 2004 года под названием Minislack, свое нынешнее имя он получил на втором году жизни, в августе 2005.
Создатель дистрибутива, Жан-Филипп Гийемен [Jean-Philippe Guillemin], ставил своей целью создать компактную и быструю систему, сочетающую гибкость Slackware с простотой установки и настройки, легкостью актуализации и наращивания. Он оказался не одинок в своих намерениях, и постепенно вокруг Zenwalk сложились и команда основных разработчиков, и сообщество пользователей. Совместными усилиями они обеспечивают как регулярное обновление базовой системы, при неуклонном следовании исходным принципам в отношении ее компактности, так и наращивание массива дополнительных приложений.
Zenwalk не имеет фиксированного релиз-цикла, однако новые версии выходят не по мере готовности, а скорее по необходимости, при обновлении ключевых компонентов системы: таких, как ядро, Xfce и так далее. Периодичность выхода релизов варьируется от одного-двух до трех-четырех месяцев. В каждый момент времени сосуществуют две ветки системы – current, то есть текущая стабильная, и snapshot – находящийся в процессе разработки прототип будущего релиза.
Ветвь current распространяется в следующих вариантах:
- Стандартная редакция – ISO-образ установочного диска, представляющего цельную систему, начиная с ядра и базовых утилит и заканчивая X.Org, Xfce и такими приложениями, как IceWeasel, Geany, AbiWord, Gnumeric; объем его, в зависимости от версии, колеблется от 450 до 500+ МБ и не обнаруживает тенденции к «разбуханию» за счет увеличения числа приложений на всем протяжении жизни дистрибутива.
- Core-редакция – аналогичный образ, содержащий только ядро, консольные утилиты и приложения общего назначения объемом около 200 МБ; это именно та основа, на которой пользователь может построить полностью индивидуализированную систему путем доустановки необходимых ему пакетов, без удаления чего бы то ни было лишнего (его здесь просто нет).
- LiveCD-редакция содержит полнофункциональную систему (объем образа чуть более 500 МБ), идентичную Standard Edition, но запускаемую и работающую с CD-диска; она предназначена в основном для демонстрационно-ознакомительных целей, однако содержит средства установки на жесткий диск, после чего превращается в стандартную версию.
- Серверная редакция – это традиционный набор LAMP (Linux, Apache, MySQL, PHP), то есть базовая система (аналогичная core) и средства поддержки интернет-сервера, суммарным объемом менее 250 МБ; в отличие от прочих, она имеет собственный (более длительный) релизцикл [в настоящее время она практически заморожена, – прим. ред.].
Все варианты ветки current в промежутках между релизами обновляются лишь косметически, преимущественно в отношении безопасности и при возникновении нештатных ситуаций (типа памятной многим смены протокола ICQ). При необходимости, в более глубоких модификациях, как уже говорилось, просто выпускается новый релиз.
Ветвь snapshot как таковая в виде образов дисков не распространяется. Перейти на нее можно, установив стандартную или core-редакцию и выбрав после этого соответствующий репозиторий как источник пакетов для утилиты netpkg. В отличие от стабильного релиза, она обновляется постоянно, что в ряде случаев может вызвать некоторые проблемы.
Например, в момент, когда пишутся эти строки, происходит активная разработка Xfce 4.5, и связанные с ней пакеты обновляются чуть ли не ежедневно, причем не всегда согласованно. Это иногда приводит к комическим эффектам: например, обновлению базовой части Xfce без корреляции с библиотеками, на которых она основывается. Хотя такие коллизии легко разрешаются посредством «мануальной терапии», совсем начинающего пользователя они могут несколько обескуражить.
Поэтому использование ветки snapshot рекомендуется только тем, кто хочет быть на самом острие прогресса – current содержит достаточно свежие версии пакетов, способные удовлетворить практические запросы большинства пользователей без всяких дополнительных осложнений.
Думаю, сказанного достаточно для оценки дистрибутива Zenwalk как вполне целостного и законченного решения, в равной степени пригодного как для начинающих (но любопытствующих) пользователей, так и для пользователей многоопытных, которые уже вволю наигрались в игры с перекомпиляцией ядра, глобальными пересборками системы и прочими развлечениями записных линуксоидов. Впрочем, ветка snapshot способна удовлетворить и авантюрную жилку.
Не случайно тотемом (или, если угодно, талисманом) дистрибутива Zenwalk выбран дельфин (рис. 5) – самое умное и быстрое животное планеты, прославленное в легендах и былях также своим дружелюбием к человеку. Желающим убедиться в этом могу рекомендовать книгу «Белый лоцман» Петра Бобева. Она не переиздавалась в нашей стране много лет, но при желании без труда отыскивается в Сети.
И на прощание
Ознакомившись с вышеизложенным, читатель вправе задаться вопросом: если дистрибутив Zenwalk такой умный, то почему он такой бедный (пользователями)?
Ответить на него легко: вследствие недостаточной информированности о нем его потенциальных пользователей. Ибо до недавнего времени источников сведений о Zenwalk, особенно на русском языке, было немного.
Ныне этот недостаток постепенно исправляется. На сайте CITKIT функционирует специальный раздел, посвященный Zenwalk: http://citkit.ru/articles/zenwalk. В его составе, кроме отдельных переводных и оригинальных материалов, есть два подпроекта:
- Zenwalk: приобщение к Linux (http://citkit.ru/articles/892) – онлайнруководство, в основных чертах законченное, но находящееся в процессе перманентного дополнения и коррекции с учетом пожеланий читателей;
- Zenwalk: пакеты недели (http://citkit.ru/articles/zenweek) – последовательное и подробное описание пакетов, входящих в состав дистрибутива и официального репозитория; к участию приглашаются все желающие.
Надеюсь, что со временем, совместными усилиями русскоязычного сообщества пользователей Zenwalk, пробелы в источниках информации по этому дистрибутиву будут ликвидированы. И это позволит ответить на вопрос, вынесенный в заголовок настоящей статьи. LXF