Мой почтовый ящик давно уже забрасывают письмами с просьбой посоветовать какой-нибудь маленький дистрибутив Linux (обычно указывалась цифра 300 Мб), при этом желательно посовременнее. Задачка, скажу вам, еще та. Можно, конечно, попробовать уместить тот же Red Hat 6 в такой обьем, но честно говоря, все rpm-based дистрибутивы со своим контролем зависимостей накидывают сколько ненужного, что одним советам по очистке места придется посвятить большую статью. О современности и функциональности и говорить незачем пробовали вы настроить dial-up в том же RH 6? Это подчас нелегкая задачка, не то что в последней восьмой версии, увидевшей свет 30 сентября. Но в любой ситуации есть выход, надо только не полениться и порыскать в Интернете.
Честно говоря, набирая в строке браузера http://www.linuxiso.org, я еще весьма смутно представлял себе цель моих поисков. Но либо красивое название привлекло мое внимание, либо магическая надпись «Today» напротив даты релиза, либо убывающая луна :-), либо все вместе в общем, я нажал именно эту ссылку. Итак, знакомьтесь: Lunar Linux 1 Dirty Bird, дата релиза 1 октября, официальный сайт http://www.lunar-linux.org. На сайте проекта вы найдете как сам дистрибутив, так и документацию, познакомитесь с историей его создания, можете поучавствовать в форуме. Дистрибутив доступен как в виде сжатого ISO-образа размером 89.3 Мб, так и в виде tar.gz-архива объемом чуть более 100 Мб (угадайте, что я выбрал). После распаковки получаем ISO-образ 213 Мб. А куда его девать, если нет пишущего привода? Есть вариант для тех, у кого есть Linux, пусть маленький. Создайте радел с файловой системой ext2 размером 300 Мб (это, как вы понимаете, мимниум), теперь смонтируем наш образ системы:
Зайдите в каталог /mnt/temp и посмотрите, есть ли там файлы. Если да, то продолжаем. Теперь давайте смонтируем раздел, предназначеный для lunar, и скопируем туда дистрибутив:
Создайте файл lilo.conf.lunar такого содержания:
Теперь вставьте дискету в дисковод и введите команду
Опция С указывает на используемый конфигурационный файл для установки lilo (linux loader). Теперь lilo установится на дискету, а ваш штатный загрузчик останется нетронутым. Теперь в смонтированом разделе найдите файл /etc/init.d/lunar и закомментируйте в нем вторую строчку, иначе будет удален конфигурационный файл. На СD-ROM это, как вы понимаете, сделать не получится. Файл /etc/init.d/lunar необходимо привести к следующему виду:
Все, теперь можно перезагружаться. Конечно, лучше, когда установка происходит с СD-ROM. Если перегнать образ на болванку, получится не только загрузочный диск, но и спасательный, который может помочь в случае неполадок в системе.
После традиционого приглашения в Lunar Linux вас попросят нажать клавишу для тестирования видеооборудования, после чего предложат ввести номер видеорежима, в котором будет осуществлятся дальнейшая установка. Я ввел 0903, что соответствует примерно 800х600. Затем появляется меню установки, которое явно сделано под влиянием программы sysinstall из мира демонов FreeBSD. Предлагаются на выбор четыре пункта. Первый (привожу в вольном переводе) «Загрузить модули» необходим для загрузки дополнительных модулей; посмотрите, может, найдете что-то знакомое. При настройке локальной сети компьютер все время зависал, пока я не загрузил в этом пункте соответствующий модуль ne2k-pci (если нет SCSI-устройств, то нечего их и включать). Ниже следуют предложения войти в shell и сменить корневой каталог; последний пункт меню приглашает заняться собственно установкой. Жмем.
Первый этап установка экранных шрифтов, выбора раскладки клавиатуры и установка локали (есть два варианта русской (чем именно они отличаются, не объясняют) и украинская). Дальше следует разбивка диска с помощью (на выбор) cfdisk, fdisk или parted. Если раздел уже есть, то все равно обязательно зайдите с помощью cfdisk и посмотрите на названия разделов: разделы нумеруются, как в традиционном Linux, но называются иначе, например, disk 6 вместо hda6.
После создания всех разделов следующим этапом будет монтирование, при этом можно изменить тип файловой системы. Доступны как традиционные ext2 и swap, так и журналируемые ext3, ReiserFS и, что интереснее всего, XFS. Первым должен быть смонтирван корневой раздел, затем все остальные; если на каком-либо есть информация, то на запрос, создавать ли на нем файловую систему, ответьте NO. Так я примонтировал раздел /home, который создал еще для Red Hat'a, и swap (для FAT-разделов пунктов нет), а потом автоматическое монтирование прописывал вручную в файле /etc/fstab. Определившись с пунктами разделов, выберите пункт Transfer Lunar. После этого будет создана файловая система (там, где было указано) со всеми разделами и скопируются (переместятся :-)) на диск файлы дистрибутива.
Вслед за установкой временного пояса (в списке указан и город Киев), нас ждет «то, о чем так долго говорили» оптимизация. Сначала предлагается на выбор GCC 2.x и GCC 3.x (используется самая новая на данный момент версия 3.2). Если у вас супер-пупер-современный Pentium или Athlon, то только GCC 3.2 сможет выжать из него все соки (точнее, мощь), а если что-нибудь (только не обижаетесь, у самого такой иначе никак не назвать) вроде абстрактного i686, i586 и т.д., то достаточно будет и второго GCC: ядро получится поменьше (а значит, пошустрее). У меня последующая компиляция нормально завершилась только при таком выборе.
Затем идет выбор платформ: кроме родной x86 имеются еще и Alpha, SPARC, PowerPC. Следующий пункт Basic Optimization позволяет выбрать пять уровней: None, Fast, Faster, Fastest и установленный по-умолчанию Small. Тут выбор определяется скромностью ваших запросов, но опасаться, впрочем, нечего если компиляция завершится с ошибкой, просто уменьшите уровень. А теперь если вы выбрали GCC 3.2, то вам будет доступен на выбор весь ряд процессоров от i386 до Pentum 4 и от K6 до Athlon XP. Выберите свой, не жадничайте если выберите более современный вариант, чем надо, то ядро просто не будет работать. Затем устанавливаются дополнительные флаги оптимизации, позволяющие добиться наибольшей скорости. И затем выбор дополнительных инструкций процессора от MMX до SSE. Здесь есть еще один пункт, называемый Altivec, встречающийся при установке дважды. Честно говоря, не знаю, что это такое если кто в курсе, пожалуйста, просветите. Затем, если хотите, дополнительно можно сконфигурировать ядро, после чего идет собственно компиляция.
Не знаю, что там на выходе, но просматривая сообщения, выводимые при компиляции, вместо ожидаемых -march=i686 (пункт, который я установил для своего Celeron 300A), я неизменно обнаруживал лишь -march=i386. Что очень даже ставит под сомнения эффективность предыдущих действий. После компиляции идет настройка LILO, по умолчанию устанавливаемого в загрузочный сектор корневого раздела системы; есть пункт, позволяющий установить его в MBR, есть также возможность выбрать GRUB. И, наконец, апогей установки настройка сетевых соединений: система распознала как сетевую карту, так и модем, для которого можно указать все необходимые данные для установления связи. Если все закончили, пора перезагружаться.
Ну что сказать Linux как Linux, консольный, правда. Как и ожидалось, в базовом наборе нет и намека на X-Window, нет даже Midnight Commander (это для меня не було сюрпризом на сайте он лежит на самом видном месте), есть только базовые консольные утилиты, позволяющие работать с архивами, текстовыми файлами (vi, pico), для работы с сетью (chat, pppd, есть и wget), языки програмирования (особенно порадовало наличие новой версии Perl 5.8.0); игр нет, музыку послушать тоже нечем. Все это хозяйство занимает 220 Мб и вполне достаточно для первоначального ознакомления с системой.
Но изюминку дистрибутива я нашел только тогда, когда перешел во вторую консоль. Там обратил внимание на приветсвие, в котором предлагалось для дальнейшей работы ознакомиться с man lunar, moonbase, lin и lrm. А я-то уж было думал просто компилировать предварительно скачанные пакеты. Так вот, утилита lunar позволяет в автоматическом режиме осуществлять установку пакетов (в том числе и пересборку всей системы), для чего желателен хороший доступ в Интернет, или же пакеты необходимо предварительно скачать и положить в каталог /var/spool/lunar. При этом исходники автоматически скачиваются с сайтов, указаных в конфигурационных файлах, распаковываются конфигурируются и устанавливаются. Rulez! Правда, времени этот процесс может занять достаточно. Но выгоды налицо наконец-то до Linux докатилось что-то наподобие портирования в FreeBSD. Сколько бы мне не говорили, что rpm лучше, не докажете ни за что!
Для установки и удаления пакетов есть в системе и отдельные утилиты, lin и lrm соответственно. И еще один примечательный момент: ядро в дистрибутиве (версия 2.4.19) от самого Линуса Торвальдса. Что, это не новость? Дело в том, что создатели дистрибутивов что-то там изменяют в ядрах, приспосабливая их под свои нужды, поэтому состав ядер того же Mandrake сильно отличается от состава тех, которые можно найти на ftp://ftp.kernel.org отсюда и головная боль при установке патчей. В Интернете, кстати, можно найти и нескольких производителей ядер пожалуй, наиболее известен из них Alan Cox.
Ну вот и все, что я хотел рассказать о лунном пингвине. Дистрибутив понравился, даже о недостатках писать не хочется. Оставлю, благо места много не требует. Пусть живет. Потихоньку доведу до ума на сайте производителя можно найти все необходимое; а может, и старые запасы пригодятся. Однако вот чудеса-то пингвины уже и до Луны добрались. Mac осваивает джунгли. А Windows где?