Не проходит ли век user-ориентированных систем? Казалось бы, еще недавно каждый вновь выходящий дистрибутив Linux считал своим долгом перво-наперво декларировать свое дружелюбие к конечному пользователю. В качестве меры каковой принималось Windows-подобие – вплоть до заявлений о большей Windows'совости, чем сам Windows.
Очередным апофигеем [1] этой тенденции стало появление Redmond Linux (сейчас, вроде бы, переименованного?) и Lindows'а. Относительно второго ничего сказать не могу, но склонен доверять мнению Алексея Новодворского [2]. А вот с первым имел удовольствие ознакомиться. И даже хотел было написать о нем – но раздумал. И потому мое утверждение может показаться голословным, но желающие (и отягощенные свободным временем) могут проверить сами.
Так вот, Redmond Linux я воспринял как издевательство. Только не понял, над кем. Если над обитателями указанного городка – Бог им судья, пусть сами разбираются. Если над нами, юзерами – тоже грех невеликий, переживем. Но если над системой как таковой… Впрочем, склонен полагать все же, что разработка Redmond'а – проявление своеобразного юмора (и анонс его 1 апреля был бы очень кстати).
Тем не менее, сегодня я хотел поговорить о другом. А именно – появлении волны дистрибутивов, root-ориентированных. И в качестве первого примера рассмотреть RockLinux, названный его создателем, Клиффордом Вольфом, «нерушимым, как скала» [3].
Собственно говоря, RockLinux разрабатывается уже достаточно давно – на сайте проекта [4] можно обнаружить, что текущая версия имеет номер 1.5.не_помню_сколько. Однако до недавнего времени он был труднодоступен [5]. И к тому же не имел iso-имиджа инсталляционного диска (видимо, из вящей дружбы к администратору)… Так что на Руси… – ну, сами понимаете…
Однако не так давно (хотя и не столь недавно, в феврале месяце сего года) к трудам Клиффорда присоединились Рене Ребе и Валентин Зайглер, создав вариант под названием Desktop RockLinux (или, сокращенно, да простят меня дамы, dRock – хотя некий резон в этой аббревиатуре, как будет ясно из дальнейшего, есть). Распространяемый ныне в виде iso-имиджа, причем с нескольких зеркал, вполне прилично ловимых и от нас.
Степень Root-freundshaft этого дистрибутива интересовала меня давно. А тут наконец представилась возможность с ней ознакомиться воочию. Чем я и не замедлил воочию.
Текущая версия dRock'а (имеющая почему-то номер 1.4.1) включает образы двух дисков – собственно инсталляционного и дополнительного. Для установки необходим только первый; на втором – KDE 2.2, Apache и еще некоторые приложения (AbiWord, Galeon, Nautilus и т.д.).
Установка системы начинается с загрузки (для которой используется первый диск). В ходе ее следует несколько вопросов (загружать ли модули ядра, да как именовать виртуальные консоли – по новому ли, vc/1-vc/6, или по старому, ttw/#). После чего пользователь оказывается перед приглашением командной строки оболочки. К слову сказать, полноценной bash, а не один из всяких там урезанных уродцев типа ash: с автодополнением, историей команд и прочими атрибутами. И консолей доступно вдоволь (конкретно, шесть), и переключаться в них можно обычным образом (Alt+F#).
Правда, что с ней, строкой этой делать, – a priory, без чтения документации, совершенно неясно. Благо, если документация не была прочитана до начала процесса, к ней можно обратиться сейчас. Для чего CD монтируется в каталог /src (правда, об этом тоже нужно предварительно знать), и с него открывается файл /src/Documentation/INSTALL (именно в указанных регистрах).
Тут следует учесть, что в dRock'е используется файловая система для файлов устройств – devfs, причем она задействуется уже на стадии установки. И потому и сейчас, и в дальнейшем процессе монтирование следует выполнять командами вида
$ mount /dev/cdroms/cdrom0 /mount_point
для CD или
$ mount /dev/discs/disc#/part# /mount_point
Итак, посредством more (less на данной стадии сочтен излишеством) открываем файл документации (можно – и в другой консоли, для сверки в процессе) и читаем, что же делать дальше. А дальше, оказывается. следует создать разделы и файловые системы на них. Для чего предлагается использовать программы fdisk или cfdisk. Попытка вызвать вторую успеха не имеет, следует сообщение об ошибке. И потому остается только
$ fdisk /dev/discs/disc#/disc
где опять же следует обратить внимание на форму аргумента. Создаем разделы – корневой и для своппинга в обязательном порядке, прочие (/usr, /home или еще чего) – по желанию, после чего обращаемся к созданию файловых систем.
Ну, раздел для своппинга размечается обычным образом (mkswap, не забывая только про особенности devfs). А для прочих разделов настоятельно рекомендуется журналируемая система ReiserFS (создаваемая командой mkreiserfs). Хотя, как сказано, не возбраняется и ext2fs/ext3fs, учреждаемая, как обычно, командой mkfs.ext2 (последняя – с дополнительной опцией -J, символизирующей журналирование).
Далее раздел для своппинга активизируется (командой swapon), а созданные файловые системы монтируются в каталог /trg (если при разбиении диска не ограничиваться корневым разделом, перед монтированием /home или /usr следует создать соответствующие точки монтирования – /trg/usr, например).
Все предыдущие действия были, в общем, достаточно обычными – тот же порядок манипуляций применяется, например, и в Slackware. А вот теперь начинается собственно установка – отдачей директивы Install в командной строке.
После этого на фоне dRock'овского логотипа появляется весьма симпатичная псевдографическая панель с меню, предлагающим пункты:
- выбора пакетов,
- суммарной информации,
- перехода в консольный режим,
- установки,
а также about и quit. начинать, естественно, следует с выбора пакетов. Они сгруппированы в несколько серий – базовые компоненты, средства разработки, документация, мультимедиа, сеть, наука (!), текст, утилиты и еще пара-тройка. В сериях base и dev определенные пакеты отмечены по умолчанию, иные же можно добавить (как и «умолчальные» – изъять, причем – любые, никаких запретов или даже предупреждений не последует). Прочие пункты – девственно чисты, тут пользователю предоставляется полная свобода выбора.
Надо сказать, что из чего выбирать – есть. Даже без учета дополнительного диска, в dRock включен вполне достаточный набор приложений, утилит и средств разработки, включая XFree86 (версии 4.2), GNOME, WindowMaker и прочее. Среди которого – и мой любимый joe, попавший почему-то в утилиты, и несколько разных shell'ов, и средства для работы со звуком и видео.
Меня сразу заинтересовало, как в dRock решается больной вопрос некоторых дистрибутивов – контроль зависимостей пакетов при ручном их выборе. Оказалось – никак. Видимо, из дружеского расположения к администратору, система предоставляет ему возможность продемонстрировать свои знания в этой области. Буде же таковых не имеется (или просто лениво разбираться, от каких lib'ов зависит Midnight Commander) – никакой помощи, даже предупреждающих сообщений, ожидать не следует. Так что вполне может оказаться, что после установки половина самостоятельно выбранных приложений просто откажется запускаться. А теоретически рассуждая, можно даже установить систему без ядра – снять отметку с соответствующего пункта серии base системой не возбраняется.
Но зато имеется возможность поиска пакетов (в том числе по маске), а также записи сделанного выбора в виде файла. Как, естественно, и считывание из него заранее определенного набора – очень полезно при неоднократных установках, если уж с взаимозависимостями удалось разобраться вручную, можно увековечить результаты сего подвига.
После собственно установки пакетов (процедура не очень длинная), предлагается или продолжить выполнение установочных скриптов, или установить что-нибудь со второго диска. Выбор последнего варианта, впрочем, приводит к появлению приглашения командной строки – видимо, второй CD предлагается использовать, исключительно работая руками [6].
А вот первый вариант позволяет выполнить необходимый минимум настроек (правда, уже без менюшек, в «черном» диалоге). Перво-наперво – клавиатура. Ее можно вбить сразу, или, набрав list, ознакомиться со всем списком (то же – и при дальнейших настройках). В котором, к приятному удивлению, оказываются русские раскладки – ru просто, ru (ywerty), ru3. Затем – всякие repeat, delay, numlock, выбор часового пояса (для Europe/Moscow – оказывается. даже с учетом летнего/зимнего времени), и, наконец, язык.
Под последним, как можно предположить (и в дальнейшем – убедиться в справедливости этого) понимается locale. Для Руси локализацию можно выбрать любую – с наборами символов KOI8-R (и даже -U), CP1251, CP866, ISO-8859-5. Правда, загрузка соответствующих экранных шрифтов при этом сочтена излишеством, что приводит потом к эффекту, хорошо известному пользователями: передаче русскоязычных сообщений шрифтами с базовым (американским) набором символов.
Вслед за этим настраивается служба консольной мыши (gpm). Сначала, естественно, вопрос – а нужна ли она вообще (на мой взгляд – так обязательно, но у иного ведь может быть и особое мнение). Затем – определение порта, сиречь физического интерфейса, типа (иными словами – протокола), и количества кнопок). Что прискорбно – при сохранении поддержки всякого рода шинных и сериальных устройств USB-мыши (а их с каждым днем плодится все больше и больше) отсутствуют как биологический вид.
Следом – настройка (условно говоря) загрузчика – предлагается GRUB, с созданием меню для оного и записью в MBR. После чего тем не менее предлагается настроить еще и LILO [7]. Что, возможно, не лишне – никакой настройки GRUB как таковой не происходит. И если на диске была уже установлена некоторая (угадайте, какая) система, ее загрузка в меню не предусматривается, это потребуется сделать вручную [8].
После загрузчика настраивается сеть. Здесь можно выбрать автоматическую настройку через DHCP (если таковая служба имеется) или задать IP-адрес и прочие параметры вручную. Ну а сетевой интерфейс определяется сам собой – в двух случаях, с которыми я имел дело, правильно.
Все, установка окончена. Правда, выводится пространное предупреждение, что на все выполненные настройки не дается никаких гарантий, и предлагается проконтролировать их вручную согласно списку измененных файлов. Также, опционально, советуют пересобрать ядро и настроить (правкой конфигурационного файла) систему X Window. Впрочем, прямо как в стране советов, никаких средств для этого не предлагается – в самой по себе программе установки даже vi не доступен. Так что все эти манипуляции лучше отложить до после перезапуска.
После перезапуска же можно попытаться и исправить огрехи с зависимостями. Для этого штатно предусмотрено два средства: повторный запуск программы Install и комплект для управления пакетами. Первое из них, к сожалению, у меня не сработало, вызывая постоянные сообщения об ошибках. Второе же – это программа pkg-install, близкородственный по идеологии pkg_add из BSD-систем или pkg-tools из Slackware (я не ошибся, именно так она там называется?).
К сожалению, по реализации она значительно уступает утилите из FreeBSD, например (как это работает в Slackware я, грешным делом, подзабыл). В частности, никаких зависимостей автоматически она не проверяет. И при последующей попытке запустить программу, для которой таковые нарушены, система выдает крайне информативное сообщение о недостаче библиотеки lib_имя_рек.so, без малейшей конкретизации, в каком именно пакете этот самый «Имя рек» искать следует – видимо, опять же из дружбы к сисадмину (дабы служба медом не казалась).
Тем не менее, все недоработки установки ликвидировать можно, после чего система приобретает вид, вполне похожий на настоящий: как я уже говорил, комплектация ее, не смотря на скромный по нынешним временам объем, вполне достаточна (особенно с учетом второго, дополнительного, диска). А далее – ничто не мешает наращивать систему обычными средствами – подбором и компиляцией недостающих приложений.
В общем, от dRock'а у меня остались противоречивые, но в целом приятные впечатления. Отсутствие контроля зависимостей можно объяснить идеологическими причинами: разработчики не без оснований полагают, что опытный пользователь справится с этой проблемой лучше, чем любая автоматика (не грустный ли пример Mandrake их на то вдохновил?). Ограниченность набора приложений также аргументирована Клиффордом: он включил в дистрибутив только то, что лично протестировал на работоспособность в своей системе. Конечно, есть явные недоработки – если уж берешься устанавливать национальные раскладки клавиатуры и, тем более, locale, то сам бог велел и об экранных шрифтах подумать. Ну и без просто ошибок не обошлось – типа отказа запускаться рекомендованного cfdisk, например.
Главное же – появление дистрибутивов типа RockLinux кажется мне отражением смены тенденций в дистрибутивостроении. Впрочем, к этому вопросу я планирую вернуться после рассмотрения некоторых классово близких систем, которые будут темой моей ближайшей заметки.
[1] Давеча, когда я впервые употребил этот термин (адекватно отражающий, как мне кажется, положение вещей), меня обвинили в изобретении неологизма. Так вот, термин этот был изобретен известным советским писателем эпохи позднего застоя и раннее перестроя. И даже вынесен им в заглавие одной из повестей… [обратно к тексту]
[2] Высказанного на страницах онлайновой Компьютерры. [обратно к тексту]
[3] К слову сказать, именно Клиффорд и употребил впервые обозначение – «дистрибутив, дружественный к администратору». [обратно к тексту]
[4] http://www.rocklinux.org [обратно к тексту]
[5] Даже из Американщины – мой друг Кирилл Крылов довольно долго пытался, по моей просьбе, качать его из Кремнеземистой (SiO2) Долины. [обратно к тексту]
[6] «Устал работать правой – работай левой», не зря название дистрибутива сразу вызвало у меня нездоровые ассоциации. [обратно к тексту]
[7] Вспоминается ответ велеречивых афинян на предложение Александра Филипповича Македонского считать его за сына Зевса. Как известно, Демосфен сказал, что в знак признания заслуг царя перед эллинами готов числить его сыном не только Зевса, но также и Посейдона. [обратно к тексту]
[8] Как – можно прочитать, например, у Владимира Попова. [обратно к тексту]