CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2003 ГОД

Каждому свой крест

Сергей ЯРЕМЧУК grinder@ua.fm

Хорошо живется нашему брату линуксоиду. Дистрибутивов в природе много, не нравится один — пожалуйста, всегда есть из чего выбирать. Не нравится любой из имеющихся — тоже не беда, наличие свободно доступного кода любого из компонентов системы, подробного руководства по созданию своего дистрибутива Linux From Scratch (http://www.linuxfromscratch.org, русский перевод на http://multilinux.sakh.com/lfs) позволяет создать дистрибутив сообразно своему видению и представлению о том, каким он должен быть. После этого, правда, уже некого будет ругать за неудобство программы установки, за базовый состав программ. Все в ваших руках.И что самое интересное, создают ведь. На таких сайтах как http://www.linux.org/distи DistroWatch (http://www.distrowatch.com) ссылки на новые дистрибутивы появляются чуть ли не каждую неделю. Уследить за этим процессом, по-моему, — дело совершенно бесполезное. Вот так и мне как-то попалось сообщение о новом проекте, особенностью которого была система портов, аналогичная FreeBSD, но зайдя на сайт, я увидел, что номер версии еще далек от релиза, и решил подождать. И дождался таки. В декабре прошедшего года наконец вышла версия 1. Итак, встречайте CRUX.

Легкий i686-оптимизированный дистрибутив, рассчитанный на подготовленного пользователя (Power user). Да и названьице подобрано с явным умыслом, чтобы всем было ясно, для кого он предназначен. Разработчикам, наверное, надоели переполненные в большинстве своем ненужными пакетами дистрибутивы, и они пошли по проторенной Unix дорожке. KISS (keep it simple stupid) — таков девиз UNIX, таков же девиз CRUX. Простота достигается удобной системой, базирующейся на tar.gz-пакетах, BSD-стилем загрузочных скриптов и небольшим количеством первоначально устанавливаемых приложений. В итоге вместе с системой X-Window можно запросто уложиться в 500 Мб (и даже меньше), причем это будет самая современная система, а не какой-нибудь RH 6. Итак, кто не испугался, вперед… На сайт проекта http://crux.nu. Там с радостью узнаем, что для пользователей более слабых i586-совместимых тоже не все потеряно — найдется версия и для их компьютеров. Только внимательно смотрите, что скачиваете. ISO-образ занимает 188 Мб, для модема, конечно, многовато, но через выделенку 256 кб/с с утра в воскресенье, когда каналы еще разгружены, за четыре часа он перебрался ко мне на винт. Дополнительно советую также скачать CRUX Handbook, там найдете ответы на множество вопросов, возникающих на первоначальном этапе ознакомления с этой системой.

Для начала проверим образ на успешность загрузки с помощью контрольной суммы, при наличии такой возможности, конечно:

Сравним ее с написанной в файле crux-1.0.md5sum, лежащим тут же на сайте. Тем самым мы получаем гарантию, что образ загружен нормально и что никто не подменил его на сайте (вообще, сравнение контрольной суммы должно войти в привычку). Далее записываем образ на диск, благо проблем с этим сейчас нет, вставляем его в CD-ROM и перезагружаем компьютер, не забыв изменить соответствующие настройки BIOS. Желательно также установить BIOS Virus Protection в DISABLED, иначе могут возникнуть проблемы при записи новой таблицы разделов на диск. Появляется заставка с белесой надписью CRUX и приглашение к загрузке boot:. Написано, что для справки можно нажать F1 — можете не тратить время, там ничего пока интересного нет. Просто жмем Enter и ждем, пока загрузится ядро. После чего нас просят ввести логин, набираем root и без пароля попадаем прямиком в shell. Так что любители графических установок здесь отдыхают — никакого интерфейса, за исключением командной строки (правда, полноценного bash, с историей команд, автодополнением и прочими приятностями), в том числе и программы установки, как в Lunar Linux, не предусмотрено. Но не все так мрачно. У меня весь процесс установки занял времени не более 30 мин. Параллельно доступно еще 6 виртуальных консолей, так что жить можно. На второй консоли, куда переходим по Alt+F2, вводим:

И сверяем свои дальнейшие шаги по этому документу. Далее нам предлагается вручную создать необходимые разделы и файловые системы на них. В ядре системы реализована поддержка файловой системы управления устройствами devfs; все обозначения дисковых разделов в CRUX приняты исходя из этого. В указанном файле install.txt предлагается ввести команду

и далее работать с этой программой. Попробовал ввести

Знаете, получилось — так что кто с первой не дружит, можете создавать разделы в более понятной среде (GNU/parted нет). Под систему желательно отвести с учетом будущего расширения хотя бы 1 Гб, но можно вложиться, в зависимости от выбранных в дальнейшем программ, и в 200 Мб. Следующим шагом будет создание файловых систем на только что созданных разделах. Для корневого раздела создатели CRUX рекомендуют ReiserFS, я также придерживаюсь этого мнения. Поэтому набираем:

И для создания своп-раздела, если его еще нет на диске:

Сразу же активизируем своп-раздел:

Монтируем созданный раздел под корневую систему:

Если дополнительно были созданы разделы для каталога /home и других, то поступаем аналогично:

После того как созданы все необходимые разделы будущей системы и примонтированы каждый в свое место, приступаем собственно к установке. Для этого набираем Setup. После чего появляется заставка с двумя пунктами: начать новую CRUX-инсталляцию и проапгрейдить имеющуюся систему. Выбираем нужное и дальше указываем точку монтирования созданной корневой системы. По умолчанию предлагается /mnt. Приступаем к выбору пакетов для установки. Все они разделены на две группы: base — рекомендуется установить все пакеты из этой группы; и opt — как следует из названия, опциональные пакеты, куда входят X-Windows и необязательные прочие программы. При этом на данный момент не реализовано никакой проверки зависимостей, но с другой стороны, вам и не навалят то, что не просили. Далее идет непосредственно установка пакетов, которая на моем слабеньком компьютере не превысила 20 минут. Теперь, для того чтобы созданные файловые системы автоматически загружались при старте, необходимо подправить файл /mnt/etc/fstab. Для этого в системе есть vi и более понятный для новичка pico. Вызываем файл на редактирование:

Хочется отметить, что разразработчики не стали усложнять жизнь, а заготовили шаблоны. Например:

Причем, такие строки существуют для всех поддерживаемых ядром файловых систем. Остается только раскомментировать нужную строку, и вместо #REISERFS_ROOT# вписать нужный раздел. Теперь пришла пора рассказать, что же за файловые системы поддерживает дистрибутив. Кроме уже упомянутой Reiser FS и традиционных ext2fs/ext3fs, vfat, iso9660 (ФС CD-ROM), ядро поддерживает еще и JFS, а также tmpfs, которую предлагается монтировать либо в /tmp, либо в /dev/shm (я выбрал первый вариант — так легче избавляться от временных файлов), и, конечно же, UDF (Universal Disk Format) — файловая система, применяемая в DVD-дисках и позволяющая использовать CD-R и CD-RW диски как обыкновенную дискету. Дополнительно на сайте уже появилась информация о поддержке XFS, так что выбирать есть из чего. После того как все необходимые разделы будут прописаны, нажимаем Ctrl+X для выхода и соглашаемся с тем, что файл нужно сохранить. Следующим шагом будет редактирование /mnt/etc/rc.conf, в котором необходимо указать клавиатурную раскладку (можно посмотреть имеющиеся в /mnt/usr/share/kbd/keymaps/i386/qwerty), установить часовой пояс (/mnt/usr/share/zoneinfo/) и указать автоматически запускающиеся при старте системы сервисы. У меня он получился такой.

Обратите внимание на строку SERVICES, в которой просто перечислены сервисы, которые необходимо автоматически запустить при старте системы; все имеющиеся на данный момент можно найти в /mnt/etc/rc.d/. Далее рекомендуется подправить /mnt/etc/rc.d/net, /mnt/etc/hosts и /mnt/etc/resolv.conf для настройки сетевых соединений, но я думаю, пока этот этап можно пропустить. В принципе, на этом можно было установку и закончить, если бы не одно маленькое «но». Все, чем мы занимались до этого, особых проблем для новичка не представляет. Наибольший же страх в Linux всегда вызывала... компиляция ядра. Если внимательно посмотреть в каталог /boot, то обнаруживается, что там совершенно пусто. Итак, вперед к кошмарам!

Сначала перезагружаемся и загружаемся опять с CD-ROM, но теперь при приглашении boot: вводим CRUX root=/dev/discs/disc?/part?, чтобы смонтировать созданный раздел как корневой. Внимательно просмотрите сообщения об ошибках, обращая внимание на монтируемые файловые системы. Далее обычная :-) сборка ядра. Переходим в /usr/src/linux-2.4.20 и последовательно выполняем команды:

Здесь необходимо для включения поддержки devfs в ядре обязательно включить опции в

А также в

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

Копируем ядро на положенное ему место:

И если собиралось модульное ядро, то дополнительно вводим:

Если не было никаких сообщений об ошибках, то правим файл /etc/lilo.conf, для загрузки ядра устанавливаем lilo-v и перезагружаемся уже в нормальном режиме, т.е. с жесткого диска. Ждать, когда на моем компьютере скомпилируется ядро, совершенно нет мочи. Поэтому я обычно компилирую их на ночь глядя, записываю все команды, включая копирование, в файл, добавляю /sbin/shutdown -h now, делаю его исполняемым (chmod +x) и запускаю на выполнение. С утра загружаюсь уже с новым ядром.

Самое время рассказать, что же нам предлагают из компонентов:

ядро Linux 2.4.20;

GNU C Library 2.3.1;

GCC 3.2.1;

Binutils 2.13.1;

Perl 5.8;

XFree86 4.2.1;

Sendmail 8.12.6;

OpenSSH 3.4;

Vim 6.1;

оконный менеджер WindowMaker 0.80.2.

Есть и XMMS, Mozzila 1.2 и консольные утилиты для работы с CD-R дисками, но удивило отсутствие консольных браузеров Links или хотя бы Lynx — может, графический режим считается создателями основной рабочей средой? Но как видите, все самое свежее — для этого, собственно говоря, CRUX и создавался, чтобы всегда держать систему в самом современном состоянии. Нашелся в коллекции устанавливаемых утилит и забавный скрипт, называемый rpm2targz, предназначенный для распаковки rpm-пакетов в архивы (работает — аж шуршит). Я даже скопировал его вместе с необходимой для работы библиотекой, находящейся в каталоге /usr/lib/rpm2targz, в мой дежурный Red Hat, изменив при этом пути в самом скрипте, чтобы положить в /usr/local/lib.

Теперь можно заняться установкой пароля, завести пользователя, под которым будем работать постоянно, а также озаботиться настройкой сети и X-Window. Для настройки X-Window достаем документы с характеристиками монитора и вводим xf86config для запуска программы или xf86cfg для настройки с помощью графической программы (если получится). Несколько огорчает, что нет русской и украинской локали — конечно, и соответствующих шрифтов также нет, так что впору доставать FAQ’и конца прошлого столетия, там подробно написано, как локализовать дистрибутив (посмотрите на http://www.sensi.org/~ak/linuxfaq/rulinux.faq.html). По умолчанию стартует twm; чтобы сменить его на более удобный WindowMaker, самым простым вариантом будет Таблица 1заменить в файле /etc/X11/xinit/xinitrc соответствующую строку (twm -> wmaker).

Как я говорил, в дистрибутиве применен более BSD’шный стиль загрузочных скриптов. И действительно, посмотрев в файл /etc/inittab, обнаруживаем, что уровни запуска совсем другие, чем в тех же Red-Hat based дистрибутивах (см. Табл. 1). Как видите, запустить автоматически стандартным путем не получится, а запускать напрямую xdm (сервис, предназначенный для регистрации пользователя в графическом режиме) значит лишить себя возможности перейти в другую консоль, если с X-Window что-то не так (такая вероятность все же существует). Но чтобы такой режим вообще не был предусмотрен, мне не верилось. В каталоге /etc/rc.d/ обнаружился забавный скрипт xdm, который и управляет загрузкой данного сервиса. Так что добавляем в файле /mnt/etc/rc.conf в переменную SERVICES значение xdm и радуемся автоматической загрузке X-Window.

Отдельно хочу пару слов замолвить о системе портов и пакаджей, применяемой в CRUX. Устанавливаются порты так же, как и во FreeBSD —$ pkgadd хmms-1.2.7-1.pkg.tar.gz, при этом предварительно скачанный с сайта порт установится, дополнительно при этом будет произведена проверка зависимостей. Если пакет уже установлен, но требуется обновить его, то, набрав $ pkgadd -u package_name, избежим сообщения о том, что пакет уже установлен. Причем, чтобы предотвратить модификацию некоторых важных для системы каталогом и файлов в /etc/pkgadd.conf, описываются правила. Например, строки:

Заставят pkgadd никогда не модифицировать что-либо в /etc/ (включая подкаталоги), кроме файлов в /etc/X11/, если это не файл /etc/X11/XF86Config. При этом более поздняя запись имеет больший приоритет при запросе. Удалить пакет также просто: $ pkgrm bash — и его как не бывало. Узнать информацию об установленных пакаджах можно, набрав $ pkginfo -i, или, если нужен какой-то определенный, то $ pkginfo -l bash. Используя pkgmk, можно собрать пакаджи самому. И наконец, система портов, позволяющая собирать пакеты программы самому (при условии, что она установлена и находится в /opt). Правда, здесь понятие порта немного отличается от принятого во FreeBSD. Под портом понимается CVS-архив программ (ftp://cvsup.fukt.bth.seпо умолчанию) и клиентская программа, способная загрузить их оттуда. Для начала обновляем дерево портов.

С помощью ports -d сверяем версии программ, установленных в системе и имеющихся в обновленной коллекции.

Например:

В этом случае можно ничего не делать — у вас самые свежие утилиты. Иначе, если найдено расхождение, то вводим:

После чего загружается указанная программа с узла, указанного в Pkgfile, далее формируется пакет и теперь осталось, используя pkgadd, установить или обновить пакет. Хотя все это можно сделать за один шаг:

для установки или

для обновления имеющегося в системе.

Если процессор помощнее i686, то настоятельно советую заглянуть в файл /etc/pkgmk.conf; там найдете такие строки:

Замените значение переменных на требуемые, иначе все программы будут собираться под данный процессор, и о никакой оптимизации речи не будет.

Итак, найдет ли CRUX своего пользователя. Несомненно. Те, кто устал от всенастроености или хочет разобраться во всем с самого начала или просто иметь чистую систему без лишних невесть откуда взявшихся приложений, кто не хочет блуждать в дебрях каталогов, а хочет иметь простую и понятную файловую систему, кто сам привык разыскивать программы в Интернете, кто уже во всем для себя разобрался, кто использует десяток другой утилит, за развитием которых следит постоянно, кто хочет всегда иметь самую современную систему, оптимизированную под свое оборудование… Короче, все они найдут CRUX очень удобным инструментом. К тому же, исходя из опыта могу сказать, что Linux вообще-то устанавливается только один раз, остальное время он просто обновляется. В данном случае имеются все для этого. И еще один момент, о котором я как-то раньше и не думал — дистрибутив до того прост по своей структуре, что, используя его как основу, можно запросто создать свой локализованный CRUX. Жаль только, для этого нужен нормальный быстрый канал.

Linux forever!

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov