Так называемые "Live-CD" - системы, загружаемые непосредственно с CD ROM и не использующие HDD, уже давно не редкость. Для линуксоидов - в особенности. В практически исчерпывающем обзоре таких Linux-реализаций перечислено 18 (!). Эти системы успешно выполняют специальные функции (аварийная загрузка, роутинг, доступ к Интернет, игра), но чтобы Live-CD мог продемонстрировать многие (только здравый смысл удерживает меня от использования определения "все") возможности Linux, да ещё практически неискушённому пользователю... не ожидал. И, тем не менее, должен признать, что Knoppix 3.1 делает это вполне успешно.
Судите сами: при загрузке Knoppix 3.1 (непосредственно с CD, разумеется) уже через минуту в распоряжении пользователя:
- графическая среда с полнофункциональным OpenOffice;
- средства проигрывания (иногда - и редактирования) аудио и видео файлов;
- средства работы с графикой;
- всё, что связано с Интернет (просмотр и редактирование html-страниц, e-mail, ftp, chat);
- средства записи на 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. Получаем список вариантов запуска. Вот что нам может потребоваться:
- проверка диска: читается ли всё необходимое?
knoppix testcd
- после этого можно загрузиться в текстовом режиме. Я догадываюсь, что милая сердцу консоль не всех радует, но в порядке эксперимента:
knoppix 2
Если это удалось, то "бороться" предстоит с видеокартой, а если нет, то сообщения на экране должны помочь вам определить, при опросе какого оборудования происходит сбой. От опроса этого оборудования можно отказаться:knoppix noscsi nofirewire nopcmcia nousb noapic noapm nodma noagp
Оборудование, которого нет в компьютере, искать, конечно, не нужно, а вот отказ от dma или agp "не радует", но, скорее всего, до этого дело не дойдёт; - Отсутствие изображения говорит о том, что, возможно, knoppix требует от монитора слишком высокого разрешения. Пробуем:
knoppix screen=800x600
- или слишком велика вертикальная развёртка. Пробуем:
knoppix xvrefresh=60
- всё ещё отсутствующее изображение теперь говорит о том, что драйвер видеокарты, предлагаемый knoppix, не так хорош, как хотелось бы (или недостаточно хороша карта). Тогда можно попробовать рассматривать её как VESA-совместимую. Это будет справедливо для большинства современных видеокарт.
knoppix xmodule=fbdev
или:fb1024x768 xmodule=fbdev
Вместо 1024x768 может быть 800х600 или 1280х1024. Вниманию владельцев ноутбуков и LCD-мониторов: всегда указывайте рекомендуемое производителем разрешение.
Если же "так таки и нету", то остаётся вспомнить о минимальных требованиях к аппаратной конфигурации:
- если в компьютере менее 64М памяти, не стоит требовать графической среды. И не так уж Linux требователен, но, в данном случае, память заменяет винчестер, если вы сами ещё об этом не догадались, "тут уж - что уж";
- если есть именно 64М памяти, то KDE (а именно эта графическая оболочка загружается по умолчанию) всё равно работать не будет. Для неё требуется минимум - 96М. К счастью, кроме KDE в knoppix есть ещё gnome, fluxbox, icewm, larswm, twm, wmaker и xfce. Эти все к памяти менее требовательны и запустить, например:
knoppix desktop=icewm
ничто не помешает. Только не нужно ожидать, что "лёгкая" оболочка будет выглядеть как Windows ME.
Во всех примерах команда - только первая лексема, все последующие - параметры, которых в строке может присутствовать сколько угодно. Надеюсь, какая-то из комбинаций, в конце концов, привела к успеху. Запишите её, пока не научились автоматизировать процесс загрузки. И - приглашаем к знакомству.
Live-CD хорош, кроме прочего, тем, что "разрушить" ничего не удастся: с новой загрузкой всё начинается сначала. Разве что Knoppix записан на CD-RW, а экспериментировать захотелось именно с ПО записи на диск. Рано или поздно такая 100%-ная защита надоедает. Естественно. Как только упражнения с настройками (а именно с этого, как правило, начинается знакомство) приведут к результату, который радует, захочется его сохранить. И такая возможность есть. Найдите в меню позицию:
KNOPPIX->System->SaveConfigurationи она позволит сохранить на дискете с таким трудом полученные настройки. Теперь, если при загрузке добавить в командную строку параметр:
floppyconfigто результат сохранения будет к вашим услугам.
Дальнейшее определяется тем, понравился вам Linux, или нет. Если нет - кроме времени ничего не потеряно, а если да, то стоит поговорить о том, как автоматизировать загрузку, и, может быть, перенести Knoppix на HDD.
Присматриваемся...
А теперь посмотрим на Knoppix глазами "не новичка".
Загружаемый CD ROM сделан средствами syslinux. Резонно: "от добра добра не ищут". Для автозапуска предлагается просмотр index.html. Каталогов всего три:
- /Demos/Audio с тремя симпатичными композициями в формате OggVorbis;
- /Talks с четырьмя очень нужными, наверное, документами в формате pdf. К сожалению - на немецком языке;
- и, собственно, /KNOPPIX с:
- кратким описанием и столь же кратким FAQ на нескольких языках (русского - не искать);
- таким же кратким, но уже более информативным knoppix-cheatcodes.txt;
- образами загрузочных дискет и средством их создания для DOS - rawrite2.exe;
- соображениями по безопасности README_Security.txt;
- и, наконец, файлом с оригинальным именем knoppix размером в 700Мб, в котором, надо полагать, всё остальное и хранится.
Дальнейшее "расследование" предлагаю начать с создания загрузочной дискеты. Вообще-то такая дискета предназначена для использования с PC, не способным грузиться с CD ROM, но есть и побочные свойства, которые могут рассматриваться, как достоинства: возможность анализа предложений загрузки, создание собственных конфигураций... Ожидания меня не обманули: кроме текста сообщений начального и по F2, ядра vmlinuz и "сжатого" образа RAM-диска miniroot.gz, обнаруживается файл syslinux.cfg, который, как известно, и определяет выбор вариантов загрузки при использовании syslinux. Смотрим. Делаем выводы:
- первоначально загружаемое ядро во всех случаях vmlinuz;
- RAM-диск - всегда miniroot.gz;
- вариантов загрузки семь: knoppix, knoppix-txt, fb12080x1024, fb1024x768, fb800x600, failsafe, expert. Для всех, кроме последнего, параметр BOOT_IMAGE имеет значение - knoppix. Более того, это значение параметра - является значением по умолчанию. То есть, если его не указывать, то BOOT_IMAGE будет равно knoppix и только если потребуется режим expert, нужно явно указать: BOOT_IMAGE=expert. Сами авторы характеризуют режим expert как нестабильный, а я так вообще сомневаюсь в его целесообразности. Судите сами: предложение загрузить дополнительные модули с дискеты или вручную сконфигурировать X-Window новичком, скорее всего, будет расценено как насмешка, а линуксоид со стажем не должен полагаться на автоконфигуратор. Отличия же между первыми шестью вариантами сводятся к следующему:
- во всех вариантах, кроме knoppix-txt и failsave используется режим framebuffer (vga=NNN) и только для первых двух vga=normal;
- вариант failsafe отличается, кроме этого, передачей ядру параметров, запрещающих определение оборудования: noscsi nodma noapm nousb nopcmcia nofirewire noagp, и "принудительным" назначением драйвера для X-Window (xmodule=vesa);
- варианты fbMMMxNNN отличаются тем, что задают разное разрешение экрана (vga= 788, 791 или 794 для 800x600, 1024x768 и 1280x1024, соответственно) и также "принудительно" назначают драйвер видео (xmodule=fbdev). Обратите внимание: в остальных вариантах используется разрешение 1024x768 (vga=791) и всегда предполагается работа с 16-битным цветом, что иногда может быть причиной проблем: не все ноутбуки, скажем, обеспечивают разрешение 1024x768 и не все "пожилые" видеокарты могут воспроизводить при таком разрешении 16-битный цвет. И - наоборот: если предполагается смотреть в консольном режиме графику и видео (не удивляйтесь: консольный mplayer ничуть не хуже xine (если не лучше), не говоря уж о MS Media Player), то лучше перейти на 32-битный цвет (789, 792 и 795 соответственно);
- язык, вопреки предупреждению на экране, задаётся во всех случаях английский;
- параметр ramdisk_size смело можно опустить: всё равно объём виртуального диска изменяется динамически;
- устраненние параметра init=/etc/init всего лишь лишит вас выдвигания лотка с диском при закрытии сессии;
- присвоение ide-устройствам псевдонимов scsi также можно опустить, если диски вашего PC не scsi;
- параметр quiet делает загрузку менее словоохотливой: ближе к MS Windows, так сказать. И почему небо в облаках представляется некоторым более информативным, чем протокол загрузки? Впрочем, дело вкуса...
Поскольку ничего особенного в 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;
- win-пользователи должны знать PartitionMagic, которым тоже можно воспользоваться, слегка "закрыв глаза" на его не бесплатность;
- мультизагрузчик Acronix, по слухам, также умеет оперировать разделами.
Иллюстрация целесообразности знакомства со свободным ПО: из всех перечисленных средств только 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" нужно:
- на созданном разделе создать файловую систему. Например, ext2 (с другими могут потребоваться дополнительные операции: пока - опустим):
mke2fs /dev/hda6
Раздел, разумеется, нужно указывать тот, который был создан; - создать каталог, к которому новый раздел будет монтироваться. Например:
mkdir /mnt/new
- монтировать созданный раздел:
mount /dev/hda6 /mnt/new
- переписать в него всё содержимое каталога /KNOPPIX:
cp -a /KNOPPIX/* /mnt/new
- переписать файл /etc/fstab в соответствующий каталог нового раздела:
cp /etc/fstab /mnt/new/etc/
- отредактировать файл /mnt/new/etc/fstab: поставить первой строку монтирования корневого каталога вновь созданной файловой системы, например:
/dev/hda6 / ext2 defaults 0 1
и удалить строку монтирования того же раздела, если она есть в fstab; - создать домашний каталог пользователя knoppix:
mkdir /mnt/new/home/knoppix
- и сделать его владельцем knoppix, а не root, которым вы в настоящий момент являетесь:
chown knoppix.knoppix /mnt/new/home/knoppix
- отредактировать /boot/grub/menu.lst, независимо от того, установлен GRUB на HDD или используется его загрузочная дискета. Команда root должна указывать на вновь созданный раздел, где находится файл vmlinuz, а команда kernel должна теперь, кроме всего прочего, указывать раздел, где, собственно, и находится knoppix. Для этого существует параметр root=/hda6. Номер раздела, опять таки, нужно указывать свой, в не указанный в примере. Например:
title Single-user knoppix, X-Window, (hda7) root (hd0,6) kernel /boot/vmlinuz lang=us root=/dev/hda7 vga=792 quiet
Всё, однако... Такая система не знает паролей, максимально быстро загружается, "понимает" описанное выше конфигурирование посредством передаваемых ядру параметров... Одним словом, - 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.