Krieger для журнала "Сверхновая Реальность" Дети мои, сегодня мы поговорим о... мегатруЪ FreeBSD-based LiveCD для сисадминов Frenzy, который создан и развивается усилиями одного человека - Сергея Витальевича Можайского (ник techniX). Живёт он в Мелитополе, Украина. Досье: Системный администратор (FreeBSD) Веб-дизайнер, веб-программист. А также любитель demoscene и трекерной музыки. Пока мы не забыли - его электронные счета: WebMoney WMID: 787997569138 Кошельки: Z160863056584 R030806916003 E769987310799 U338032981175 Yandex.Деньги Номер счета: 4100152761183 RuPay Номер счета: RU76862769 e-gold Номер счета: 2348167 Статья построена на материалах авторства самого Сегрея, которые перемежаются с беседой в ICQ. ...С чего все начиналось Мысль о создании собственного 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. Я хотел бы тебя немножко проинтервьюировать для ещё не вышедшего в свет журнала "Сверхновая Реальность". - Ну давай. - В качестве статьи о русских народных умельцах в нашем веке. Скажи что-нибудь о патриотизме... - Кхм... - ...Я от русских патриотов... - Проблема в том что я живу не в России... И родился не там :) - Но всё равно кацап ведь? - Да, для меня русский язык родной и думаю я на нем. У меня мать родом из России, бабушка там живет, но о русском патриотизме я вряд ли что-то осмысленное сказать могу. Честно - я даже не знаю о чем и говорить. Никогда не задумывался об этом - наверное, я не особо патриотичный человек. И вопросы политики меня мало волнуют. - А вопросы демографии и выживания? (Немного перебрал пафоса) - ? - Я имел в виду превращение молодёжи в "дебилов с полифоническими телефонами" и т. п. - Да уж, это больная тема. А по поводу отупения - тут мне есть что сказать. - О, ну тогда скажи. Отожги. Это то, чего и надобно. - Я довольно тесно общался со студентами, и мои наблюдения весьма неутешительны. Интерес к знаниям у людей отсутствует совершенно, учатся только ради "бумажки". В итоге среди выпускников только нескольких человек можно назвать специалистами. Почему так случилось? У меня есть несколько объяснений этому. Первое объяснение - навязывание других жизненных приоритетов. Основной приоритет современной молодежи - "бабло", "тачки" и прочая мишура. И это в принципе понятно - такими людьми легче управлять, манипулировать. В этом преуспело и наше TV с бесконечными клипами рэперов, увешанных золотыми бирюльками и разъезжающих на сверкающих тачках. Жуть. Про кино я вообще молчу - редко когда попадается фильм, после просмотра которого хочется обсудить идеи, в нем высказанные... Второе - "самая дружественная к пользователю операционная система", которая наиболее распространена в нашей стране, не особенно способствует развитию мышления. Выучил, какие кнопки нажимать - уже пользователь, научился на форме компоненты мышкой накидать - уже программист. В итоге имеем массу кодеров-обезьянок, которые пишут глючные проги для пользователей - таких же обезьянок, которые при пропадании ярлыка с рабочего стола впадают в ступор. "Зачем думать - вот компьютер, он умный, пусть он думает..." Ну и последнее - знания мало ценятся в современном мире. Сравните на досуге зарплаты, например, менеджеров с бухгалтерами и программистов с сисадминами. И какой смысл приобретать все эти знания, если можно получать намного больше, при этом не особо напрягаясь? Вот пожалуй и всё. Выводы делать не буду, здравомыслящие люди способны сделать их самостоятельно. - Браво. И как всегда частокол вместо вывода. А как ты относишься к РПЦ? - Не отношусь. И не сталкивался. - Атеист? - "Атеизм - тоже религия". Скорее агностик. - Агностик - это "не знаю о Боге ничего конкретного"? - Типа того. ...Frenzy вышла в свет Итак, прочитав о возможностях Frenzy, люди, естественно, желали опробовать ее в работе. Увы, все, что я смог сделать на тот момент - выложить сборочные скрипты, поскольку неожиданно для меня возникла проблема с размещением iso-имиджа. Как выяснилось, 60 мегабайт (именно столько весит iso-имидж Frenzy, упакованный bzip2) - довольно большой трафик для нашего города... Договориться о временном размещении или даже однократной закачке файла удалось не сразу. И вот 8 августа исошник разошелся по нескольким FTP-серверам, предоставленным добровольцами. Началось :-). После того, как сама Frenzy и информация о ней распространилась по Сети, мне оставалось ждать отзывов и смотреть за реакцией интернет-сообщества. Отзывы были самыми разными. В первой версии, конечно, не обошлось без багов. Проблемы возникали с устройствами, поддержку которых мне негде было проверить (USB-мыши, wavelan). Многострадальный скрипт автомонтирования переписывался несколько раз из-за ошибок в работе с extended-разделами. Однако благодаря помощи пользователей системы баги удалось найти и устранить. На основе пожеланий пользователей в версии 0.2 был изменен список программ - я далеко не "мастер не все руки" и о существовании некоторых интересных программ просто не знал. Новости о Frenzy появлялись на разных ресурсах, ссылки на мой сайт я находил в разных форумах и обсуждениях статей. Был весьма удивлен, увидев инфу о Frenzy на молдавском новостном сайте о Linux, но это не идет ни в какое сравнение с шоком, который я испытал при виде нескольких строчек на словацком сайте, посвященном FreeBSD: "Поскольку описания на английском языке я не нашел, а русский язык я учил очень давно в школе, смотрите сами - скачайте Frenzy тут" :-). - На какой ОС сидишь больше всего? - FreeBSD (на работе десктоп под ней). - С какого возраста ты почувствовал тягу к ЭВМ? - Наверное, лет так с 14, когда первый раз увидел компьютер у моего друга. До этого я ими не особо интересовался, хотя и знал, что они из себя представляют. А вот компьютер дома у меня появился аж через 7 лет... - С каким именно железом и ПО ты поначалу имел дело? - О, эти рассказы нынче как сказки воспринимаются :) Работал я и с Электроника-МС1501 (XT-совместимый ПК 3MHz/640Kb RAM/FDD, на нем работал DOS и софт под него), и с Хоббитами (это такие Спектрум-совместимые машинки советского производства, писал на них софт на бейсике). Потом добрался и до полноценных ПК - работал с всеми линейкой процессоров от Intel - 286, 386, 486, Pentium, P2 и дальше. - А про Вектор-06Ц не слыхал? - Нет, про Вектор даже не слышал. Работал еще с советскими компами "Импульс", забавные штуки. - А когда ты познакомился с FreeBSD? Была ли перед ней винда? - Винда перед ней была довольно долго :) с фрей я познакомился уже в универе, курсе так на втором. - А эмблема проекта - это усечённые вилы? - Да нет, не вилы. Скорее сочетание букв F и R - Ну отожги что-нибудь ещё, жажду отжигов твоих аки живыя воды колодезныя. - (смеётся) - Нет, серьёзно, люблю почитать умного человека. Поэтому и Розанова люблю. - Я не привык так много писать. Мне проще код писать чем статьи. Ты Громова читал? "Мягкая посадка" книга. О том, чем может закончиться процесс дебилизации общества. - "А там, если повезёт, и ядерная война". Нет, ещё не читал. ...Что может Frenzy Итак, что же можно сделать с помощью этого "инструмента системного администратора"? Начнем с того, что это полноценная операционная система, в которой вполне можно работать в случае, если с винчестера компьютер не загружается. С помощью Frenzy можно быстро превратить компьютер в тестовый маршрутизатор, файерволл, NAT, DNS, NFS-сервер. Можно работать не только с локальными, но и с сетевыми дисками NFS или SMB. Имеется набор распространенных архиваторов (rar, zip (а также набирающий популярность 7zip - прим. K.), 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, с которыми после установки производятся следующие операции: - Использование утилиты strip для всех динамических библиотек и удаление статических библиотек. - Удаление неиспользуемых локализаций программ в соответствии со списком (зачем нам X-Chat на китайском или французском языке в русскоязычной системе?). - Удаление include-файлов, info-файлов (все man-страницы остались). - Применение индивидуальных патчей для некоторых пакетов. Например, удалив модули поддержки DRI из XFree, я сэкономил 14 Мб. Благодаря всем этим действиям удалось уменьшить размер Frenzy с 330 до 196 мегабайт. Правда, не все пакаджи так просто стали работать на read-only файловой системе. Дольше всего я боролся с drweb и nessus (сканер безопасности). Они упорно пытались записывать данные в те области файловой системы, куда на компакте записывать нельзя. Специально для них пришлось создавать хитрую структуру симлинков в /var. Конечно же, для Frenzy пришлось написать несколько дополнительных скриптов для загрузки и конфигурации. При загрузке автоматически монтируются разделы жесткого диска, восстанавливается сохраненная конфигурация с дискеты, автоматически определяется тип мыши. X Window при первом запуске настраивается автоматически. Для упрощения настройки локальной сети и PPP-соединения тоже были написаны диалоговые скрипты. И наконец, для версии 0.2 наконец-то была написана краткая документация. - Что происходило с тобой во время Помаранчевой революции? - Ничего необычного. Я не политический фанатик и к этому отнесся спокойно. - А на голосования ходил? - Ходил, голосовал тогда за Януковича. А по прошестви нескольких лет могу сказать, что разницы никакой нет, поскольку в правительстве сейчас все равно и те и другие. Так что по сути совершенно неважно за кого голосовал. - А есть какая-то надежда на "светлое будущее"? - Хех, у меня даже мыслей таких не возникало. Честно говоря, слабо верится. - А как ты представляешь себе будущее? - К сожалению, я его не представляю. Если начать представлять, будет очень неприятно видеть, что ожидания не сбылись, а оно обычно так и выходит. - В голову никаких вопросов больше не приходит, так что придумай пока что пожелание читателям. - Оно будет довольно коротким. ...На этом месте наше общение длиной в несколько дней "оборвалось" - Сергея накрыло работой. Потом он всё же выдал "пожелание читателям": - Пожелать хочу одного - веры в собственные силы. Я часто сталкиваюсь с людьми, которые считают, что не могут чего-либо: "да ну, это слишком сложно, я не потяну", "я в этом не разбираюсь, как я могу что-то сделать", "жизнь идет, а я ничего не могу в ней изменить". Это все самообман, нежелание верить в себя, попытка укрыться за удобными отговорками. Когда я начинал работу над Frenzy, то не имел никакого представления как создаются загрузочные диски, не умел программировать на sh... Но это не помешало мне освоить все эти премудрости и выпустить несколько релизов Frenzy Так что надо верить и не бояться пробовать, экспериментировать, делать все самому, и тогда все получится! ...Будущее системы Естественно, прогресс не стоит на месте, и система продолжает развиваться. Конечно же, следующие версии Frenzy будут уже на базе FreeBSD 5 (к тому времени, надеюсь, она уже станет STABLE). Приоритетным направлением развития является создание сжатой файловой системы, также планируется пополнить набор приложений новыми полезными утилитами. Дополнительную информацию о Frenzy можно прочитать на сайте проекта: http://frenzy.org.ua. Очень хочется учредить общественную премию, которой и награждать таких вот выдающихся людей за их воодушевляющие свершения. А вы, дети мои, придумайте название этой премии, и напишите нам в редакцию :) |