11 лет назад 10 апреля 2008 в 0:00 77

Свтор: Сергей Яремчук

Релизы Windows можно пересчитать по пальцам одной руки. поэтому  с выбором особых проблем нет – просто бери последнюю или предпоследнюю версию, и дело с концом. А вот при установке Linux все не так просто: только на сайте  distrowatch.com можно увидеть top-100 дистрибутивов, и это лишь вершина айсберга. Да и принцип выбора по новизне не подходит: весной и осенью нас просто заваливают релизами.

ЧТО ТАКОЕ LINUX?

Вопреки устоявшемуся мнению Linux – это всего лишь ядро, которое в 1991 году начал создавать финский студент Линус Торвальдс, и не более того. Само по себе это ядро практически бесполезно. Остальное – труд тысяч и тысяч независимых программистов со всего мира, которые даже и в глаза друг друга не видели. Поэтому главный идеолог движения GNU Ричард Столлман в каждом своем интервью говорит, что правильно называть операционную систему не Linux, a GNU/Linux. Некоторое время пользователи сами компилировали себе систему из исходных текстов, добавляя к ядру необходимые компоненты, что требовало определенных знаний и отнюдь не способствовало распространению системы. Но нашлись люди, которым такое положение вещей показалось не очень удобным, и были созданы первые комплекты со средствами для их установки. Первым дистрибутивом, действительно сумевшим завоевать сердца пользователей, был SLS Linux (Softlanding Linux System, www.ibiblio.org/pub/historic-linux/distributions/sls). Его разработчики собрали уже готовый набор, не требующий компиляции, добавили понятную программу установки, графическую подсистему Xfree и возможность просто доустановить необходимые для дальнейшей работы приложения. Он не дожил до сегодняшнего дня, но дал дорогу двум самым популярным дистрибутивам Slackware и Debian.

Идея понравилась народу, и за короткое время появилось еще несколько дистрибутивов, в которых создатели хотели выразить свое видение того, каким должен быть Linux.

Как же в них разобраться? Попытаемся систематизировать дистрибутивы, ориентированные на конечного пользователя.

ПРОГРАММА УСТАНОВКИ

Так как первой встречает пользователя программа установки, с нее и начнем. Сейчас в различных дистрибутивах можно встретить самые разные инсталляторы – от простых текстовых, которые требуют знания основных команд и понимания самого процесса, до удобных и красивых графических оболочек. Первые позволяют полностью контролировать установку, вторые понятны даже неподготовленному пользователю. Дистрибутивы с чисто консольной установкой практически вымерли, сегодня популярен некий промежуточный вариант – дистрибутивы с псевдографическим инсталлятором, в которых при помощи системы меню задаются вопросы и пользователю обычно достаточно только выбрать необходимый пункт ответа, но всегда есть возможность выйти в консоль и взять бразды управления в свои руки.

К первому типу можно отнести CRUX (crux.nu), Arch Linux (www.archlinux.org), Slackware, Lunar Linux (www.lunar-linux.org).

Дистрибутивов с графическим инсталлятором больше – ASPLinux (www.asplinux.ru), ALTLinux (www.altlinux.org), Fedora (fedoraproject.org), openSUSE (ru.opensuse.org) и другие. В некоторых дистрибутивах возможна установка, как в графической, так и в псевдографической среде. Последний вариант очень полезен, когда есть проблемы с оборудованием, в частности с определением видеокарты. Здесь в качестве примера можно привести Debian.

В последнее время стал популярным принцип установки с использованием LiveCD. Пользователь загружает с CD уже рабочую систему, тестирует свое оборудование, и, если дистрибутив ему подходит, не перегружаясь, устанавливает его прямо в графической среде за 5-7 шагов мастера.

LiveCD особенно любимы новичками так как можно начать изучать новую систему не устанавливая ее, так же они незаменимы при “спасательных” работах или для пользователей, желающих пользоваться любимой системой на тех компьютерах, где ее нет. Самый яркий и наиболее популярный представитель – Knoppix (www.knoppix.com), занимающий целый CD или DVD, и в распакованном виде вмещающий до 2 или 8 Гб различных приложений соответственно. Но есть варианты и поменьше, например Damn Small Linux (www.damnsmalllinux.org), представляющий собой урезанную до 50 Мб версию Knoppix, или SLAX (slax.hosting4p.com) – неплохой дистрибутив, базирующийся на Slackware.

ПАКЕТНЫЕ СИСТЕМЫ

Итак, дистрибутив выбран и установлен. Теперь выясняется, что программы устанавливаются как-то совсем иначе, чем в Windows, расширение у них не привычное exe и, более того, расширений этих несколько.

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

Другой причиной может быть несоответствие размещения программ в пакете принятой в дистрибутиве схеме или использование разных версий glibc (GNU C Library) при компиляции. Поэтому пакет, собранный, например, в RedHat откажется устанавливаться в Mandrake. Решение этой проблемы – взять нужный пакет на сайте того производителя, чей дистрибутив вы используете. Хотя сегодня каждый уважающий себя дистрибутив обзавелся депозитарием, но об этом чуть ниже.

Форматов пакетов сегодня не на много меньше чем дистрибутивов. Судите сами. Формат rpm (RedHat Packet Manager) появился впервые в дистрибутиве RedHat, и сегодня используется в его многочисленных клонах – CentOS, Fedora, а также AltLinux, ASPLinux, Mandriva. Причем из этого списка совместимы только первые три. В Debian и клонах вроде Ubuntu используется формат deb. И, наконец, tgz (он же tar.gz) – формат, применяющийся в Slackware.

Но это далеко не все. Например, дистрибутив VectorLinux, базирующийся на Slackware, совместим с ним по пакетам, но сегодня активно развивает свой формат – tlz. В дистрибутиве Arch Linux пакеты называются pkg.tar.gz. И еще интересный момент: пакеты deb и tgz можно при необходимости распаковать при помощи штатных архиваторов, а для rpm требуется наличие специальных утилит. И так далее. Стоит заметить, что есть и конвертеры форматов, но лучше использовать родную сборку.

Новичок от такого обилия явно не в восторге, и все потому, что он пытается устанавливать программу традиционным для Windows способом, скачивая их инсталляторы и затем, пытаясь запустить. Все это в прошлом (далеком). Чтобы упростить борьбу с зависимостями и прочими особенностями, используются репозитарии пакетов и программы для работы с ними. Пользователю достаточно только указать, какую программу он хочет установить, обновить или удалить, а все остальное – проверку зависимостей, закачку файлов, установку – берет на себя специальная программа.

<sabayon.TIF>

Каждый дистрибутив поддерживает свой репозитарий. Кроме того, сообщество пользователей обычно добавляет к нему несколько альтернативных, в которых можно найти все что угодно. Например, репозитарий дистрибутива Ubuntu насчитывает около 28 тыс. пакетов.

<Adept.TIF>

Так что традиционная установка используется в основном для пакетов, полученных с неофициальных источников.

ОПТИМИЗИРОВАННЫЕ РЕШЕНИЯ

Но у пакета есть недостаток: он компилируется под определенный тип процессора. И чтобы охватить как можно большее количество пользователей, создатели дистрибутивов компилируют под минимально возможный процессор. Чаще всего это i586 архитектура, но нередко встречается и i386. Как вы понимаете, пользователям современных Athlon’ов и Pentium’ов от этого ни холодно не жарко. Получается что большинство внутренних команд процессора вроде SSE2 или 3DNow попросту не используются, и они работают на 386 процессоре, разогнанном до 3 ГГц. Многим такая ситуация не нравится, и для решения проблемы были созданы так называемые source-based дистрибутивы, в которых система пакетов не используется вообще. Вместо этого был автоматизирован сам процесс сборки программ из исходников, по технологии, обкатанной в BSD-системах. И теперь программы (и сама система) собирается под конкретное оборудование, что существенно повышает производительность. Пользователю же для установки достаточно указать, что ему нужно, а все остальное: закачку из интернета, распаковку архива, конфигурирование, доустановку дополнительных приложений система сделает сама. Яркие представители – Gentoo или Lunar-Linux. Хотя, например, CRUX и Arch Linux являются как бы промежуточным звеном между пакетными и source-based дистрибутивами.

Исходя из этого, дистрибутивы можно разделить на платформы, под которые они собирались. Так, обычно используются Intel compatible дистрибутивы, но встречаются и дистрибутивы, ориентированные на PPC (например, Yelloy Dog Linux (www.terrasoftsolutions.com/products/ydl)), а также практически для каждой из платформ, под которыми можно запустить пингвина (Alpha, Sparc, m68k, IBM RS/6000…). Есть, конечно, проекты предлагающие несколько вариантов платформ сразу.

Следующая классификация: по минимальной архитектуре процессора, под которую собрана система. Так, можно встретить на сайте надпись “optimized for the i686 architecture” – то есть на компьютеры под управлением первых Pentium такой лучше и не пытаться ставить. Иногда один и тот же дистрибутив предлагается сразу в нескольких вариантах, оптимизированных под разные процессоры. Например, Gentoo кроме общего варианта, который можно установить на любую архитектуру, предлагается под i686, Pentium iV, Athlon XP и др.

КАТАЛОГИ И СЦЕНАРИИ

Дистрибутивы можно классифицировать и по используемым сценариям начальной загрузки. Здесь возможны два варианта. В большинстве используется стиль System V, и только несколько дистрибутивов используют стиль BSD (Slackware, CRUX). Какой лучше, а какой хуже однозначно сказать трудно, да и никто этого делать не будет, это дело скорее вкуса и опыта. Для System V характерны так называемые уровни загрузки, которые нравятся новичкам, так как более понятны. Но BSD скрипты проще и легче, хотя и при конфигурировании необходимо больше ручной работы. Поэтому стиль BSD принят в дистрибутивах, рассчитанных на опытного пользователя. Хотя в угоду совместимости в Slackware и подобных ОС используют имитацию System V.

При всей внешней похожести дистрибутивы отличаются иерархией каталогов. Хотя организации Linux Standard Base (www.linux-foundation.org/en/LSB) и Filesystem Hierarchy Standard (proton.pathname.com/fhs) пытаются навести порядок в расположении файлов, очень часто пользователь, привыкший искать файлы в одном месте, при смене дистрибутива находит их в совсем в другом. Например, консольные шрифты и карты клавиатурных раскладок в RedHat лежат в /lib/kbd, в Mandrake /usr/lib/kbd, встретить их можно также и в /usr/share и еще в некоторых каталогах. Как тут не запутаться. Хотя нечасто и не всем это нужно вообще.

КОМПЛЕКТАЦИЯ И НАЗНАЧЕНИЕ

Следующий критерий, по которому можно разделить все дистрибутивы, это комплектация пользовательскими приложениями, то есть размер. Так, встречаются дистрибутивы, которые помещаются на стандартную дискету (minimalist), но при этом обеспечивают пользователя буквально всем необходимым – от средств работы в интернете и простого текстового редактора до графической подсистемы X-Window. Пример – muLinux (sunsite.auc.dk/mulinux). На другом краю этой классификации стоят многодисковые (до 11 компактов и/или 2-3 DVD) дистрибутивы, битком набитые всяческим софтом на все случаи жизни, плюс документация, плюс диски с исходными текстами. Есть, конечно, и середина. Кроме того, во многодисковых дистрибутивах не обязательно иметь в наличии все диски – для установки достаточен только первый диск, остальной софт ставится из репозитария, так как к моменту выхода оптического носителя часть пакетов на нем уже успевает устареть.

Далее все дистрибутивы можно поделить по сферам или пользователям, где их создатели видят применение своему детищу. Естественно, дистрибутивы на все случаи жизни большинству пользователей не подходят, так как многодисковые стоят дороже и содержат много такого, что рядовому юзеру совсем и не нужно. К тому же, чтобы угодить пользователю, некоторые производители идут на снижение требований к безопасности, так как закручивание гаек со стороны Linux после анархии Windows нравится далеко не всем. И наоборот, подчас требуется максимальная защита системы, которую могут дать специальные патчи и дополнительные утилиты. Поэтому и появилось такое разделение.

Так, можно встретить дистрибутивы, ориентированные на подготовленного пользователя (Power user) для настройки и установки которых потребуются первоначальные знания системы – к таким принадлежит тот же CRUX или Gentoo.

< driver.TIF >

На рядового пользователя ориентированы пользовательские (Personal) дистрибутивы, с работой в которых может разобраться и новичок – к таким принадлежат, например, Ubuntu, Mandriva, openSUSE.

Существуют дистрибутивы, ориентированные на специфическую аудиторию. Чего здесь только нет. Для любителей и професионалов занимающихся музыкой, видео и графикой – Musix GNU+Linux (www.musix.org.ar), Ubuntu Studio (ubuntustudio.org)

Для игроков – linuX-gamers Live (live.linux-gamers.net). Дистрибутив Fedora 8 поставляется в нескольких специализированных редакциях, среди них: игровой Games в виде LiveDVD, версия для разработчиков Developer и сборка Live FEL (Fedora Electronics Lab), предназначена для студентов и инженеров, занимающихся электрическими схемами. И так практически в каждой сфере.

Кроме дистрибутивов, ориентированных на домашнее применение и укомплектованных нужным софтом, встречаются дистрибутивы специального применения, нацеленные на решение одной определенной задачи и имеющие для этого соответствующие приложения. Пользователю в этом случае остается только указать специфические параметры вроде IP-адреса компьютера. Самый большой список в классе специальных дистрибутивов занимают роутеры, предназначенные для организации совместного доступа в интернет, плюс (как правило) имеющие дополнительные возможности вроде NAT, VPN. Представители этого класса: дискетный FreeSCO (www.freesco.org) или SmoothWall (www.smoothwall.org), имеющий расширенный функционал, но и размером поболе. Но кроме этого есть отдельные специальные дистрибутивы, которые вообще не вписываются ни в какую группу. Например, Tinfoil Hat Linux (tinfoilhat.shmoo.com) предназначенный для шифрования всей набираемой информации, отправке его по почте и имеющий режим, затрудняющий удаленное снятие информации с монитора.

ЛОКАЛИЗАЦИЯ

Дистрибутивы можно разделить и по национальной принадлежности (в какой стране они собираются и на какой регион ориентированы в первую очередь). В принципе, русифицировать (локализировать) можно фактически любой Linux, и к тому же в большинстве имеются все необходимые для этого компоненты. Но, во-первых, начинающему пользователю это может быть не под силу, а во-вторых, национальные сборки нередко недотягивают до оригинала. Тем не менее, пару раз поборовшись за русские буквы в окне своего монитора, вы сможете затем без проблем выбирать любой из имеющихся, вас уже ничто не будет сдерживать. Для начинающих в первую очередь стоит порекомендовать российские ASPLinux, AltLinux. Не будет проблем с локализацией и у user-ориентированных Fedora, Mandriva, (K)Ubuntu.

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

Дистрибутив (K)Ubuntu распространяется в двух вариантах: desktop – LiveCD/DVD с возможностью установки, и alternate – который требует предварительной инсталляции.