Алексей Федорчук
Испокон века считалось, что Red Hat - не только самый распространенный и самый популярный дистрибутив Linux, но и самый клонируемый. Даже понятие такое появилось - клон Red Hat (или, шире говоря, rpm-based дистрибутив, что на самом деле не одно и то же). Если с первым утверждением (о распространенности) нельзя не согласиться (хотя нынче картина и не столь однозначна, как пару-тройку лет назад), второе (о популярности) - отошло в прошлое: все большее количество новообразованных пользователей, начиная, например, с Mandriva, весьма быстро перемещаются на Gentoo (а то и вообще на BSD). Ну а третье просто не выдерживает элементарной проверки цифрами. В таблице собраны сведения о количестве производных трех ветеранов дистростроения (Slackware, Debian, Red Hat) - как ныне здравствующих, так и в Бозе почивших.
Дистрибутив Slackware Debian Red Hat Fedora Mandrake Suse RPM-Based
Активные 38 122 21 52 15 4 92
Всего 46 152 42 72 17 6 137
%% активности 82 80 50 72 88 67 67
Примечание: таблица составлена по данным Disctrowatch на середину дня 4 октября 2005 года.
Так вот, из таблицы, как дважды два, следует, что Red Hat, даже с учетом прямых (Fedora), косвенных (Mandriva) и очень условных (Suse, происходя от Slackware, заимствовала лишь формат пакетов) потомков, породил далеко не рекордное число клонов. Зато доля умерших проектов среди них составляет чуть не половину (или - две трети, если брать наиболее распространенные rpm-based системы). А место лидера, как количественно, так и качественно (по числу "живых" проектов), безусловно, принадлежит Debian.
В чем причина такой притягательности Debian для вторичных, если так можно выразиться, майнтайнеров? Думается, что в первую очередь в развитой и гибкой системе управления пакетами (да и в удачном формате самих пакетов тоже). В те годы, когда пользователи Red Hat и его потомков мучились с командой rpm, получая в ответ на директиву
$ rpm -ihv имя_рек.rpm
невразумительные сообщения об отсутствии библиотеки имя_рек.so (и ни малейших указаний на то, где эту самую библиотеку искать), дебианисты располагали не только лобовым dpkg, в случае нарушения зависимостей, по крайней мере, внятно отвечавшим, каких именно пакетов недостает для полного счастья, но и dselect, успешно (на мой взгляд, даже слишком успешно) разрешающим коллизии с недостающими компонентами. А потом появился и apt, вообще избавивший пользователя от необходимости размышлять не только над установкой пакетов, но и над их пост-инсталляционным конфигурированием. Подробности о apt можно почитать, в частности, здесь.
Конечно, диффузия идей в мире Open Source развита очень широко, и как сам apt, так и лежащая в его основе идея были быстро адаптированы в rpm-based системах. Сначала бразильская Connectiva (ныне - одна из составляющих Mandriva) прикрутила apt к своему редхатоидному дистрибутиву. Затем Altlinux положил apt в основу пакетирования не только своего одноименного дистрибутива, но и сделал его системой управления репозиторием Sisyphus. И, казалось, наступило счастье для всех rpm'щиков... Может быть, именно поэтому первые попытки клонирования Debian - Storm Linux и Corel Linux, - потерпели блестящее фиаско.
Однако скоро выяснилось, что применительно к rpm-пакетам apt далеко не столь эффективен, как в родной deb-среде. Начались попытки изобретения apt-подобных систем управления rpm-пакетами, вроде yum или urmi. Ни одна из которых не получила всеобщего признания. И в итоге "вторичные" майнтайнеры в поисках универсальной и надежной базы для своих систем вновь обратились к Debian.
С одной стороны, от него отделились дистрибутивы коммерческого типа - Xandros (бывший Corel Linux), Mepis и Linspire (ранее скандально прославившийся как Lindows). С другой - Debian лег в основу LiveCD Knoppix, давшего, в свою очередь, многочисленные ответвления. С третьей же, на базе Debian образовалось немало свободных дистрибутивов общего назначения, из которых наибольшая известность суждена была Ubuntu Linux.
Основатель этого дистрибутива - южноафриканец Марк Шаттлворт, бывший глава Интернет-компании Thawte Consulting. Деятельность которой была столь успешна, что ее приобрела известная корпорация VeriSign за астрономическую сумму, сделавшую Марка весьма богатым человеком. После чего он повел себя не очень стандартным для акулы капитализма образом. Во-первых, выплатил огромные премии каждому из бывших сотрудников Thawte Consulting. Во-вторых, слетал в космос в качестве туриста. В-третьих, создал и финансирует несколько некоммерческих организаций - по развитию образования в Африке, помощи развивающимся странам, и так далее. И, наконец, собрал команду для разработки собственного дистрибутива Linux - Ubuntu, который он характеризует как Debian с человеческим лицом. Говорят, что само слово Ubuntu на одном из африканских языков означает нечто подобное нашему понятию гуманизм. Но язык - источник слова, при этом не называется, так что проверить это утверждение невозможно. Подозреваю, что оно было просто придумано африканского колориту заради...
Ubuntu (http://www.ubuntulinux.org/) мгновенно завоевал очень широкую известность и популярность, на протяжении многих месяцев возглавляя Top-100 сайта Distrowatch. Отчасти это связано с экзотичность истории дистрибутива, отчасти - с политикой его распространения: на сайте проекта установочные CD можно заказать бесплатно - с бесплатной же доставкой в любую точку мира (даже в российскую глубинку). Думаю, это немало способствовало известности Ubuntu в нашей стране: в частности, существует и быстро развивается два русскоязычных ресурса, ей посвященные: Форум и Wiki русскоязычного сообщества.
Но нарастающая популярность Ubuntu имеет и объективные причины. В двух словах, Ubuntu - это почти самый обычный Debian, использующий deb-формат пакетов и систему управления ими - apt. И, насколько мне известно, сохраняющий совместимость с огромным пакетным репозиторием Debian (по крайней мере, пока). Отличие его от прародителя - во-первых, в том, что он комплектуется самыми свежими версиями пакетов (примерно соответствующим тестируемой ветке Debian). При этом разработчики декларируют полугодичный релиз-цикл для своего дистрибутива (и пока его придерживаются).
Вторая особенность Ubuntu - в том, что при инсталляции системы по умолчанию автоматически устанавливается и настраивается графическая среда. Коей, в соответствие с традициями Debian, стал Gnome. Но, поскольку это - лишь один из возможных пользовательских десктопов, немедленно был создан вариант дистрибутива, использующей в качестве рабочего окружения KDE. Который логично получил имя Kubuntu. Подчеркнем, что Ubuntu и Kubuntu - это одна и та же система, использующая общий репозиторий пакетов. И различия их проявляются только в комплектации установочного диска.
Поскольку отношения с Gnome у меня никогда не складывались, для знакомства с этим новшеством, после получения представления о Debian (описанного ранее) я выбрал именно Kubuntu. В каждый момент времени дистрибутив этот доступен для скачивания на сайте проекта в двух версиях - текущей стабильной (hoary) и разрабатываемой (breezy); на время написания этих строк это были 5.04 и 5.10, соответственно. Каждая из них существует в сборках для трех архитектур - x86, PowerPC и AMD64. В соответствие со своим железом, я выбрал последнюю - iso-образ размером около 620 Мбайт.
В Kubuntu (как и в Ubuntu) в качестве программы установки используется тот же Debian Installer, что и в последней (Sarge) версии материнского дистрибутива. Поскольку в своей предыдущей заметке я о нем почти не говорил, самое время рассмотреть его подробнее.
Первое, что после загрузки с CD - строка приглашения вида
boot:
в которой следует ввести либо install, либо - expert. Предварительно можно получить справку как о режимах инсталляции, так и о дополнительных параметрах (в отличие от Debian, тут мне никакие такие параметры не понадобились). Предпочтительна вторая команда, даже для тех, кто себя экспертом не считает: она позволит получить более полное представление о процессе установки, а в неясных случаях можно положиться на умолчания программы. Забегая вперед, скажу, что даже в режиме эксперта никаких специфических знаний от пользователя не потребуется: достаточно общего понимания принципов установки и, особенно, разметки дисков и создания файловых систем.
Итак, бестрепетно вводим команду expert - и видим перед собой меню, текущий пункт которого отмечен по умолчанию - для исполнения достаточно, подобно пресловутому цыпленку, клюнуть клавишу Enter. По выходе из очередного пункта курсор автоматически смещается на следующий.
Для начала получаем возможность выбрать язык установки (он же будет в дальнейшем языком системы). При выборе русского языка сообщения меню установщика автоматически русифицируются - хотя, в отличие от оригинального Debian'а, переведены не все пункты.
После этого определяем страну - Россию, Украину или какую другую, установщик учитывает, что русскоговорящий пользователь может жить, например, на Канадщине, раскладку клавиатуры (также русскую, без детализации) и локаль - здесь есть выбор между KOI8 и UTF. Затем предлагается длинный список всех доступных локалей, из которых можно выбрать те, что следует установить дополнительно. Локали CP1251 среди них нет, однако ее можно будет определить после установки. А на этапе инсталляции лучше всего выбрать KOI8 - для нормального чтения русских букв в консоли, и дополнительно - UTF, не помешает.
После этого, нажав Enter на соответствующем пункте меню, некоторое время занимаемся поиском установочного CD и прочтением его содержимого, каковое завершается (надеюсь) благополучно. Далее загружаем универсальный конфигуратор debconfig и компоненты с CD, необходимые для установки. В результате этого перед нами предстает список модулей, требуемых, по мнению инсталлятора. В их числе - поддержка всевозможных чипсетов и прочего, явно не наличествующего in corpore на конкретной машине. Однако время на их отключение можно не терять: во-первых, они ничему не мешают, а во-вторых, все отключенное будет настойчиво предлагаться к загрузке в дальнейшем.
Далее происходит определение сетевой карты. В моем случае на экране высветились оба моих устройства - чипсетное от Nvidia и PCI'ный Realtek, а также, почему-то, флоппи-привод (которого у меня нет физически, и в BIOS'е он отключен). После чего предлагается настроить сетевое соединение автоматически - через DHCP. При наличии оного с этим следует согласиться. В отличие от оригинального Debian'а, на этот раз все прошло без сучка, без задоринки: машина некоторое время пошуршала в поисках DHCP-сервера, а потом радостно сообщила, что подключение установлено успешно. В чем можно было тут же убедиться в одной из свободных консолей (забыл сказать, что их - две, и еще на две выводятся сообщения о ходе установки): командами типа ifconfig или ping.
Следующим пунктом нашей программы идет распознавание оборудования, сиречь жестких дисков. С этим у меня все прошло на-ура: были благополучно найдены как основной SATA, так и два диска на первом IDE-канале. Останавливаюсь на этом только потому, что при пробе с Debian 3.1 Sarge (релизная версия, которая шла в комплекте с журналом Linux Format) SATA на этой стадии был потерян. Хотя установщик снапшотного Debian'а его обнаружил.
Теперь - самый ответственный этап установки, разметка диска и создание файловых систем. Не то что он очень сложен - просто, как и в большинстве других дистрибутивов Linux (и, тем более, во FreeBSD), сделанные здесь ошибки исправимы только с большим трудом (или неисправимы вообще).
Так вот, установщик предлагает несколько режимов автоматической или полуавтоматической разметки, которые я даже и не рассматривал, потому что сразу обратился к ручному разбиению (и всем того же желаю, дисковая разметка - не тот случай, когда следует полагаться на автоматику).
Собственно разметка выполняется достаточно просто:
курсор фиксируется на предназначенном к тому имени устройства,
при желании (или необходимости) можно пересоздать таблицу разделов, выбрав из появившегося списка msdos: в Linux используется именно эта схема разметки, хотя в списке присуствует и разметка в BSD-стиле, стиле Sun, и так далее,
создается раздел, ему приписывается файловая система, в которой он будет отформатирован (ext3fs - выбор по умолчанию, доступны также и все прочие из числа поддерживаемых ядром Linux как "родные" - ext2fs, ReiserFS, XFS и JFS),
для них определяется точка монтирования (выбором из выпдадающего списка - /, /usr, /home и так далее),
по желанию определяются опции монтирования, такие, как noatime, nodev и так далее, в зависимости от файловой системы; так, для ReiserFS целесообразно определить notail,
потом завершаем процедуру (выбором соответствующего пункта меню) и повторяем ее для другого раздела (не забыв при этом и про раздел подкачки).
Рекомендаций по разметке давать не буду - слишком плохо знаю специфику Debian'а, чтобы решить, насколько целесообразно здесь дробное разбиение диска. Но три раздела - корневой, под swap и под каталог /home, - необходимы в любом случае.
По завершении разметки/форматирования перед нами встает необходимость установки Base System, что и проделывается в автоматическом режиме, без всякого нашего участия и возможности выбора. В чем, впрочем, нет никакой необходимости - базовый комплект Debian более чем аскетичен. Выбор предлагается только в отношении ядра - да и то, в наличной версии Kubuntu он кажущийся, так как все пункты появляющегося списка соответствуют одному и тому же ядру - 2.6.12 для AMD64.
После этого мы в принципе имеем Debian-систему в минимальной комплектации - полностью работоспособную по добавлении загрузчика (одним из последних пунктов меню). Однако перед нами еще ряд дополнительных возможностей, первая из которых - доустановка пакетов, специфичных для Kubuntu. В числе их - KDE со всеми прибамбасами, OOo, FireFox и так далее. При этом появляется сообщение, что на диске не имеется пакетов, специфичных для выбранного языка, и предложение скачать их из Интернета. Мне это показалось резонным, я согласился - и, как показала практика, напрасно, о чем еще будет речь.
Тем временем, вне зависимости от ответа на предыдущий вопрос, пакеты начинают устанавливаться. А по завершении этого процесса предлагается отюстировать время - выбрать часовой пояс, и так далее. Здесь все происходит само собой - если системные часы компьютера установлены по Гринвичу (чего всем настоятельно советую).
Далее - создание пользовательских аккаунтов. Здесь для начала определяется пароль root'а (как обычно, дважды). Затем предлагается ввести имя обычного пользователя - именно реальное имя (в дальнейшем оно появится в виде приветствия в ходе загрузки, как следствие общего гуманизма системы). Из реального имени автоматически конструируется логин, каковой, впрочем, можно изменить произвольным образом. Ну и пользовательский пароль, разумеется, также вводится здесь.
Следующий интересный этап - настройка apt. Каковая, в сущности, сводится к определению зеркала, с которого в дальнейшем будут качаться пакеты - на начальной стадии установки в качестве репозитория выступает CD. Я выбрал какое-то из немецких - хотя теоретически их можно проверить тем же ping'ом (замечательный Debian'овский инструмент, специально предназначенный для этой цели, netselect, во время инсталляции вроде бы еще не работает).
Теперь - почти последнее: установка загрузчика. За номером первым в списке идет Grub - по моему скромному мнению, его и следует выбрать. Ибо Lilo, следующее в списке вторым, никакими преимуществами перед ним не обладает. Тут важно только одно - при многодисковой конфигурации машины не соглашаться с умолчаниями инсталлятора (пожалуй, единственный случай). Ибо "умолчально" Grub будет установлен в MBR 1-го диска на 1-м PATA-канале - вне зависимости от того, какой диск определен в BIOS'е как загрузочный, и на какой из дисков выполнялась установка системы. Так что на соответствующий вопрос должно ответить решительным отрицанием (то есть Нет). После чего место для установки загрузчика можно будет задать руками - причем как в нотации Grub'а (типа там hd(0,0)), так и просто именем устройства - /dev/sda, например. Причем ошибка пройдет практически безболезненно - при рестарте машины ее можно будет исправить интерактивно (а вообще о возможностях Grub в этом отношении можно прочитать у Владимира Попова). Да, еще: все сказанное о загрузчике относится и к оригинальному Debian'у - прошлой своей заметке я еще этого не просек.
Вот теперь - почти все: извлекаем (при участии инсталлятора) CD и идем на перезагрузку. После которой останутся только совершенные мелочи. А именно - та самая доустановка языково-зависимых пакетов. В ходе которой, если, как опрометчиво сделал я, положительно ответить на вопрос о скачивании их из Сети, можно стать счастливым обладателем тамильских, бенгальских и прочих малайских шрифтов, и массы прочих полезных вещей (среди которых случайно завалялись и русскоязычные файлы).
Вслед за тем выбираются желаемые разрешения для Иксов - и все, пользователь, посредством авторизации через kdm, оказывается в своем рабочем окружении.
Что же мы получили в итоге? А получили мы аккуратную и вполне разумно настроенную такую KDE-станцию. Звук и сеть - работают из коробки. Русский язык в Иксах - тоже. Правда, шрифты - не фонтан, штатный Иксовый растровый cyrillic, но доустановить True Type - не проблема.
Некоторое неудобство может доставить перелопаченное стартовое меню KDE - выглядит непривычно, и программы оказываются совсем не в тех пунктах, где я привык (например, редактор Kate еле нашелся в пункте Служебные.
Далее, конечно, умиляет изобилие всяких экзотических шрифтов - но от них легко избавиться посредством apt'а. Лишними (для меня) выглядят кое-какие приложения. Но в целом большинство пользователей обнаружит в системе почти все нужные приложения общего назначения. Доустановить отсутствующее - не проблема, можно прибегнуть не только к собственному репозиторию пакетов, но и к Debian'овскому.
Окончательный диагноз: Kubuntu - дистрибутив, вполне подходящий для любого, в том числе и совсем начинающего, пользователя. Лучше он оригинального Debian'а или хуже - вопрос спорный. Лично я сделал бы свой выбор в пользу первоисточника. Однако именно начинающему пользователю, возможно, Kubuntu (или Ubuntu, если нет пристрастия к KDE), подойдет больше - по причинам чисто психологического характера). Другое дело, что со временем, мне кажется, он все равно мигрирует на первозданную систему - тем более, что сделать это достаточно легко.