Алексей Федорчук - Погружение в Salix
Всех, кто так или иначе имеет дело с компьютерами, с давних пор принято называть их пользователями, обычно с уточнением относительно используемой платформы или операционной системы (в нашем случае речь может идти о пользователях Linux вообще или дистрибутива Salix конкретно). Во времена, когда с помощью компьютеров решались почти исключительно производственные задачи, такое определение было оправдано.
Однако ныне, с экспансией сначала мультимедии, а затем и массового Интернета, понятие «пользователь» стало размываться: этим словом (часто с оттенком пренебрежения) стали называть и конструктора, работающего в CAD-системе, и писателя или переводчика, создающего в «цифре» свою «нетленку» или переводящего чужую, и меломана, и записного игрока, и просто завсегдатая социальных сетей. А ныне, особенно с широким распространением сугубо развлекательных гаджетов, сравнимых по вычислительной мощности с суперкомпьютерами недавнего прошлого, вообще утратило всякую определённость.
Это требует терминологического оформления. А поскольку существующие определения (например, деление на потребителей контента и его создателей) меня по ряду причин не устраивали, я, постаравшись изъять из своего лексикона слово «пользователь» (хотя иногда от него никуда не деться), предложил термин «применитель» для тех категорий граждан, которые применяют компьютер для решения своих задач. Причём любых – от программирования или проектирования самолётов до сочинения романов и даже, страшно сказать, стихов. Так вот, герой нашего цикла ориентирован как раз на применителей.
Следующий момент касается классификации дистрибутивов Linux. Таковых в разное время было предложено очень много (по происхождению, используемому формату пакетов и системе пакетного менеджмента, назначению – десктопные или серверные, универсальные или специализированные, и так далее). Ныне по ряду причин, останавливаться на которых неуместно, большинство этих критериев потеряли либо определённость, либо актуальность. Если ограничиться универсальными дистрибутивами преимущественно десктопного назначения, сейчас на мой взгляд, возможно их разделение по двум критериям – целевой аудитории и методу её достижения.
По первому критерию всё изобилие существующих дистрибутивов можно разделить на две группы:
1. дистрибутивы «для всех», предназначенные (обоснованно или нет – другой вопрос) для массового использования в более или менее неизменном виде;
2. дистрибутивы «для себя», ориентированные на построение индивидуализированных систем.
К первой группе относится большинство активно развиваемых в настоящее время «больших» дистрибутивов – Fedora, openSUSE, Mandriva и, в крайнем её выражении – Ubuntu. Вторая представлена Slackware, Gentoo, Archlinux, CRUX. Место в её рядах находится и для нашего героя — Salix.
Своей целевой аудитории дистрибутивы достигают посредством инсталляции. И по методам последней также можно выделить две группы:
1. системы пакетного выбора, в которых предусмотрена установка предопределённых пакетных наборов, как правило, с возможностью индивидуального выбора пакетов или коррекции штатных наборов;
2. системы быстрого развёртывания, в которых с инсталляционного носителя безальтернативно устанавливается рабочая среда и наперёд заданный набор её приложений, никакого выбора для которых не предусмотрено.
Представителями первой группы являются 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-1. Патрик Фолькердинг, создатель Slackware
Впрочем, история зарождения Linux-дистрибуции подробно описана в электронной книге Вопросы истории: UNIX, Linux, BSD и другие, и пересказывать её я не буду. Остановлюсь только на отдельных её моментах, сыгравших свою роль в судьбе нашего героя. А именно – на появлении клонов Slackware. Ибо особенности этого дистрибутива таковы, что он может выступать не только как законченная система, но и как каркас для создания систем индивидуализированных.
Возможностями Slackware как «конструктора» начали активно пользоваться чуть ли не с момента её зарождения. И первым результатом этого стал дистрибутив S.u.S.E.; впрочем, глядя на его сегодняшних потомков (SLE и openSUSE), догадаться об этом нелегко. Однако Slackware дала и немало (более шестидесяти) ответвлений, следующих заветам Патрика; правда, на сегодняшний день из них активно развивается не более дюжины. И причина не в том, что сама Slackware стала менее «продуктивна». Нет, резко сократилось число применителей, которые нуждаются в её «конструкторских» возможностях. А амбиции по созданию собственного дистрибутива «с перламутровыми пуговицами» удовлетворяются обычно на базе Ubuntu.