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 ГОД

Frenzy LiveCD. Записки разработчика

Сергей МОЖАЙСКИЙ

От редакции: Удивительно, но факт. Не успели мы запустить в производственный процесс статью Сергея А. ЯРЕМЧУКА «Из грязи во фрязи» (МК № 50 (273)) о дистрибутиве Frenzy, как совершенно случайно к нам пришла статья от его создателя Сергея МОЖАЙСКОГО. В ней автор рассказывает об идее создания проекта и его функциональных возможностях. Не пустить такой материал в печать, на наш взгляд, было бы большой ошибкой, ведь не так часто удается выйти на прямой контакт с разработчиком. Интерес к теме подогревает и то, что Frenzy пополняет список отечественных дистрибутивов FreeBSD. Но поскольку мы совершенно на рассчитывали на данный материал, он местами может перекликаться со статьей Сергея А. ЯРЕМЧУКА — тем интереснее будет читателю сравнить взгляды на один и тот же продукт его создателя и независимого пользователя.

С чего все начиналось

Мысль о создании собственного LiveCD именно на базе FreeBSD возникла у меня достаточно давно. Дистрибутивы на базе Linux (в частности Blin) меня не во всем устраивали, поскольку я привык работать именно с FreeBSD, и самостоятельное создание нового линуксового дистрибутива — сложное занятие для фришника (впрочем, верно и обратное :-)).

Останавливали меня две вещи. Первое — мне хотелось уменьшить размер системы до минимума и уместить ее на 3-дюймовый CD (чтобы удобнее было с собой носить), а как это сделать с FreeBSD, я не знал. Второй задачей было создание загрузочного CD, но этот вопрос слабо документирован, а анализ Makefile'ов так и не дал результатов.

Но произошло событие, которое стало толчком к созданию Frenzy. В конце июля я прочел статью, в которой ее автор рассказывал как ему удалось уместить FreeBSD в 20 мегабайт. Попробовал сам — получилось. Первое препятствие было преодолено.

Следующей задачей было сделать загрузку с CD. После долгой борьбы с конфигами (корневая файловая система упорно желала монтироваться с винчестера) это тоже удалось. Попутно узнал, что есть аналогичные проекты, более того, они есть в портах FreeBSD. Дальнейшая работа заключалась в правке загрузочных скриптов (очень помогли материалы проекта FreeSBIE) и уменьшении размеров пакаджей (XFree удалось урезать до 30 Мб).

Почему система была названа Frenzy? Ну, во-первых, название созвучно с FreeBSD. Кроме того, поначалу это действительно была безумная идея (frenzy idea), ведь LiveCD-дистрибутивы в основном делаются на базе Linux :-).

Изначально я не планировал распространять получившуюся систему. Однако результат показался довольно удачным не только мне, поэтому 5 августа я все же объявил выход Frenzy 0.1. Анонс появился на nixp.ru, через пару дней об этом написали на opennet.ru. Пошли первые письма и добавления в список контактов ICQ.

Frenzy вышла в свет

Итак, прочитав о возможностях Frenzy, люди, естественно, желали опробовать ее в работе. Увы, все, что я смог сделать на тот момент — выложить сборочные скрипты, поскольку неожиданно для меня возникла проблема с размещением iso-имиджа. Как выяснилось, 60 мегабайт (именно столько весит iso-имидж Frenzy, упакованный bzip2) — довольно большой трафик для нашего города... Договориться о временном размещении или даже однократной закачке файла удалось не сразу. И вот 8 августа исошник разошелся по нескольким FTP-серверам, предоставленным добровольцами. Началось :-).

После того, как сама Frenzy и информация о ней распространилась по Сети, мне оставалось ждать отзывов и смотреть за реакцией интернет-сообщества.

Отзывы были самыми разными. В первой версии, конечно, не обошлось без багов. Проблемы возникали с устройствами, поддержку которых мне негде было проверить (USB-мыши, wavelan). Многострадальный скрипт автомонтирования переписывался несколько раз из-за ошибок в работе с extended-разделами. Однако благодаря помощи пользователей системы баги удалось найти и устранить. На основе пожеланий пользователей в версии 0.2 был изменен список программ — я далеко не «мастер не все руки» и о существовании некоторых интересных программ просто не знал.

Новости о Frenzy появлялись на разных ресурсах, ссылки на мой сайт я находил в разных форумах и обсуждениях статей. Был весьма удивлен, увидев инфу о Frenzy на молдавском новостном сайте о Linux, но это не идет ни в какое сравнение с шоком, который я испытал при виде нескольких строчек на словацком сайте, посвященном FreeBSD: «Поскольку описания на английском языке я не нашел, а русский язык я учил очень давно в школе, смотрите сами — скачайте Frenzy тут» :-).

Что может Frenzy

Итак, что же можно сделать с помощью этого «инструмента системного администратора»? Начнем с того, что это полноценная операционная система, в которой вполне можно работать в случае, если с винчестера компьютер не загружается. С помощью Frenzy можно быстро превратить компьютер в тестовый маршрутизатор, файерволл, NAT, DNS, NFS-сервер. Можно работать не только с локальными, но и с сетевыми дисками NFS или SMB.

Имеется набор распространенных архиваторов (rar, zip, cabextract, unace). Для работы с DOS-дискетами без предварительного монтирования можно использовать пакет mtools и графический файловый менеджер MToolsFM. В системе имеются различные текстовые редакторы, в том числе ViM и biew, последний является к тому же шестнадцатеричным редактором и дизассемблером.

И какой же Unix без интернета? В качестве графического браузера предлагается Опера (она была выбрана в первую очередь из-за своего сравнительно небольшого размера), есть и текстовые браузеры lynx и links. Есть программы для работы с почтой и Usenet, общения в ICQ и IRC.

Мониторинг загрузки системы можно вести с помощью gkrellm. Утилиты disktype и gpart помогут в поиске «пропавших» разделов диска, а для восстановления данных могут пригодиться fatback (для FAT) и ffsrecov (для FFS, файловой системы FreeBSD). Кроме того, данные на дисках можно проверить с помощью антивирусной программы Drweb версии 4.30. А если вы подозреваете наличие rootkits — «закладок» в вашей UNIX-системе, проверить это можно с помощью chkrootkit и cops.

Из программ удаленного администрирования в наличии есть rdesktop для подключения к Windows Terminal Server и tightVNC — улучшенный вариант известной мультиплатформенной программы удаленного управления ПК.

Конечно же, не обошлось без программ для проверки безопасности сети. Присутствуют Nessus, nmap, snort и множество других, менее известных, но не менее полезных программ.

Процесс разработки

Создание первой версии Frenzy было достаточно сложным процессом. Я не пытался сразу добиться полностью автоматического рабочего процесса, поэтому «скомпилировать ядро и положить сюда, а модули скопировать туда», «руками разобрать пакадж и добавить симлинки» — это были еще самые простые задачи при создании релиза :-).

Я работал над Frenzy несколько иначе, чем это принято в аналогичных проектах — при сборке использовалась готовая установленная FreeBSD. Это не лучший путь, но по крайней мере он довольно быстрый (iso-имидж собирается за 5-7 минут). Тестовые сборки отлаживалась в VMware, после чего рабочая сборка (билд) записывалась на CD и проходила «боевое крещение» на реальных компьютерах.

Главной особенностью системы — уменьшенный размер пакетов. В Frenzy версии 0.1 эту операцию я проводил вручную, и ее описание достойно отдельной статьи :-). Но при сборке второй версии, прикинув объем работы, я все же решил автоматизировать этот процесс. Для сборки теперь используются стандартные пакаджи FreeBSD, с которыми после установки производятся следующие операции.

1. Использование утилиты strip для всех динамических библиотек и удаление статических библиотек.

2. Удаление неиспользуемых локализаций программ в соответствии со списком (зачем нам X-Chat на китайском или французском языке в русскоязычной системе?).

3. Удаление include-файлов, info-файлов (все man-страницы остались).

4. Применение индивидуальных патчей для некоторых пакетов. Например, удалив модули поддержки DRI из XFree, я сэкономил 14 Мб.

Благодаря всем этим действиям удалось уменьшить размер Frenzy с 330 до 196 мегабайт.

Правда, не все пакаджи так просто стали работать на read-only файловой системе. Дольше всего я боролся с drweb и nessus (сканер безопасности). Они упорно пытались записывать данные в те области файловой системы, куда на компакте записывать нельзя. Специально для них пришлось создавать хитрую структуру симлинков в /var.

Конечно же, для Frenzy пришлось написать несколько дополнительных скриптов для загрузки и конфигурации. При загрузке автоматически монтируются разделы жесткого диска, восстанавливается сохраненная конфигурация с дискеты, автоматически определяется тип мыши. X Window при первом запуске настраивается автоматически. Для упрощения настройки локальной сети и PPP-соединения тоже были написаны диалоговые скрипты. И наконец, для версии 0.2 наконец-то была написана краткая документация.

Будущее системы

Естественно, прогресс не стоит на месте, и система продолжает развиваться. Конечно же, следующие версии Frenzy будут уже на базе FreeBSD 5 (к тому времени, надеюсь, она уже станет STABLE). Приоритетным направлением развития является создание сжатой файловой системы, также планируется пополнить набор приложений новыми полезными утилитами. Дополнительную информацию о Frenzy можно прочитать на сайте проекта: http://frenzy.org.ua.

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






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

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

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





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