О блоге

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

01.08.2008

ASPLinux 7.3: цели и задачи пакетных дистрибутивов

20 сентября 2002

После работы во FreeBSD или общения с такими Linux-дистрибутивами, как Gentoo, Sorcerer и их собратьями по source based, любой пакетный дистрибутив (особенно из категории т.н. user-ориентированных) кажется настолько громоздким и неуклюжим, что возникает вопрос: а зачем вообще нужны дистрибутивы, если Linux-систему можно собрать из исходников. И притом именно такую, какая требуется для конкретной задачи, в которой будут все необходимые для жизни и работы инструменты √ и ни одной лишней программы.

Однако попробуем посмотреть на это с другой стороны. Во-первых, сборка собственной системы √ занятие достаточно сложное, и начинающему пользователю Linux (и любой другой Unix-системы) может показаться непосильной. Конечно, следуя, например, руководству Герарда Бикманса (Linux from Scratch), аки воинскому уставу, выполнить эту процедуру может любой функционально грамотный человек с минимальными познаниями в английском. Однако при этом теряется суть √ ведь сборка системы осуществляется для себя, любимого, а вовсе не для дяди Герарда.

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

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

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

Все сказанное выше я сочинил в контексте знакомства с новой версией дистрибутива ASPLinux √ 7.3 в варианте Deluxe Edition √ красивой коробкой с 10 CD, тремя книжками и множеством сопроводиловок √ лицензиями, купонами, наклейками и т.д. Впрочем, о комплектации распространяться не буду √ об этом скажут другие. Моя же цель √ посмотреть, насколько ASPLinux соответствует представлению о пакетном дистрибутиве, ориентированном, в том числе, и на конечного пользователя.

Не буду зацикливаться и на описании процесса установки: будучи знаком с этим дистрибутивом, начиная с достаточно ранних его бета-версий, в текущей я не обнаружил принципиальных новшеств. Это √ отнюдь не в упрек: напротив, именно узнаваемость и привычность инсталлятора способствуют ощущению его стабильности. Тем более, что установщик ASPLinux усовершенствовать довольно трудно: с точки зрения как дизайна, так и декора он (ИМХО) делит пальму первенства с программой инсталляции Caldera OpenLinux.

Тем не менее, некоторые аспекты установки привлекли мое внимание. Например, начальная стадия процесса √ выбор режима. Здесь доступны √ собственно графический режим (с диапазоном разрешений от стандартного VGA до 1024x768), режим frame buffer (то есть также графический, но абстрагированный от конкретной видеосистемы) и просто текстовый. Впрочем, последний √ с несколько урезанными возможностями: нет возможности обновления существующей системы, из языков установки доступны только английский и русский (напомню, что в ASPLinux язык установки никак не связан с языковой поддержкой, и после русскоязычной установки в системе может быть определен хоть китайская локаль).

Кроме того, из меню выбора режимов можно попасть и просто в консоль с командной оболочкой ash, выход из которой (командой exit) автоматически ведет к перезагрузке. Это делает инсталляционный диск пригодным к проведению ремонтно-восстановительных работ при системных сбоях.

Обладатели USB-мышей обратят внимание, что на стадии выбора режима их грызун не проявляет признаков жизни. Что, впрочем, не повод для паники √ просто соответствующий ╚гуманистический╩ модуль (hid.o) еще не загружен (он будет активизирован при загрузке ядра, после чего все приходит в норму). А в дальнейшем мышь можно определить с точностью до конкретной модели, например, Logitech MouseMan Wheel (и, что приятно, в системе X Window колесо прокрутки будет работать в большинстве приложений без каких-либо дополнительных телодвижений).

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

Впрочем, выборочная установка настолько прозрачна, что вряд ли вызовет затруднения у самого начинающего пользователя (начинающего, разумеется, в Unix, а не вообще √ представление о дисковых разделах потребуются в любом случае).

К слову о дисковых разделах: радует, что на них можно разместить, наряду со ставшими уже традиционными ReiserFS и Ext3fs (последняя √ выбор по умолчанию), также и XFS √ самую, пожалуй, совершенную из сегодняшних журналируемых систем. Не составит труда и создание программного RAID-массива, если в машине более одного диска, но нет соответствующего аппаратного контроллера.

Впрочем, относительно XFS √ должен предупредить о неполной совместимости с ней ASPLoader, штатного системного загрузчика. Несовместимость эта √ примерно того же порядка, что и между ReiserFS (в ╚умолчальном╩ режиме тайлинга) и некоторыми версиями LILO (говорят, также и GRUB). А именно √ ASPLoader не может загрузить ядро с XFS-раздела. И, следовательно, для него следует создать отдельный раздел под каталог /boot с файловой системой ext2fs или ext3fs (впрочем, резонные люди рекомендуют это при использовании любой из ╚продвинутых╩ файловых систем при любых загрузчиках).

Еже одна опция, доступная на стадии разбиения диска √ возможность изменения размера существующего раздела и его перемещения без потери информации. Мне пришлось провести эксперимент для ее оценки, поскольку ASPLinux устанавливался на второй диск (Fujitsu, 30 Гбайт, 7200 об./мин.), занятый данными более чем на 30%. Так вот, урезание существующего раздела (единого, с ext2fs) до 15 Гбайт и перемещение его из начала диска в конец не только прошло безболезненно (для содержимого), но и заняло чуть больше 10 минут. Тем не менее, творить такое без предварительного резервирования все равно не след: любой сбой во время этого процесса приведет к полной потере данных.

Следующий момент, к которому я отношусь с повышенным вниманием √ выбор пакетов. Здесь, наряду с обычными предопределенными наборами (для разработчика, для сервера, и т.д.), есть возможность индивидуального выбора пакетов ╚с нуля╩. Конечно, ввиду изобилия таковых (судите сами √ при инсталляции задействуется три CD-диска) занятие это длинное. Однако результат можно сохранить на дискете и при последующих инсталляциях (например, на серию однотипных рабочих станций) просто считывать раз созданные собственные типовые наборы.

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

Мне эта возможность (к слову, предоставляемая инсталляторами редко какого дистрибутива) видится весьма ценной для опытного пользователя. Дело в том, что далеко не все компоненты base Linux жизненно необходимы для работы системы. Так, исключение утилит семейства groff ведет к невозможности использовать систему экранной помощи man. Однако что за горе, если мы планируем использовать info-страницы или html-документацию. Да и нельзя исключить желания пользователя собрать из исходников более свежие версии базовых компонентов.

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

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

Вот, пожалуй, и все, что я хотел сказать по поводу установки. На комплектации дистрибутива также задерживаться на буду √ легко подсчитать, что на 10 компактов можно втиснуть большую часть всего свободного и открытого софта, существующего в природе. Замечу только, что два диска из ╚люксового╩ набора являют собой своего рода бонус. На одном из них √ свежая версия Acronis OS Selector, мультизагрузчик, совмещенный с дисковым менеджером, существенно расширенный функционально по сравнению со штатными средствами ASPLinux. А другой √ подборка программ, не принадлежащих к категории Open Sources: дисковые утилиты от Acronis, Borland'овский Kylix, Unix-версии обоих отечественных антивирусов и многое другое.

Первое, что привлекает внимание в любом дистрибутиве после его установки √ это средства настройки и наращивания функциональности. Должен констатировать, что в отношении первых ASPLinux похвастаться особенно нечем √ сквозного средства настройки, подобного таковому Mandrake, в нем по сию пору не появилось (хотя кажется, что создать такое на основе программы установки было бы не так сложно). Правда, многие настройки можно выполнить штатными средствами KDE или GNOME. И, разумеется, вручную √ правкой соответствующих конфигурационных файлов.

А вот управление пакетами заслуживает быть отмеченным. Как и любой rpm-based дистрибутив, ASPLinux располагает одноименной утилитой этого назначения, работающей в командной строке. Для графического режима предназначена программа kpackage из комплекта KDE. И, наконец, имеется замечательная утилита yum √ функциональный аналог apt-get из Debian, все шире находящей применение в мире rpm (Connectiva, Altlinux).

Утилита yum запускается из командной строки с указанием целевого действа (install, update, remove √ смысл ясен из названия) и имени пакета в качестве аргумента. Далее все происходит автоматически √ устанавливается коннект с сервером-репозиторием, скачивается указанный rpm-пакет и все, связанные с ним зависимостями, а также их установка и регистрация в соответствующей базе данных. Адрес сервера-репозитория, вместе с прочими необходимыми параметрами, прописывается в специальном конфигурационном файле √ /etc/yum.conf. Возможна установка или обновление группы пакетов по шаблону (shell glob), коим считается любой аргумент, не совпадающий в точности с именем какого-либо зарегистрированного шаблона. Указание в качестве цели upgrade приводит к обновлению всей системы целиком, с заменой версий пакетов более новыми.

Итак, что мы имеем в итоге в контексте поставленных во вводной части вопросов? Дистрибутив ASPLinux вполне подходит начинающему пользователю: установить в режиме выборочной установки легко, достаточно только во всех сомнительных случаях следовать вариантам, предлагаемым по умолчанию. И сразу же после этого система совершенно работоспособна, в том числе и корректно локализована (специально я на этом не останавливался, поскольку нормальная работа с кириллицей уже вошла в привычку отечественных дистрибутивов).

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

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