Содержание


Погружение в Salix. Часть 1. Общая характеристика, назначение, история

Comments

Данный цикл посвящён дистрибутиву Salix – его установке, настройке и дистрибутив-специфическим особенностям (управление пакетами, утилиты конфигурирования), а также его назначению и месту в общей картине мира Linux.

Salix, первоначально носивший имя Salix OS (официальный сайт проекта) представляет собой один из дистрибутивов Linux, основанных на Slackware, старейшей из ныне живущих Linux-систем. От прародительницы он унаследовал простоту устройства и здоровый консерватизм, привнеся, однако, некоторые черты, свойственные так называемым «дружелюбным» (user friendly) дистрибутивам. Впрочем, как читатель увидит в дальнейшем, его «дружелюбие» никогда не становится навязчивым.

Salix относительно молод – первый его релиз, за номером 13.0, был представлен в сентябре 2009 года. И не сказать, что с тех пор он ослеплял фейерверком версий и обновлений: за четыре с половиной года он сменил лишь пять «мажорных» релизов, из которых текущим на момент сочинения этих строк является 14.1. Однако они отражают, во-первых, все важные изменения в родительской Slackware, от которой наследуют нумерацию версий. А во-вторых и главных – в них воплощаются все значимые события, происходящие в мире Linux, такие, как появление принципиально новых функций в ядре системы, существенные изменения используемых рабочих сред, выход обновления основных приложений.

Целью разработчиков Salix было создание компактного, лёгкого, но полнофункционального дистрибутива, полностью совместимого со Slackware. При этом они основывались на собственной интерпретации знаменитого принципа KISS, расшифровывая эту аббревиатуру как Keep It Super Simple, то есть Сделать проще некуда. Чего и достигли путём реализации трёх требований:

  • простота разработки достигалась происхождением Salix от самого прозрачно устроенного из существующих дистрибутивов Linux, то есть Slackware, которая может быть индивидуализирована в очень широких пределах;
  • простота сопровождения обеспечивалась полной совместимостью с прародительским дистрибутивом, благодаря чему работы по обновлениям безопасности и исправлениям ошибок происходили «выше по течению»;
  • простота использования Salix относительна: Slackware предоставляет пользователю полный контроль над системой, ничего не делая за него, но требуя понимания сути действий; для желающих иметь систему, которая «просто работает» Salix выступает как связующее звено, предоставляя полностью локализованные системные инструменты, управление зависимостями пакетов и их репозиторий; в то же время цели сделать полностью упрощённый и автоматизированный дистрибутив по примеру Ubuntu не ставилась.

Упрощению использования Salix служит в первую очередь его система инсталляции. Каждый, кто имел дело с установкой Slackware, знает, что, хотя сам по себе инсталлятор её предельно прост в употреблении, он предусматривает только два его варианта:

  • устанавливать «гуртом» предопределённые наборы пакетов (так называемые sets или series) – но в этом случае в системе оказывается много лишнего;
  • заниматься индивидуальным выбором пакетов – но это требует времени, согласно известной шутке, достаточного для выхода следующей версии дистрибутива.

Инсталлятор Salix, как и установщик родительской системы, работает в текстовом режиме и имеет псевдографический интерфейс на базе библиотеки ncurces. Он не блещет внешними красотами, но позволяет легко и быстро установить базовую систему и, в варианте инсталляции по умолчанию, рабочую среду и предопределённый разработчиками (и безальтернативный) набор пользовательских утилит и приложений.

Критерии комплектации Salix пакетами также были подчинены задаче упрощения использования дистрибутива. В качестве рабочей среды по умолчанию в нём принят компактный и легковесный, но при этом развитый и полнофункциональный десктоп Xfce. Приложения же для него отбирались по принципу «одна задача – одна программа». В штатной установке Salix вы не увидите ни одного пакета, функции которого дублировались бы другим, да и в репозитории таких альтернатив не густо. Далее, из круга приложений, предназначенных решить некую задачу, отбирались сочетающие в себе полноту функций и «лёгкость», то есть нетребовательность к ресурсам, во-первых. И те из них, которые лучше всего вписывались в рабочее окружение Xfce – во-вторых.

Разумеется, не обошлось здесь и без без того, чтобы «поступиться принципами»: в штатном комплекте Salix имелись OpenOffice.org и Firefox, функциональных аналогов которым среди «лёгких» приложений просто нет. Кстати, браузер – единственная программа, представленная в штатной установке «в двух лицах», вторым из которых выступает «лёгкий» Midori. Однако для всех, связанных с Интернет-технологиями (а кто нынче с ними не связан?) наличие в системе более чем одного браузера – не роскошь, а необходимость. Так что это «отступление от канона» можно не засчитывать.

В результате сразу после установки пользователь получает в своё распоряжение систему, пригодную к немедленному выполнению практических задач. Правда, только в том случае, если его вкусы и предпочтения в отношении прикладных пакетов совпадают с таковыми разработчиков дистрибутива. Чего, разумеется, гарантировать нельзя. Предусмотрев это, создатели дистрибутива предложили и иные варианты инсталляции с одного и того же установочного носителя: базовый, при котором установки приложений поверх среды Xfce не происходит (кроме менеджера пакетов и браузера) и «стержневой» (core), дающий чисто текстовую систему, не только без рабочей среды, но и без оконной системы X. После первого каждый пользователь может установить свой любимый набор приложений, используя репозитории пакетов дистрибутива. Второй же представляет собой основу «индивидуального конструктора».

Из сказанного выше становится ясно, что разработчики Salix ориентировали свой дистрибутив на совершенно определённую группу пользователей – с одной стороны достаточно подготовленных и опытных, способных решать возникающие задачи, с другой же – не отягощённых свободным временем, чтобы заниматься этим постоянно. Разумеется, они не оставили за бортом и пользователей начинающих – но только тех из них, кто всё-таки готов был разбираться в том, как работает их система.

Цели и задачи, которые ставили перед собой создатели Salix, они изложили в интервью, состоявшемся 2 октября 1999 года (доступно и в русском переводе. И за прошедшие годы ни разу не отклонились от «генеральной линии».

Ибо «сверхзадачей» создателей Salix было снижение «порога вхождения» в мир Linux вообще и в круг Slackware-систем – в частности. Но не ценой «примитивизации» (от необходимости приобретения знаний этот дистрибутив, как и любой другой, отнюдь не освобождает), а лишь за счёт некоторой экономии времени на начальных этапах установки и первичного освоения системы. Тому, как им удалось её решение, будут посвящены остальные статьи цикла. В рамках же настоящего материала мы рассмотрим причины и поводы, вследствие которых эта «сверхзадача» возникла, для чего придётся обратиться к истории. Но сначала – несколько терминологических замечаний.

Вопросы терминологии

В этой статье и последующих статьях цикла я буду употреблять термины, которые наилучшим, по моему мненияю, способом передают суть именуемых ими явлений. Они не всегда являются общепринятыми или широко распространёнными, и потому требуют некоторых пояснений в той части, которая имеет отношение к герою нашего повествования.

Всех, кто так или иначе имеет дело с компьютерами, с давних пор принято называть их пользователями, обычно с уточнением относительно используемой платформы или операционной системы (в нашем случае речь может идти о пользователях Linux вообще или дистрибутива Salix конкретно). Во времена, когда с помощью компьютеров решались почти исключительно производственные задачи, такое определение было оправдано.

Однако ныне, с экспансией сначала мультимедии, а затем и массового Интернета, понятие «пользователь» стало размываться: этим словом (часто с оттенком пренебрежения) стали называть и конструктора, работающего в CAD-системе, и писателя или переводчика, создающего в «цифре» свою «нетленку» или переводящего чужую, и меломана, и записного игрока, и просто завсегдатая социальных сетей. А ныне, особенно с широким распространением сугубо развлекательных гаджетов, сравнимых по вычислительной мощности с суперкомпьютерами недавнего прошлого, вообще утратило всякую определённость.

Это требует терминологического оформления. А поскольку существующие определения (например, деление на потребителей контента и его создателей) меня по ряду причин не устраивали, я, постаравшись изъять из своего лексикона слово «пользователь» (хотя иногда от него никуда не деться), предложил термин «применитель» для тех категорий граждан, которые применяют компьютер для решения своих задач. Причём любых – от программирования или проектирования самолётов до сочинения романов и даже, страшно сказать, стихов. Так вот, герой нашего цикла ориентирован как раз на применителей.

Следующий момент касается классификации дистрибутивов Linux. Таковых в разное время было предложено очень много (по происхождению, используемому формату пакетов и системе пакетного менеджмента, назначению – десктопные или серверные, универсальные или специализированные, и так далее). Ныне по ряду причин, останавливаться на которых неуместно, большинство этих критериев потеряли либо определённость, либо актуальность. Если ограничиться универсальными дистрибутивами преимущественно десктопного назначения, сейчас на мой взгляд, возможно их разделение по двум критериям – целевой аудитории и методу её достижения.

По первому критерию всё изобилие существующих дистрибутивов можно разделить на две группы:

  • дистрибутивы «для всех», предназначенные (обоснованно или нет – другой вопрос) для массового использования в более или менее неизменном виде;
  • дистрибутивы «для себя», ориентированные на построение индивидуализированных систем.

К первой группе относится большинство активно развиваемых в настоящее время «больших» дистрибутивов – Fedora, openSUSE, Mandriva и, в крайнем её выражении – Ubuntu. Вторая представлена Slackware, Gentoo, Archlinux, CRUX. Место в её рядах находится и для нашего героя — Salix.

Своей целевой аудитории дистрибутивы достигают посредством инсталляции. И по методам последней также можно выделить две группы:

  • системы пакетного выбора, в которых предусмотрена установка предопределённых пакетных наборов, как правило, с возможностью индивидуального выбора пакетов или коррекции штатных наборов;
  • системы быстрого развёртывания, в которых с инсталляционного носителя безальтернативно устанавливается рабочая среда и наперёд заданный набор её приложений, никакого выбора для которых не предусмотрено.

Представителями первой группы являются Fedora, openSUSE, Slackware и многие другие. Во вторую группу входят все варианты Ubuntu, Zenwalk и ещё несколько менее известных клонов Debian и Slackware. К ней же, с некоторыми оговорками, примыкает и Salix.

Чёткой границы между группами, выделенными по первому или второму критерию, нет. Если говорить о критерии первом, то любому дистрибутиву «для всех» можно придать индивидуальные черты – весь вопрос только во времени и усилиях, затраченных на это. И наоборот, на базе дистрибутива «для себя» может быть построена система, ориентированная на массовое использование – в следующем разделе мы увидим примеры таких систем на базе Slackware.

Для групп, выделенных по второму критерию, ситуация ещё менее чёткая. Ряд систем пакетного выбора (Fedora, openSUSEи некоторые другие), следуя примеру Ubuntu, обзавелись образами LiveCD/DVD, которые суть ни что иное, как их варианты для их быстрого безальтернативного развёртывания. Хотя основным методом их установки по прежнему считается отбор пакетов и их наборов с полных установочных носителей.

А вот собственно системы быстрого развёртывания практически все не могут быть установлены иначе, нежели безальтернативно для данного установочного носителя: выбор вариантов установки здесь осуществляется на стадии выбора последнего. Хотя выше я упомянул, что Salix здесь – некоторое исключение: с одного и того же установочного носителя для него существует три варианта установки. Впрочем, возможности выбора пакетов нет ни в одном из них.

И последний терминологический вопрос, имеющий отношение к Salix – об именовании дистрибутивов, производных от той или иной материнской системы. Их обычно называют:

  • клонами, которые стремятся максимально точно воспроизвести функционал исходной системы и сохранить совместимость с ней (например, CentOS и Scientific Linux – клоны RHEL);
  • форками – «отщеплениями от генеральной линии» родительского дистрибутива, обычно достаточно быстро теряющими совместимость с последним; «Тому в истории Мы тьму примеров сыщем», а в недавнем прошлом один из них – ответвление Mageia от Mandriva;
  • дериватами – их создатели, приняв за основу тот или иной дистрибутив, изначально ставят своей целью изменение его ориентации и, соответственно, функциональности; исторически первым дериватом, безусловно, была Suse, разработчики которой, взяв в качестве базовой системы конструктор Slackware, приспособили его для корпоративного использования;
  • ремиксы и респины – результат перекомплектации исходного дистрибутива под те или иные задачи, иногда с привнесением дополнительных пакетов.

Наш герой не подходит ни под одно из этих определений в «чистом виде». Его возникновение связано было с сочетанием условий, к рассмотрению которых мы и переходим.

Предыстория

Как уже было сказано, дистрибутив Salix относительно молод, но корни его уходят в глубокую древность зари дистростроения. Ибо он происходит от Slackware – старейшего дистрибутива из тех, что дожили до наших дней: первая её версия была обнародавана создателем, Патриком Фолькердингом (Patrick J. Volkerding), 17 июля 1993 года, положив начало Linux-дистрибуции в том виде, в каком мы её знаем сейчас.

Особенностями дисрибутива Slackware были:

  • собственная меню-ориентированная программа инсталляции псевдографического режима;
  • выделение категорий пакетов — базовой системы (A), консольных приложений (AP), средств разработки (D), оконной системы X и ее приложений (X и XAP, соответственно), и так далее;
  • набор утилит для манипуляции пакетами (pkgtools), не предусматривающего, однако, никакого контроля зависимостей.

Время показало провиденциализм подхода Патрика — Slackware живет и развивается вот уже более 20 лет, не поступаясь своими принципами, сохраняя редкую по нынешним временам простоту. Сохраняется и устойчивый круг пользователей этого дистрибутива.

Отступление. Многие линуксоиды старшего поколения начинали свою дорогу в Linux со Slackware — и ничуть об этом не жалеют, вне зависимости от того, какие дистрибутивы бы они не применяли в дальнейшем. Знакомство с этим дистрибутивом дает опыт, позволяющий найти пути для решения любых проблем в любых других системах. И потому крылатая фраза «изучая Slackware, ты изучаешь Linux» имеет под собой все основания.

Рисунок 1 Патрик Фолькердинг, создатель Slackware
Патрик Фолькердинг, создатель Slackware
Патрик Фолькердинг, создатель Slackware

Впрочем, история зарождения Linux-дистрибуции подробно описана в электронной книге Вопросы истории: UNIX, Linux, BSD и другие, и пересказывать её я не буду. Остановлюсь только на отдельных её моментах, сыгравших свою роль в судьбе нашего героя. А именно – на появлении клонов Slackware. Ибо особенности этого дистрибутива таковы, что он может выступать не только как законченная система, но и как каркас для создания систем индивидуализированных.

Возможностями Slackware как «конструктора» начали активно пользоваться чуть ли не с момента её зарождения. И первым результатом этого стал дистрибутив S.u.S.E.; впрочем, глядя на его сегодняшних потомков (SLE и openSUSE), догадаться об этом нелегко. Однако Slackware дала и немало (более шестидесяти) ответвлений, следующих заветам Патрика; правда, на сегодняшний день из них активно развивается не более дюжины. И причина не в том, что сама Slackware стала менее «продуктивна». Нет, резко сократилось число применителей, которые нуждаются в её «конструкторских» возможностях. А амбиции по созданию собственного дистрибутива «с перламутровыми пуговицами» удовлетворяются обычно на базе Ubuntu.

Тем не менее, новые клоны Slackware, и клоны удачные, возникали постоянно на протяжении текущего тысячелетия постоянно. В частности, уже в его первые годы начали появляться системы, призванные снизить пресловутый «порог вхождения». Ведь одной из особенностей Slackware, вытекающей из принципов его построения, было требование некоторых предварительных знаний при её установке, настройке и дальнейшей поддержке. В результате у разработчиков были все стимулы для создания первых систем быстрого развёртывания.

Одним из первых опытов в этом направлении стал Vector Linux, разработанный на базе Slackware Робертом Ланге (Robert S. Lange) и Даррелом Ставемом (Darrell Stavem) на самом рубеже тысячелетий. Уже в первой версии этого дистрибутива, вышедшей в июне 2000 года, была реализована концепция безальтернативной установки интегрированной рабочей среды (в данном случае KDE) с фиксированным набором пользовательских приложений, необходимых и, более или менее, достаточных для решения стандартных задач офисного или домашнего десктопа.

Дистрибутив Vector Linux дожил до наших дней, хотя не пользуется широкой известностью – думаю, что одной из причин тому была его эклектичность. Больше удачи выпало на долю другого представителя систем быстрого развёртывания, основанных на Slackware – дистрибутиву Zenwalk. Поскольку он имеет прямое отношение к нашей теме, остановимся на его истории чуть подробнее.

Дистрибутив Zenwalk возник в середине 2004 года под именем Minislack, а свое нынешнее имя он получил в начале второго года жизни – в августе 2005-го. Его разработчик, француз Жан-Филипп Гийомен (Jean-Philippe Guillemin), – ставил своей целью создание на базе Slackware компактной системы, предназначенной для «себя, любимого». Свои побуждения он описывает во Вступлении к Руководству пользователя Zenwalk (русский перевод).

Рисунок 2 Жан-Филипп Гийомен, создатель Zenwalk
Жан-Филипп Гийомен, создатель Zenwalk

Именно в дистрибутиве Zenwalk впервые последовательно был проведён в жизнь принцип «одна задача – одно приложение». Кроме того, в нём декларировалась полная совместимость с материнской Slackware. Однако её исконный инструментарий был дополнен собственной системой управления пакетами netpkg (в том числе и с графическим интерфейсом) и графическими средствами настройки системы.

Жан-Филипп оказался не одинок в своих представлениях об идеальном дистрибутиве Linux. И потому со временем вокруг проекта выросло не очень большое, но активное сообщество разработчиков. В результате дистрибутив развивался очень активно: новые версии его выходили с интервалами от месяца до полугода, и не в соответствие с каким-либо графиком релизом, а при обновлении ядра, рабочей среды (в качестве которой выступала Xfce) и других важных компонентов. Появлялись и различные варианты сборок дистрибутива – с рабочими средами GNOME и KDE, серверная, LiveCD, предназначенная для образовательных целей.

И всё было очень хорошо, но к 2009 году среди основных разработчиков Zenwalk наметились разногласия относительно его дальнейшей судьбы. Потому что, во-первых, этот дистрибутив всё больше отдалялся от первозданной Slackware, полагаясь на собственные средства конфигурирования и пакетного менеджмента, а во-вторых, снизил темп развития. Последнее выразилось в том числе и в том, что в наступившую эпоху доминирования 64-разрядных процессоров Zenwalk по прежнему существовал только в сборке под 32-битную архитектуру. Результатом этих разногласий стало появление дистрибутива Salix.

Появление Salix

Одним из тех, кого не устраивало направление развития проекта Zenwalk, был Георгий Влахавас (George Vlahavas, Греция), один из самых активных его участников. И когда разногласия с Жан-Филиппом перешли в антагонистические противоречия, он основал новый проект и собрал вокруг него группу единомышленников, в прошлом также входивших в число основных разработчиков Zenwalk.

Рисунок 3 Георгий Влахавас, создатель Salix
Георгий Влахавас, создатель Salix

Впрочем, была и другая причина «откола» группы разработчиков от проекта Zenwalk. Один из сооснователей нового проекта, Пьерик Ле Брён (Pierrick Le Brun, Франция): в упомянутом выше интервью, объясняет её так:

Хотя мы очень уважаем Жан-Филиппа Гийомена как кодировщика, творческого и артистического человека, у нас были некоторые возражения против его автократической и иногда беспорядочной манеры управления проектом. Достаточно сказать, что через некоторое время он просто убил веселье (killed the fun). А ведь не нужно забывать, что для разработчиков-любителей веселье -- это действительно одна из важных мотиваций их деятельности.

Рисунок 4 Пьерик Ле Брён, сооснователь Salix
Пьерик Ле Брён, сооснователь Salix

Название нового дистрибутива долго обсуждалось его первыми разработчиками, и в конце концов ему было присвоено имя Salix OS, в котором первая часть – латинское название ивы. Ещё один из сооснователей его, Торстен Мюльфельдер (Thorsten Mühlfelder, Германия), говорит, что, среди прочих соображений, на выбор имени повлияло наличие интересных художественных работ, использующих идею дерева. Начиная с версии 14.1, вторая часть имени дистрибутива отпала, и теперь он называется просто Salix.

Рисунок 5 Торстен Мюльфельдер, сооснователь Salix
Торстен Мюльфельдер, сооснователь Salix
Рисунок 6 Ива – талисман дистрибутива Salix
Ива – талисман дистрибутива Salix

В результате 16 сентября 2009 года вышла в свет первая версия Salix, включившая в себя рабочую сред Xfce, ограниченный набор «лёгких» приложений, собранных всё по тому же принципу «одна задача – одно приложение», OpenOffice.org (тогда ещё не разделившийся на две ветки) и Firefox. В отличие от Zenwalk, Salix изначально собирался под две архитектуры – x86 и x86_64, благо незадолго перед тем, в августе 2008 года, вышла и первая 64-битная версия Slackware.

Комплектация Salix была очень сходной с таковой Zenwalk, однако он не являлся ни клоном, ни форком последнего, представляя скорее «возвращение к истокам». Его разработчики отказались от использования дистрибутив-специфичных компонентов Zenwalk, включив зато средства конфигурирования и управления пакетами, существующими для дистрибутива Slackware, но не входящими в её умолчальную комплектацию.

Однако Salix нельзя назвать и прямым клоном или, тем более, форком Slackware: её пакеты были тщательно отобраны и часто пересобраны, составив собственный репозиторий дистрибутива. Кроме того, в Salix вошли и оригинальные составляющие, разработанные Георгием Влахавосом – графическая надстройка над средствами управления пакетами и инструменты для конфигурирования системы. Тем не менее, Salix действительно сохранил (и сохраняет до сих пор) полную совместимость со Slackware, и её пакеты почти всегда могут использоваться в нём безболезненно (и без всяких модификаций). В ознаменование этого первый релиз Salix получил номер 13.0, соответствующий номеру той версии Slackware, на которой он основывался. И эта традиция сохраняется по сей день.

Рисунок 7 Salix – первая версия
Salix – первая версия
Salix – первая версия

Таким образом, Salix не укладывался в рамки традиционной номенклатуры дистрибутивов с её клонами, форками и прочими ремиксами. Мой старый товарищ Валерий Моторин aka zenwolf (один из первых его применителей в России) предложил для него термин бакфут (от BAcK to FUTure), как мне кажется, удачный. Ибо, в связи с тенденциями современного дистростроения, мы увидим ещё не одно такое Возвращение в будущее.

Salix: что было дальше

До конца 2009 года вышло два корректирующих релиза Salix – 13.0.1 и 13.0.2. Затем в июне 2010 года появляется релиз 13.1, основанный на Slackeware соответствующего номера версии, также сопровождавшийся парой корректирующих релизов. И если первая версия дистрибутива существовала в единственном варианте – с рабочей средой Xfce, то для следующей нашлись энтузиасты, начавшие собирать его с другими десктопами и оконными менеджерами – KDE, LXDE, Fluxbox.

Эта тенденция получила некоторое развитие и в дальнейшем. Так, 12 мая 2011 года, через месяц после выхода материнской Slackware 13.37, увидел свет и соответствующий релиз Salix, который сопровождался «дочерними» сборками, в которых к ранее существовавшим присоединились варианты с десктопом MATE и оконным менеждером Ratpoison.

В обоих случаях сборки с графическими окружениями, отличными от Xfce, появлялись с запозданием относительно «головной» версии, иногда значительным. А иногда – и не появлялись вовсе. Вслед за релизом 14.0, вышедшим 21 ноября 2012 года, последовали только варианты дистрибутива с KDE и Ratpoison. А текущий релиз Salix, 14.1 (дата выхода – 4 марта 2014 года) существует сейчас только в сборке с Xfce и с MATE, причём последняя, появившаяся 10 апреля, имеет статус бета-версии. Видимо, энтузиазма любителей иных рабочих окружений в команде дистрибутива не всегда хватает надолго.

Так что сборку Salix с рабочей средой Xfce следует считать единственной константой для этого дистрибутива. И далее в этом цикле речь пойдёт только о ней – и о варинтах её установки, которые будут предметом следующей статьи.


Ресурсы для скачивания


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux, Open source
ArticleID=969122
ArticleTitle=Погружение в Salix. Часть 1. Общая характеристика, назначение, история
publish-date=04212014