Приглашение к знакомству: Knoppix 3.1

Так называемые "Live-CD" - системы, загружаемые непосредственно с CD ROM и не использующие HDD, уже давно не редкость. Для линуксоидов - в особенности. В практически исчерпывающем обзоре таких Linux-реализаций перечислено 18 (!). Эти системы успешно выполняют специальные функции (аварийная загрузка, роутинг, доступ к Интернет, игра), но чтобы Live-CD мог продемонстрировать многие (только здравый смысл удерживает меня от использования определения "все") возможности Linux, да ещё практически неискушённому пользователю... не ожидал. И, тем не менее, должен признать, что Knoppix 3.1 делает это вполне успешно.

Судите сами: при загрузке Knoppix 3.1 (непосредственно с CD, разумеется) уже через минуту в распоряжении пользователя:

Думаете в этой "ипостаси" Linux перестал быть Linux-ом? Отнюдь. К услугам тех, кому это может пригодиться: apache, mysql, samba, vnc, nfsd, ftpd и прочие демоны, самостоятельные и "подчинённые" inetd (xinetd).

Изрядный набор средств программирования: gcc, Perl, PHP, Python, tcl/tk, java, плюс KDEdeveloper и QT Designer.

Эмулятор MS Windows Wine и эмулятор "в квадрате" bosh (эмулируется не среда, а архитектура x86, подрастающий конкурент отличного, но не бесплатного эмулятора VMWare).

Технические детали, порадующие специалистов: ядро 2.4.20-xfs. Разумеется, средства поддержки этой самой xfs и reiserfs. Почти легендарная система обновления и поддержки целостности apt. Достаточно, пожалуй. Стоит попробовать и, похоже, не только новичкам. Но начнём, всё-таки с них.

Для начала попробуем просто загрузиться с диска. Для компьютеров класса "-1" (один шаг назад от "переднего края") весьма вероятно, что всё произойдёт без участия пользователя. Система сама определяет состав оборудования и конфигурирует "под него" программное обеспечение. Не получилось? Сочувствую, но не всё потеряно. Тем более что времени на такую попытку уходит не более пяти минут, а драгоценный винчестер при этом и не затрагивался. Попробуем углубиться: в ответ на приглашение boot: нажимаем F2. Получаем список вариантов запуска. Вот что нам может потребоваться:

Если же "так таки и нету", то остаётся вспомнить о минимальных требованиях к аппаратной конфигурации:

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

Live-CD хорош, кроме прочего, тем, что "разрушить" ничего не удастся: с новой загрузкой всё начинается сначала. Разве что Knoppix записан на CD-RW, а экспериментировать захотелось именно с ПО записи на диск. Рано или поздно такая 100%-ная защита надоедает. Естественно. Как только упражнения с настройками (а именно с этого, как правило, начинается знакомство) приведут к результату, который радует, захочется его сохранить. И такая возможность есть. Найдите в меню позицию:

         KNOPPIX->System->SaveConfiguration
и она позволит сохранить на дискете с таким трудом полученные настройки. Теперь, если при загрузке добавить в командную строку параметр:
          floppyconfig
то результат сохранения будет к вашим услугам.

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


Присматриваемся...

А теперь посмотрим на Knoppix глазами "не новичка".

Загружаемый CD ROM сделан средствами syslinux. Резонно: "от добра добра не ищут". Для автозапуска предлагается просмотр index.html. Каталогов всего три:

Дальнейшее "расследование" предлагаю начать с создания загрузочной дискеты. Вообще-то такая дискета предназначена для использования с PC, не способным грузиться с CD ROM, но есть и побочные свойства, которые могут рассматриваться, как достоинства: возможность анализа предложений загрузки, создание собственных конфигураций... Ожидания меня не обманули: кроме текста сообщений начального и по F2, ядра vmlinuz и "сжатого" образа RAM-диска miniroot.gz, обнаруживается файл syslinux.cfg, который, как известно, и определяет выбор вариантов загрузки при использовании syslinux. Смотрим. Делаем выводы:

Поскольку ничего особенного в syslinux.cfg не обнаружилось, то ничто не мешает сделать загрузку knoppix одним из вариантов мультизагрузки. Или - нескольких. После переноса файлов logo.16, miniroot.gz и vmlinuz в каталог /knoppix, вносим следующие строчки в /boot/grub/menu.lst:

title knoppix CD text mode
root (hd0,4)
kernel /knoppix/vmlinuz lang=us init=/etc/init vga=788 2 noscsi nousb nomce
initrd=/knoppix/miniroot.gz

title knoppix CD X-Window
root (hd0,4)
kernel /knoppix/vmlinuz lang=us init=/etc/init vga=788 desktop=icewm xmodule=fbdev noscsi nomce
initrd=/knoppix/miniroot.gz

Разумеется, раздел, на котором расположен каталог /knoppix, разрешение экрана, window-manager, запрещение определения устройств определяются самостоятельно для каждого конкретного случая. Для LILO изменения lilo.conf аналогичны.

Если мультизагрузка в компьютере не применяется (что отнюдь не редкость у пользователей MS Windows), предлагаемый подход реализуется с использованием загружаемой дискеты с GRUB. В этом случае /boot/grub/menu.lst находится на дискете, а файлы knoppix - в каталоге /knoppix на любом из разделов FAT16/32. Для этой категории пользователей есть подходящая статья о мультизагрузке и образ дискеты с GRUB в формате MS DOS.

Комбинация применения GRUB или LILO и параметра floppyconfig в командной строке делает загрузку постепенно "подстраиваемого" knoppix практически такой же обычной, как загрузка систем "живущих" на HDD. Вот только скорость считывания с CD оставляет желать лучшего, и не все настройки отдельных программ сохраняются, как выяснилось на дискете... Следующим шагом, если желание сохранилось, будет перенос knoppix на HDD. Но, - следующим.


Если не надоело.

Предположим, что в течение недели вам не надоело тестировать возможности настройки и знакомиться с "завалами" программного обеспечения для Linux. Возможно даже, у вас сложилось мнение, что кое-какое ПО заслуживает того, что бы познакомиться с ним поближе. Так или иначе, если вы не отказались от интереса к Linux, то пора переносить Knoppix на HDD.

Какой бы способ переноса Knoppix на HDD вы не избрали (а таких, забегая вперёд, существует два) потребуется один, а лучше - два новых раздела. Не обязательно первичных - благо, не MS Windows... Создание этих разделов трудностей не вызовет, а вот освобождение свободного пространства под них - может. Вряд ли у вас на диске найдётся 2 - 2.5=Гб, не занятых никаким из разделов. Значит: придётся уменьшить один или несколько разделов существующих. Свободное (в смысле: не занятое файлами) пространство такого объёма для современных PC, скорее всего, не проблема, но требуется-то место не внутри раздела, а вне его. Средств, модифицирующих разделы, хватает:

Иллюстрация целесообразности знакомства со свободным ПО: из всех перечисленных средств только parted у вас наверняка есть (раз у вас есть Knoppix). А вот иллюстрация полезности Live-CD: в нынешнем мире всё-таки естественнее загрузиться с CD ROM, чем с дискеты. А загружаться, скорее всего, придётся: "по живому" разделы не изменяют.

Добившись наличия необходимого пространства, переходим к созданию разделов. Рекомендуется воспользоваться cfdisk из набора knoppix. Обязательно нужен один раздел размером не менее 1.7=Гб (больше - в зависимости от того, как далеко простирается ваш аппетит в отношении свободного места в этом разделе) типа Linux native (0x83). И желателен (для инсталляции в "виде Debian" - обязателен) раздел подкачки размером около 0.5=Гб типа Linux swap (0x82).

Теперь решаем, что предпочтительнее иметь: однопользовательскую систему, полностью аналогичную, уже привычному Live-CD (ни вопросов, ни паролей, ни администрирования, но и без сервисов, да и вообще без многого, что считается неотъемлемым атрибутом Linux), или "настоящую" Debian GNU/Linux (прародитель Knoppix), полнофункциональную, но и более требовательную к пользователю: хотите многого - научитесь выражать, что именно. Советы здесь не уместны. Даже уровень подготовки ничего не определяет. Guru может предпочесть первый вариант, если, например, предполагает на его основе создавать тот же Live-CD, а newbee предпочтёт второй, резонно решив, что это более естественный путь к цели (если таковая есть, разумеется). Так что описываем оба.

Прежде всего, нужно "представиться" системе, как root. Для этого достаточно перейти из графической среды на любую из текстовых консолей. Если вы ещё не заметили, то это выполняется нажатием Alt+Ctrl+F2 (F3, F4). Возврат в графическую среду - через Alt+F5. Быть может, в консольном режиме вам пригодится mc (MidNight Commander) - приблизительный аналог Norton Commander.

Для инсталляции системы "a la Live-CD" нужно:

Всё, однако... Такая система не знает паролей, максимально быстро загружается, "понимает" описанное выше конфигурирование посредством передаваемых ядру параметров... Одним словом, - knoppix: уже не Live-CD, но ещё не Debian.

Для инсталляции системы "a la Debian" нужно запустить скрипт /usr/local/sbin/knx-hdinstall. С одной стороны, этот скрипт автоматизирует инсталляцию, а с другой - приготовьтесь ответить на некоторые вопросы: добро пожаловать в мир Linux! Авторы предупреждают, что скрипт ещё "в стадии разработки", но если не требовать от него многого, то неожиданностей не будет. Во всяком случае, вы будете далеко не первым, кто этот скрипт использовал. Ответ на предложение создать загрузочную дискету оставляю на усмотрение пользователя, а вот от инсталляции LILO рекомендую отказаться: девяносто девять против одного, что Knoppix - не единственная система на вашем HDD. Поэтому лучше разобраться с GRUB или, "до времени" загружать Linux, используя дискету. Строки в /boot/grub/nenu.lst в данном случае будут выглядеть примерно так:

title Debian GNU/Linux, (hda6)
root (hd0,5)
kernel /boot/vmlinuz ro root=/dev/hda6 vga=792
Номер раздела, опять-таки, не всегда тот, что указан в примере.

Ну, а знакомство с Debian - длинная история. Торопиться не будем.


"К бочке мёда..."

Было бы наивно ожидать, что система, настраивающаяся за две минуты, а инсталлируемая за пятнадцать, без драйверов от производителей, перезагрузок и т.д. и т.п. одинаково хорошо будет работать на любом оборудовании. Не бывает. И практика это подтверждает. Заведомо не стоит рассчитывать на поддержку win-модемов и win-принтеров (хотя список принтеров, поддерживаемых cups (Common Unix Printer System) очень велик). Поддерживаются далеко не все сканеры, причём, хуже всего дела обстоят с популярными современными usb. В большинстве случаев, не "зазвучат" интегрированные звуковые карты современных motherboard's, причём, это - почти упрёк: если бы создатели дистрибутива ориентировались (в смысле audio) не на oss (Open Sound System), а на alsa (Advanced Linux Sound Architecture), то список поддерживаемых устройств был бы заметно шире. Цифровые видеокамеры и TV-тьюнеры поддерживаются, но за всем спектром появляющихся, как "грибы после дождя" устройств этого класса Linux-энтузиасты уследить не успевают, а производители учитывают существование Linux пока не все. Приблизительно такая же ситуация с "братьями меньшими": всевозможными Palm, Cassiopea и тому подобное. К сожалению, не всегда успешно преодолеваются видео-проблемы, хотя в этом плане у пользователя, по крайней мере, есть "пространство для манёвра", чего никак не скажешь о звуке. Сразу оговорюсь, что большинство этих проблем решаемы, но не автоконфигуратором knoppix, хотя он и заслуживает высокой оценки.

Безусловно, вы наткнётесь на ошибки в программном обеспечении. Их наличие обязательно сопутствует работе вычислительных систем и рассчитывать на то, что ошибок не будет в 1263-х пакетах (а именно столько входит в Knoppix 3.1), разрабатываемых совершенно разными людьми, часто не для Linux и не для IBM PC (в мире UNIX это - нормально), никак не приходится. Поражает количество пакетов? Лучше бы "меньше, да лучше"? Трудно возразить. Но и упрекнуть составителей дистрибутива - трудно. Задача анализа тысяч пакетов сотен разработчиков на порядок более трудоёмка, чем компоновка дистрибутива. Вот и предлагается пользователю самому разобраться, что лучше. Нет сомнений, что дистрибутив, лишённый такого "разнообразия" будет более конкурентоспособен в глазах win-пользователя, только не нужно думать, что программисты, пишущие для Linux, мечтают об увеличении количества продаж какого-то из дистрибутивов, отнюдь. А предпринимателя, способного побороться за этого самого win-пользователя, что-то пока не видно (бороться-то придётся с самой богатой корпорацией в мире).

Есть и более досадные "мелочи". Почему-то PS/2 мышь с "колёсиком" (протокол IMPS/2) не вошла в число возможных вариантов конфигурации X-Window, хотя мне она кажется одной из наиболее распространённых. Тем более обидно, что X-Window, разумеется, в поддержке этой мыши не отказала, просто настройки придётся менять вручную. Извечная трудность - кириллица. Не стоит задавать при запуске lang=ru, хотя такая возможность и существует. Прекрасно реализованная многоязыковая поддержка в KDE не означает, что так же себя поведут другие window-manager-ы и консоль. Поддержку кириллицы в KDE как раз лучше настроить самому, а для остальных оставить lang=us. Тогда icewm не "заговорит" иероглифами, а mc, "догадавшийся", что перед ним русскоязычный пользователь не "онемеет" вовсе, поскольку станет выводить сообщения на русском языке, шрифт для которого, как назло, не загружен. Вообще, на полное отсутствие трудностей с кириллицей можно рассчитывать только после того, как по дистрибутиву "пройдётся" отечественный разработчик. И Mozilla, и Open Office локализованы, как и многие другие продукты, и вполне могли бы составить свой, русскоязычный вариант дистрибутива: с соответствующей документацией, словарями и т.п. Свои ветки Red Hat и Mandrake у нас есть, даже - несколько. Быть может, очередь за Debian или Knoppix.