Книга: Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013
Zenwalk Linux: не его ли учить?
LinuxFormat #112 (декабрь 2008, DVD-версия)
В LXF108 была опубликована колонка, озаглавленная просто: «Какой Linux изучать?». В этой статье я готов предложить дальнейшее развитие заявленной в ней темы.
Самой модной темой для обсуждений в российском сообществе в последнее время стало повсеместное внедрение Linux в школах, вузах, на производстве... да разве всё перечислишь? Судя по тому, что одно из российских зеркал сайта www.kernel.org расположено на сервере perespim.ru, не за горами и внедрение этой ОС в сфере, так сказать, интимной. Желающих убедиться прошу сюда: http://kernel.perespim.ru/pub/linux/; кстати, вопреки присказке, что «быстро хорошо не бывает», зеркало вполне шустрое.
Так что ответ на вопрос, кого учить Linux, более или менее ясен: всех. Сложнее с ответом на другой вопрос: а кто будет учить? Ибо повсеместное внедрение Linux требует знания предмета, как минимум, от тех, кто это внедрение будет осуществлять. А здесь наблюдается напряжёнка: наша страна за годы существования этой ОС не вырастила достаточного количества специалистов – их еще самих предстоит обучить.
Это выводит нас на третий вопрос: а какому именно Linux следует учить будущих гуру – внедренцев этой системы в масштабе страны (а то, глядишь, и в мировом)? А может, их вообще следует учить FreeBSD или, скажем, DragonFly BSD?
Применим фильтры
На www.distrowatch.com на сегодняшний день зарегистрировано около 350 активно развиваемых дистрибутивов (включая полторы дюжины BSD-систем), плюс еще пара сотен проектов, которые тоже нельзя не учитывать: реанимация давно, казалось бы, умерших начинаний – отнюдь не редкость в мире Open Source. Но все ли они одинаково полезны для информационного здоровья будущих Linux-гуру?
Сконцетрируемся всё-таки только на активно развивающихся проектах, в рамках того же Distrowatch'а разделяемых на два десятка категорий . Среди них для начала отфильтровываем узкоспециализированные решения: кластерные, восстановительные, 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 (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 (некоторые сказали бы, функционально не перегруженной, подобно им), но зато пригодного к практической работе сразу после установки. Настройки, собранные в единой панели, немногочисленны и предельно прозрачны.
Недостаток собственных приложений Xfce компенсируется сторонними программами. При этом последовательно проводится три принципа комплектования дистрибутива.
Первый и главный таков: одна задача – одна программа. Никаких функционально дублирующих друг друга утилит и приложений в штатном составе дистрибутива вы не найдете.
Второй принцип – единство графического инструментария: все приложения (не считая тех немногих, которым требуются собственные библиотеки Xfce) используют исключительно Gtk.
И, наконец, третье: включённые в дистрибутив приложения совсем не обязательно самые функциональные в своём классе, но всегда – самые легкие, самые простые в освоении и использовании.
В Zenwalk абсолютно нет тяжелых, узкоспециализированных приложений, а также программ, которые принято относить к категории профессиональных (за исключением GIMP – но он сколько-нибудь функциональных легких аналогов не имеет). Предполагается, что задача авторов дистрибутива – обеспечить пользователю «место для жизни», а уж подбором того, что ему требуется для профессиональной деятельности, он займётся сам.
Далее, Zenwalk, будучи потомком Slackware, наследует простоту и прозрачность её внутреннего устройства: при наличии минимального опыта и навыка, в настройку любых параметров можно вмешаться вручную. Однако эти самые минимальные опыт и навык нужно еще приобрести, не так ли? И тут на помощь начинающему пользователю приходит графическое средство сквозной настройки системы – Zenwalk Panel.
Здесь читатель вправе обвинить меня в противоречии собственному утверждению, что графические инструменты затеняют суть процесса настройки. Возразить на это легко: Zenwalk Panel как раз и являет собой исключение из этого правила. Потому что, свято следуя принципу «одна иконка – один параметр» похоже, она позволяет легко установить корреляцию между выполненными через графический интерфейс действиями и изменениями конфигурационных файлов. То есть представляет собой своего рода лабораторную модель для отработки навыков настройки и приобретения необходимого опыта, позволяющего в дальнейшем вмешиваться в этот процесс руками.
Третья особенность Zenwalk – его средства управления пакетами. Как известно, отличительная особенность Slackware – это отсутствие средств контроля зависимостей, отслеживание которых возлагается на пользователя. Что, конечно, способствует его образованию, но поначалу может показаться сложноватым (да и не только поначалу – удержать в памяти зависимости многочисленных пакетов не очень легко).
Так вот, средства управления пакетами дистрибутива Zenwalk избавляет вас от этой докуки. Собственно, средство это одно, но существует в двух ипостасях: утилиты командной строки netpkg и её графической оболочки xnetpkg. Они взаимодополняют друг друга: одни действия удобнее выполнять из командной строки, другие – из графического интерфейса.
Кстати, всё, что было сказано об аскетичности подбора ПО, касалось только штатного дистрибутива, распространяемого в виде ISO-образа. В сетевых репозиториях проекта доступно если и не всё изобилие свободных программ, то изрядная его часть, включая KDE, GNOME и большинство их приложений, несколько оконных менеджеров для тех, кто не любит интегрированных сред, OpenOffice.org, Seamonkey, и множество других.
Конечно, «запас» пакетов в репозиториях Zenwalk далеко не столь обширен, как у Gentoo, Debian или даже Arch Linux. Однако он восполним самыми различными способами.
Во-первых, кроме официального репозитория проекта, поддерживается так называемый пользовательский (ZUR – zur.zenwalk.org), пополнение которого обеспечивается сообществом.
Во-вторых, Zenwalk сохраняет двоичную совместимость со Slackware, и потому остро недостающие пакеты можно поискать в его официальных репозиториях или на сайтах вроде www.linuxpackages.net.
В-третьих, никто не отменял и традиционного способа пополнения личной коллекции пакетов – сборки из исходных текстов. Причем это можно сделать не только для себя, но и поделиться с другими: скомпилируйте пакет по всем правилам 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 рекомендуется только тем, кто хочет быть на самом острие прогресса – текущая стабильная ветка содержит достаточно свежие версии пакетов, способные удовлетворить практические запросы большинства пользователей без всяких дополнительных осложнений.
Думаю, сказанного было достаточно для оценки дистрибутива Zenwalk как вполне целостного и законченного решения, в равной степени пригодного как для начинающих (но любопытствующих) пользователей, так и для пользователей многоопытных, которые уже вволю наигрались в игры с перекомпиляцией ядра, глобальными пересборками системы и прочими развлечениями записных линуксоидов. Впрочем, ветка snapshot способна удовлетворить и авантюрную жилку.
Не случайно тотемом (или, если угодно, талисманом) дистрибутива Zenwalk выбран дельфин – самое умное и быстрое животное планеты, прославленное в легендах и былях также своим дружелюбием к человеку. Желающим убедиться в этом могу рекомендовать книгу «Белый лоцман» Петра Бобева. Она не переиздавалась в нашей стране много лет, но при желании без труда отыскивается в Сети.
И на прощание
Ознакомившись с вышеизложенным, читатель вправе задаться вопросом: если дистрибутив Zenwalk такой умный, то почему он такой бедный (пользователями)?
Ответить легко: вследствие недостаточной информированности о нем его потенциальных пользователей. Ибо до недавнего времени источников сведений о Zenwalk, особенно на русском языке, было немного.
Ныне этот недостаток постепенно исправляется. Надеюсь, что со временем, совместными усилиями русскоязычного сообщества пользователей Zenwalk, пробелы в источниках информации по этому дистрибутиву будут ликвидированы. И это позволит ответить на вопрос, вынесенный в заголовок настоящей статьи.
- Ничего, кроме правды: поведение потребителей
- Как получить снимок с веб-камеры?
- Роль товарной категории и установление цены
- Глава 7 Чего нужно опасаться при моделировании бизнес-процессов. Проектные риски моделирования бизнеспроцессов
- InterBase Classic Server под Linux
- Каталог BIN в InterBase Classic Server для Linux
- Категорийный менеджмент. Курс управления ассортиментом в рознице
- 7.4.2.4. Создание своего первого LiveCD
- 6.4. Рабочий лист Excel и его структурные элементы
- Chapter 16. Commercial products based on Linux, iptables and netfilter
- Кроссбраузерность вашего сайта
- 5. Операции внутреннего соединения.