О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

01.08.2008

Просто о Debian'е

23 августа 2002 г

<>За всю почти десятилетнюю историю дистрибуцию Linux в народе прочно утвердилось мнение, что Debian GNU/Linux √ самый идеологически ╚правильный╩ из них, Linux par excellence, так сказать.

Видимо, это√то меня от него и отвращало: подобно большинству советских людей, при слове ╚идеология╩ рука моя так и тянется к предохранителю парабеллума. Кроме того, пара робких попыток приобщиться величия GNU'той мысли успехом не увенчалась. Знаменитая (или пресловутая) утилита dselect показалась мне исключительно запутанной, оценить в полной мере метод apt я не смог за отсутствием выхода в Сеть, а изобилие приложений (три полных диска в первозданной версии 2.2) не столько радовало, сколько обескураживало. И в итоге Debian был мной заброшен.

Однако давеча, во дни появления очередной версии (3.0), волею случая я снова обратился к этому дистрибутиву. И √ изменил о нем свое мнение, о чем и рапортую настоящей заметкой.

Debian как он есть

Должен сказать, что с первого взгляда текущая версия, известная под партийной кличкой Woody, производит еще более устрашающее впечатление, нежели предыдущая. На http://www.debian.org доступно для скачивания 7 (!) iso-образов CD-дисков, и это √ только бинарные пакеты, не считая исходников. Интересно, что среди этого набора ажно два диска помечены как первые: я-то по наивности всегда думал, что первый может быть только один, но, помнится, у нас и первых вице-премьеров в правительстве бывало, что грязи. Разумеется, всех их я скачивать не стал, ограничившись только тем первым диском, который второй (он √ размером побольше). Диск, как и положено, загрузочный, необходимости в дискетах не возникает. Помещаем его в привод, нажимаем Reset и начинаем установку.

Загрузка системы осуществляется в режиме графической (через frame buffer) консоли, о чем сигнализирует пингвинчик в левом верхнем углу экрана. А сам инсталлятор √ с псевдографическим меню в светло-синих тонах (слово ╚голубой╩ нынче страшно даже сказать в приличном обществе). Внешнее впечатление √ приятное, текст четкий и достаточно крупный, так что ломать глаза не приходится. Навигация по меню установщика √ свободная, любой этап может быть пропущен, и к любому можно вернуться (если, конечно, вы знаете, зачем и почему).

Сама по себе установка √ в два этапа, разделенных рестартом системы. Первый этап начинается с выбора языка √ это язык сообщений установщика, русского среди них нет (хотя есть китайский). Затем идет конфигурирование клавиатуры √ здесь русская раскладка присутствует, но останавливаться на ней не стоит √ уж больно странна.

Далее установщик предлагает перейти к разбиению диска, для чего по умолчанию запускается cfdisk. Но использовать его не обязательно √ во время установки доступно три виртуальные консоли, и во второй из (третья предназначена для вывода системных сообщений) вполне можно создать дисковые разделы посредством fdisk, если он более привычен.

Интересная особенность установщика √ он упорно пытается найти диски на контроллере IDE-RAID (конкретно, в моем случае имел место быть Promise). Даже если дисков на нем нет и в помине. И, более того, сам контроллер отключен соответствующей перемычкой на ╚маме╩.

Тем не менее, как говаривал Александр Кабаков, и это не помешает нам выпить. То есть, пардон, разметить диск. После чего самое время приступить к созданию файловых систем на нем и их монтированию. Для начала создается и активизируется swap-раздел. Причем эту операцию нельзя выполнить помимо установщика, в параллельной консоли. А вот собственно форматирование и монтирование √ можно (и позднее я скажу, когда это целесообразно). Правда, штатно для этого предлагается только ext2fs √ что сводит возможности журналирования только к ее младшей сестре ext3fs (как известно, первая может быть трансформирована во вторую на лету, без потери информации).

Далее происходит конфигурирование модулей ядра. Необходимо это только в том случае, если предполагается установка пакетов по сети, локальной или через Интернет. А так √ можно перейти к установке базовой системы, выбору часового пояса, изготовлению загрузочной дискеты (в чем необходимости тоже нет √ установочный диск вполне успешно выполняет роль rescue-носителя) и перезагрузке системы.

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

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

Debian в миниатюре

Возникает резонный вопрос √ а за каким скачивать семь дисков (или даже один, но на 650 Мбайт), если ограничиться установкой базовой системы. Ответ столь же резонен √ ни за каким. Потому что на http://www.debian.org можно обнаружить вдоволь ссылок на т.н. минидистрибутивы. Являющие собой именно (и только) базовую систему, без каких бы то ни было излишеств.

Мое внимание привлек один из них √ под кодовым названием Debian Mini with XFS. И именно вследствие названия, обещавшего поддержку полюбившейся мне файловой системы XFS (и обещание это сдержавшего √ ядро, идущее в комплекте с каноническим Debian'ом, XFS не поддерживает).

Этот дистрибутивчик представляет собой iso-образ диска объемом (внимание, товарищи, беритесь за стулья) 30 Мбайт. Да-да, именно ТРИДЦАТЬ и именно МЕГАБАЙТ √ в век систем, дистрибутивы которых измеряются погонными метрами дисковых наборов, такая умеренность не может не привлечь внимания.

А вписывается в эти 30 Мбайт (после установки они разворачиваются в 80-90) все то же самое, что мы видим в базовом наборе полного Debian'а: ядро, системные и пользовательские утилиты, шелл, пара редакторов. Установив которые, можно не только запустить систему, но даже выполнять кое-какую работу. Правда, средств разработки √ ни малейших, то есть скомпилировать что-либо дополнительное √ не удастся. Но какого же кайфа вы хотите за 20 копеек…

А устанавливается это хозяйство точно тем же образом, что и полноразмерный Debian. Единственное отличие √ на стадии создания файловых систем к ext2fs добавляется альтернатива √ в виде упомянутой уже XFS. Впрочем, это именно тот случай, когда стоит покинуть меню установщика, перейти во вторую виртуальную консоль и выполнить требуемые действия вручную.

Почему √ ответить не трудно: XFS в полном блеске проявляет себя, будучи созданной и смонтированной с определенными, отличными от умолчальных, опциями. И если опции монтирования можно потом изменить ручным редактированием /etc/fstab, то условия форматирования √ по определению не изменяемы.

Итак, переходим во вторую консоль и, активизировав ее нажатием клавиши Enter, даем команду на создание XFS:

$ mkfs.xfs -d agcount=# -l size=##m /dev/hda?

На сути опций останавливаться не буду √ об этом можно прочитать в замечательных статья Дэниэла Роббинса, создателя и основного разработчика не менее замечательного дистрибутива Gentoo [1]. Скажу только, что значение agcount вычисляется из расчета √ одна allocation group на 4 Гбайт дискового пространства (раздела, конечно), а рекомендованное значение size (ограничение ра размер журнала) составляет 32 Мбайт.

Далее, так же руками, монтируем созданные файловые системы. Для чего прибегаем к следующему:

$ mount /dev/hdc9 /mnt -o noatime,nodiratime

Здесь последние две опции (они будут унаследованы итоговым /etc/fstab)знаменуют собой отказ от изменения времени доступа √ возможности, редко когда требуемой реально, но весьма способствующей деградации производительности. Впрочем, сие √ не специфично для XFS, эти же опции целесообразно использовать и с любой иной файловой системой (по крайней мере, на настольной машине личного пользования √ за сервер не скажу).

А дальше √ все как в полномерном Debian'е √ собственно установка, перезагрузка, настройка, запуск dselect. Причем мини-Debian заточен под доустановку софта из Сети √ и этап настройки оной разумеется, присутствует. Должен заметить, что в типичной казенной локалке с нормальным DHCP все происходит на полном автомате √ никаких дополнительных телодвижений не потребуется.

Что дальше

В сухом остатке, как уже было сказано, получаем мы нормальную работоспособную Linux-машину, не отягощенную архитектурными излишествами. Что делать с ней дальше? Ну, например, можно спокойно работать с текстами посредством редактора, grep, groff, awk сотоварищи. Конечно, для этого потребуется систему русифицировать √ но на этом я останавливаться не буду [2].

Однако если базовых возможностей не хватает (а в наши дни их скорее всего покажется не вдоволь), средь мира дольного для сердца вольного есть два пути. Первый √ все тот же dselect вкупе с методом apt. Говорят, что, если освоить этот механизм в совершенстве, жизнь становится легкой и простой.

Если же прикладывать усилия покажется через чур уж сложным (а мне, не собиравшемуся связывать всю дальнейшую жизнь с Debian'ом, именно так и показалось) √ остается другая дорога, все на тот же http://www.debian.org. Там находим требуемые пакеты, внимательно изучаем их взаимозависимости √ а лучшего места для этого, пожалуй, и на свете-то нет, скачиваем, переносим на нашу машину. Далее, обзаведясь правами суперпользователя, даем команду:

$ dpkg имя_пакета

По первости ответом будет, скорее всего, сообщение, что для установки пакета имя_рек требуется то-то и то-то. Но мы ведь эти самые зависимости изучили, и меры приняли заблаговременно. Так что √ просто повторяем процедуру, но уже в виде:

$ dpkg имя_рек_раз имя_рек_два имя_рек_три

Короче, сколько потребуется, прямо одной строкой. И все, требуемый пакет установлен.

Можно, конечно, и просто заняться сборкой из исходников. Для чего поначалу, конечно, придется установить (из бинарного пакета, вестимо) компилятор gcc и все к нему прилагающееся (make etc.). Правда, в этом случае все установленное не будет регистрироваться в соответствующей базе данных. И, скажем, собрав из исходников X'ы, при попытке установить из deb-пакета Blackbox, наткнемся на сообщение, что какого-нибудь xlib не хватает. Но, насколько я понимаю, и эта проблема разрешима…

Итак, вывод: минидистрибутивы Debian √ штука довольно удобная, если требуется быстро и легко развернуть монофункциональную систему, не перегруженную принудительно устанавливаемыми излишествами. Наращивание функциональности √ просто и безболезненно. А уж для изучения зависимостей пакетов, повторю, так просто очень полезно.


[1]
http://www-106.ibm.com/developerworks/linux/
, русский перевод √ в Ярославле. [обратно к тексту]

[2] Процесс русификации применительно к Debian'у описан, во-первых, Виктором Вислобоковым (http://linux.perm.ru, во-вторых, Петром Новодворским в книжке, идущей с Debian-коробкой исполнения Института логики. И возраст обоих документов смущать не должен √ в текущей версии ничего принципиально в этом плане не изменилось. [обратно к тексту]