Журнал LinuxFormat - перейти на главную

LXF113-114:respin

Материал из Linuxformat
Перейти к: навигация, поиск

Содержание

Создай свой дистрибутив

Свобода – это ваше собственное, а не навязанное видение того, каким должен быть Linux. Дэниел Джеймс и Пол Хадсон научат вас видеть.

С тех пор, как Оуэн Ле Блан [Owen Le Blanc] из Манчестерского университета выпустил в 1992 году MCC Interim Linux (считающийся первым в истории дистрибутивом Linux), появились сотни вариантов пути, которым любимейшая свободная ОС в мире может добраться до компьютера. Разнообразие альтернатив отражает разнообразие сообщества разработчиков, а дистрибутивы ныне распределились по техническим, функциональным, лингвистическим и даже идеологическим признакам.

Мы навидались всяких дистрибутивов: огромных, крошечных, ультрапередовых и устойчивых, как скала. С простой установкой для новичков и совершенно неприступных для непосвященных. Гордо щеголяющих исключительно свободными программами или же настолько проприетарных по духу, что даже их инструментарий был не полностью-GNU (привет, Red Flag Server 4.1, собранный компилятором Intel в 2004 году).

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

Можно взглянуть на проект Ubuntu и подумать, что конкуренция тут вам не по зубам, но не забывайте, что Ubuntu затевался как обычное ответвление Debian, всего лишь нацеленное на более частые стабильные релизы. Mandriva началась как ответвление Red Hat, а ранние релизы SUSE были ни чем иным, как переводом Slackware на немецкий!

Отсюда следует, что для появления нового дистрибутива особых поводов не требуется. Если вам скажут: «да дистрибутивов вокруг навалом, бери любой!» – не сдавайтесь. Не важно, создаете ли вы дистрибутив для своей страны (мы думаем, что Cymru Linux уже изрядно запоздал!) или просто изменяете цветовую схему; главное – то, что если другим он покажется практичным/привлекательным/крутым, они станут его пользователями, а вы поможете миру свободного ПО. И если почему-либо ваши идеи не сработают, вы все равно ничего не поте- ряете, а даже приобретете в процессе много полезных навыков! Не у каждого столько наличных, как у основателя Ubuntu и космического туриста Марка Шаттлворта [Mark Shuttleworth] – делайте, что можете, и посмотрим, куда это вас заведет.

Что брать за основу?

С нуля созданы немногие новые дистрибутивы, хотя и такое возможно – см. книги Linux From Scratch на http://www.linuxfromscratch.org, если хотите испробовать этот путь. Кроме быстрого старта, существуют и другие причины сесть на хвост другого дистрибутива, и, возможно, главная из них – совместимость пакетов. Существует более 18000 пакетов свободного ПО, признанных годными для включения в Debian, и еще больше тех, что не вошли в круг внимания этого дистрибутива. Вам вряд ли захочется пересобирать их самому, особенно учитывая, что десятки релизов выпускаются ежедневно. Кроме того, взяв за основу популярный дистрибутив, легко собрать пользователей, хорошо знакомых с ним и с алгоритмами его работы. Не последнюю роль сыграет и ваше участие в сообществе, сформировавшемся вокруг этого базового дистрибутива. Опять-таки, свободное ПО означает, что незачем спрашивать разрешения на создание ответвления.

Мы привели пример Debian, поскольку наравне с Red Hat это популярнейший дистрибутив-родитель. Притягательностью Debian отчасти обязан своей невероятной преданности свободному ПО, а дистрибутиву на его основе это гарантирует отсутствие конфликтов, связанных с патентами, лицензированием или товарными знаками. Конечно, вы можете зайти дальше и включить в свой дистрибутив несвободные элементы, но благодаря базированию на Debian вы всегда уверены в своей отправной точке. И эта гибкость по отношению к изменениям – одна из прекрасных причин использовать Debian. Этот проект исключительно удачен для создания ответвлений на его основе, с той частотой и полнотой, каких душа просит – что означает: вносите сколько угодно изменений и ничего не бойтесь.

Успех Ubuntu открыл дальнейшие перспективы, а именно – ответвление ответвления. До Ubuntu дистрибутивы на основе Debian должны были справляться с устаревшим ПО сами, что, как правило, окупалось, благодаря возможности получить преимущества гигантского репозитория Debian и небывало массовое тестирование со стороны сообщества. Но Ubuntu взял эту работу на себя – он основан на Debian (и даже облегчает доступ к репозиториям universe и multiverse) и обновляет ПО до новейших версий, накладывая нужные заплатки/исправляя недочеты. В итоге мы получаем полный объем Debian плюс новейшие возможности Ubuntu. Для вас это означает наличие выбора: можно взять за основу Ubuntu или Debian, или создать гибрид из обоих. Один из супер-плюсов дистрибутива, основанного на Ubuntu – хоть и малая, да причастность к мега-брэнду, но оборотная сторона медали – этак вы рискуете приобрести репутацию «Очередного Клона Ubuntu».

Помимо Debian, Red Hat/Fedora – еще один хороший кандидат на основу для дистрибутива, в большой мере благодаря огромным усилиям Red Hat обеспечить своим пакетам и поправкам открытость миру и доступность для просмотра и использования. Наиболее заметный пример тут – CentOS, собранный сообществом из исходных текстов Red Hat Enterprise Linux. RHEL – основной источник доходов компании Red Hat, и тем не менее дистрибутив создается таким образом, что любой желающий может бесплатно и без особых хлопот пересобрать его с нуля.

Первичный выбор

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

  1. Свободный или нет? Другими словами, хотите ли вы, чтобы готовый дистрибутив состоял на 100% из свободных программ, или же в установку по умолчанию будет включен, например, Adobe Reader или Flash Player, или даже некоторые из распространенных драйверов?
  2. LiveCD, установочный или два-в-одном? Некоторые дистрибутивы (Fedora, например) делают выбор в пользу отдельных Live-респинов [respin – диск, сделанный на основе официального репозитория, – прим. пер.], другие, как Ubuntu, помещают и LiveCD, и установочную версию на один диск.
  3. CD или DVD? Не имеет особого значения, если вы собираетесь распространять свое творение вручную, но если вы хотите заставить пользователей качать целый DVD, придется задуматься о ширине канала.
  4. KDE, Gnome или что-то другое? Рабочий стол – это первое, что пользователь видит сразу после установки, и этот фактор довольно сильно влияет на конкретные ощущения от вашего дистрибутива. Не забывайте, что многие пользователи являются рьяными приверженцами одной среды, так что, по примеру Ubuntu, стоит предоставить хоть какой-то выбор!

Используйте исходники

Вы могли подумать, что небольшой дистрибутив на базе другого, хорошо известного дистрибутива недолго привести в соответствие с лицензией GNU GPL. Исходникито доступны на сервере базового дистрибутива, разве нет? Нет. По условиям GPL, распространитель дистрибутива (это вы) должен предоставить доступ к соответствующим исходникам каждого двоичного пакета каждой программы, получаемой под этой лицензией. Это оказалось тягостным бременем для тех дистрибутивов, которые не очень задумывались о таких материях, пока кто-нибудь не тыкал пальцем в их нарушения GPL. По условиям этой главной лицензии даже самые благонамеренные дистрибутивы, не предоставляющие исходные тексты, ничем не лучше сомнительных производителей оборудования, которые норовят предоставлять модифицированное свободное ПО только в двоичном формате. И если вы собираетесь распространять двоичные пакеты в составе установочного образа LiveCD, заранее планируйте, откуда пользователи вашего дистрибутива смогут получать соответствующие исходные тексты. В GPL версии 2 говорилось о каком-либо носителе, используемом для обмена программами, что большинством понималось как CD-R или DVD-R. В GPL версии 3 явно говорится о загрузке соответствующих исходных кодов с сервера или же из пиринговых сетей, и не обязательно оттуда же, где находится объектный код (т.е. двоичные пакеты). Тем не менее, вы обязаны предоставить точный адрес, чтобы пользователю, собравшемуся загрузить исходные коды, не пришлось предпринимать детективных расследований во всем Интернете.

Онлайн-дистрострой

Как было бы здорово, если бы свой дистрибутив можно было создать, только щелкая мышью! Ведь большинство нужных вам пакетов лежат себе где-то на сервере с хорошим каналом – явно имеет смысл собирать ISO-образы и репозитории прямо на нем. А коли у сервера есть HTTP-интерфейс, отчего же не выполнить программу, собирающую дистрибутив, в виде web-приложения? Именно такой принцип лежит в основе http://www.instalinux.com, созданного Крисом Слейтером [Chris Slater]. Реализация основана на CGI-скриптах SystemDesigner проекта Linux Common Operating Environment (http://linuxcoe.sourceforge.net), первоначально разработанных для внутреннего применения в HP, а теперь выпущенных под лицензией GNU GPL. Согласно сотруднику HP Джеффри Уэйду [Jeffrey Wade], слова которого цитировались в прошлом году во время релиза LinuxCOE 4.0 (http://www.itjungle.com/tlb/tlb060507-story07.html), с помощью LinuxCOE в компании было инсталлировано более 15000 настольных систем и серверов. LinuxCOE также используется для установки открытой ОС на сервера, продаваемые компанией, и является частью предлагаемого ею пакета услуг.

Для создателя нового дистрибутива такая возможность явно перевешивает необходимость скачивания всех исходников через домашний канал и последующих усилий собрать все это. Настройка очень четкая и поддерживает диапазон основных дистрибутивов. Вопросы, на которые необходимо ответить в SystemDesigner – те же, на какие вы отвечаете и во время стандартной установки. Это также очень удобно и для более опытных системных администраторов, когда надо установить одинаковую базовую конфигурацию на большом количестве машин. Ниже мы рассмотрим пример создания дистрибутива на основе 64-битнойнастольной Ubuntu Hardy с дополнительными пакетами из Edubuntu и с поддержкой японского языка – просто потому, что можем.

LXF113 30 1.jpg64-битная Edubuntu на японском – то, что нам и было нужно. По-японски мы не говорим, но у нас всегда есть свободная возможность его выучить.

Чтобы создать свой личный дистрибутив, щелкните по ссылке Designer на домашней странице Instalinux и выберите базовый дистрибутив. У вас есть ассортимент из CentOS 4 или 5, Debian 3.1, Etch или Lenny, Fedora до версии 9 включительно, OpenSUSE до версии 10.3 включительно, Scientific Linux до версии 5.1 включительно или Ubuntu до Intrepid включительно. Все базовые дистрибутивы доступны как в 32-битной сборке, так и в 64-битной для Intel или AMD. Последняя опция, доступная на первой странице System Designer – это имя хоста или же целевой машины для его получения по DHCP.

Проверяем суммы

Суммы MD5 также предоставляются, и принять это к сведению нужно сразу – лучше всего сохранить web-страничку целиком на локальную машину, вместе с предлагаемым файлом preseed.txt. По окончании загрузки вашего образа проверьте образ с помощью команды md5sum. Утилита md5sum уже должна быть предустановлена в любом уважающем себя дистрибутиве; в противном случае этот стандартный пакет наверняка доступен в онлайн-репозитории вашей текущей системы. Затем просто наберите md5sum в консоли и допишите название ISO- образа, например вот так:

daniel@64studio:~$ md5sum iso8574.iso
41a0b070302bae85ec8d5a0159969eb6 iso8574.iso

Вывод команды должен совпасть с тем, что был показан на последней странице ваших настроек Instalinux. Ваша контрольная сумма наверняка будет другой, если только вы не вводили идентичные данные. Убедившись, что с загруженным образом все OK (было бы неловко распространять поврежденный образ), запишите его на болванку с помощью любимой программы прожига. Не забудьте заархивировать важные данные перед проверкой полученного диска на настольном ПК или ноутбуке, особенно если вы указали автоматическое форматирование жесткого диска в процессе настройки; как и предупреждает загрузочная заставка, содержимое некоторых или всех дисков может быть стерто.

Несмотря на наличие языковых настроек в preseed-файле, инсталлятор Ubuntu от LinuxCOE, запущенный в ручном режиме, потребовал от нас указать и язык, и диалект. Дальнейшая установка тоже не обошлась без проблем – на каком-то этапе все зависло с сообщением “Loading apt-mirror-setup failed for unknown reasons” («загрузка apt-mirror-setup дала сбой по неизвестной причине»), и нам пришлось нажать Continue с помощью клавиш Tab и Enter, прежде чем скачивание пакетов с зеркала Ubuntu apt смогло продолжиться. По окончании установки и перезагрузке тестового ноутбука в GDM обнаружилось, что пакеты с поддержкой японского языка установились не полностью, и при изменении настроек языка в Gnome пришлось кое-что загрузить дополнительно. Но, учитывая широкий диапазон дистрибутивов, которые старается поддерживать SystemDesigner, результаты его работы впечатляют. Другие системные параметры, включая данные о пользователе и сетевые настройки, были внесены в сценарий установки (preseed-файл) правильно.

Как работает preseed

Если вы довольны своим личным Ubuntu, то, желая понять, как работает автоматизированная установка, стоит взглянуть на тот самый preseed.txt. Хотя обычно Ubuntu устанавливается через графическую оболочку с LiveCD, автоматизированные установки часто производятся с помощью текстового установщика Debian, известного как d-i [от Debian Installer, – прим. пер.], поскольку там больше работают скрипты, а не принцип «наведи и щелкни». Файл preseed заполнен комментариями на английском языке, и разобраться в нем легко. Вот, например, фрагмент, относящийся к пакетному репозиторию базового дистрибутива:

 # Откуда мы это берем?
 d-i mirror/http/hostname string us.archive.ubuntu.com
 d-i mirror/http/directory string /ubuntu/

А вот фрагмент про учетную запись пользователя:

 # Обычный пользователь
 d-i passwd/user-fullname string Dave Smith
 d-i passwd/username string dave
 d-i passwd/user-password-crypted passwd $1$QOimuo6b$4/wHzeVqXbQjpclCYDtbK/

Не трудитесь дешифровать пароль: мы сэкономим ваши усилия, сразу сказав, что пароль – просто ‘dave’. Конечно, в реальных условиях вы никогда не назначите такой простой пароль, правда? На самом деле, утилита Ubuntu, отвечающая за пользователей и группы, просто не позволит вам этого.

Если сайт Instalinux показался вам полезным, у вас есть возможность создать настраиваемые профили для SystemDesigner. Просто пройдите по ссылке Profiles на сайте, выберите себе базовый дистрибутив, версию и архитектуру, затем щелкните по Create a new LinuxCOE profile, чтобы создать профиль. С помощью кнопки Display можно вызвать профили, уже созданные вами или другими пользователями Instalinux.

Респины Fedora и Debian Live

Если вы поклонник проекта Fedora, вам приятно будет узнать, что команда Fedora Unity разработала графическое приложение для создания «респинов» установочных и Live-носителей, известное под названием Revisor (http://revisor.fedoraunity.org). Это интерфейс для ряда программ, включая Pungi (https://fedorahosted.org/pungi) и live-cdtools (http://git.fedoraproject.org/git/?p=livecd).

LXF113 31 1.jpgRevisor – очень дружелюбный инструмент, но не содержит и намека на поддержку других дистрибутивов помимо Fedora.

На Fedora 7 и более новых версиях просто наберите в консоли:

  # yum install revisor

Принцип Revisor аналогичен используемому в SystemDesigner, но только все происходит на локальной машине. Преимущество Revisor перед онлайн-сборкой в том, что тут можно собрать также и LiveCD или же образ загрузочной Live USB, но это сборки сугубо на основе Fedora. Ближайший родственник Revisor для дистрибутивов на основе Debian – live-magic (http://packages.debian.org/lenny/live-magic), графический интерфейс к скриптам live-helper. Как видно по названиям, эти утилиты Debian задумывались именно для создания Live-образов. Однако теперь в меню загрузчика Debian Live CD есть дополнительный пункт для установщика Debian, который копирует файлы Live-системы на заданный жесткий диск. Подробности см. на сайте http://alioth.debian.org/~lamby-guest/live-manual/html/commontasks.html.

LXF113 31 2.jpgГрафический интерфейс live-magic поможет создать собственный Live CD на основе Debian, но создания установочных образов не предусмотрено.

Условия техподдержки

Основное ограничение, присущее SystemDesigner, Revisor или live-magic – выбирать можно только пакеты и мета-пакеты, уже включенные в базовый дистрибутив, и нет механизма для внесения изменений (настройки) этих пакетов (кроме настроек preseed или через какие-либо пост-установочные скрипты). Такое ограничение в принципе даже полезно, если вам надо обеспечить доступность коммерческой поддержки пакетов, включенных в вашу сборку, со стороны организации, стоящей за родительским дистрибутивом – такой, как Novell или Canonical. В большинстве соглашений об обслуживании в Linux указывается, что вы абсолютно свободны модифицировать код, но тогда не рассчитывайте на техподдержку для измененных пакетов. Это вполне справедливо, поскольку вы могли изрядно их изгадить. Пусть подобное приложение и работоспособно, но ожидать от родительского дистрибутива поддержки неопределенного числа изменений, возникающих вокруг таких пакетов – это уж чересчур.

Если же вам не обязательно хранить нетронутыми родительские пакеты и нужно больше частных настроек, чем предлагает System Designer – поможет инструментарий PDK. Продолжение следует!

11 полезных советов

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

Цель можно рассмотреть с разных углов – пробуйте один, два, а то и все, если хотите!

Ультрасовременность

На пике своей славы Mandriva был знаменит включением самого свежего ПО, но его менеджеры решили перенести акценты с современных функций на стабильность; стандартом стали более старые, «испытанные» версии программ, и многие пользователи Mandriva отправились искать адреналин новизны в других местах. Аналогично, Ubuntu стартовала как идущая в ногу со временем версия Debian, но сдала позиции на том же фронте – в Ubuntu 8.10 не включен Mono 2.0, вышедший за месяц до официального релиза дистрибутива. Мы отлично знаем об этапе заморозки включения новых функций и других методах повышения стабильности, но при желании завоевать рынок самого передового ПО отложите в сторонку подобную щепетильность и пускайтесь в погоню за свежайшими версиями программ. Ваши пользователи только спасибо скажут!

Суперстабильность

На противоположном от ультрасовременности конце оси стоит суперстабильность, означающая, что вы компонуете свое ПО из самых крепко сбитых, проверенных и безотказных версий. Да, это означает второй OpenOffice.org вместо третьего, но также и снижение количества сообщений об ошибках, потому что ПО в вашем дистрибутиве прошло годы и годы тестирования и исправлений. Оборотная сторона этой стратегии – стабильным дистрибутивам полагается долгосрочная поддержка: настольная Ubuntu LTS предоставляет ее на пять лет, а Red Hat Enterprise Linux – на все семь. Если ваша цель – выход на данный рынок, готовьтесь к обратному портированию исправлений безопасности и далее в том же духе.

Сверхлегкость

Одна из наиболее впечатляющих особенностей свободного ПО – бесспорная способность опережать компанию Intel в попытках повысить производительность наших машин. Здесь мы подразумеваем то, что некоторые из популярнейших свободных приложений славятся своей медлительностью и прожорливостью по части памяти и других ресурсов. За счет этого и существует рынок «тонких и легких» дистрибутивов.

Идея простая: вместо приложения А, требующего 100 MБ ОЗУ, вы включаете в свой дистрибутив приложение Б, которому достаточно 10. Повторив эту процедуру почти для всех пакетов вашего дистрибутива (за исключением тех, без которых уж откровенно не прожить), вы заставите летать и Pentium II.

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

Привечайте пользователей

Если вам нужны преданные пользователи, окружайте их любовью: сделайте дистрибутив, направленный на нужды некой группы, и ваши пользователи пойдут за вами в огонь и воду. Допустим, чем создавать лишний дистрибутив-многостаночник, угождающий всем и каждому, не построить ли дистрибутив для разработчиков? Или артистов? Или игроков? Так вы урежете объем пакетов, сохранив только необходимые вашей целевой группе; затем выставьте такие настройки по умолчанию, которые ваши пользователи жаждут получить в первую очередь. Например, мы тут у себя, в Башнях LXF, большие фанаты программирования на Mono. Почему бы не сделать дистрибутив с предустановленными всеми библиотеками и документацией Mono плюс лучшие приложения на Mono, для большего вдохновения?

Будьте милы

По словам Шаттлворта, «красота – это функция». Выбирая между двумя идентичными дистрибутивами, различающимися только оформлением, среднестатистический пользователь, естественно, предпочтет тот, что выглядит симпатичнее. При этом ясно, что «симпатичнее» – абсолютно субъективный фактор: мы, например, не в восторге от черного как смоль интерфейса Sabayon, но многие пользователи находят его элегантным и загадочным. Аналогично, коричневые тона Ubuntu могут казаться теплыми и человечными или же тусклыми и «а-ля 1970-е», в зависимости от вашего восприятия, опыта и стереотипов. Занявшись собственным дистрибутивом, уделите время продумыванию оформления – не надейтесь, что пользователи сами настроят его по своему вкусу: если начальная тема смотрится плохо, они просто станут воротить нос.

Здесь есть два пути: создание собственной темы для рабочего стола или выбор оформления по умолчанию. Тему создать легко: даже если вы не сильны в GIMP, можно надергать деталей со стороны. Но немало смысла также и в сохранении вида по умолчанию, поскольку многие дистрибутивы настаивают на размещении своего логотипа на всех деталях рабочего стола. Так что вместо стартовой кнопки К для KDE вы получаете хамелеона, а вместо пятки Gnome – «бубен» Ubuntu.

Простота и дружелюбие

Этот лозунг уже малость поистрепался – Mandriva первым реально воплотил его в жизнь, но сейчас за звание «самого дружелюбного» соревнуются очень многие. Минусы этим не исчерпываются: простота использования влечет обязанность создания собственных графических оболочек для базового системного администрирования, а также критическую бомбежку агрессивно настроенными членами сообщества за «отупление Linux». Опять же, преуспев на поприще легкого в использовании Linux, вы поворачиваетесь к самому важному рынку – к пользователям Windows/Mac, намеренным перейти на Linux.

Альтернатива – разыграть карту Slackware, то есть создать отнюдь не «простой в использовании» инструментарий и бросить пользователей на произвол судьбы: пусть разбираются сами. Эта формулировка не выглядит гуманной, но «по жизни» многие продвинутые пользователи обижаются, когда некоторые дистрибутивы затирают их текущие настройки, стремясь быть «простыми и дружелюбными»; а значит, у системы а-ля Slackware найдутся притягательные стороны. Дистрибутив на языке вашей страны

Это самый легкий путь как для создания дистрибутива, так и для немедленного привлечения пользовательской базы. Вполне предсказуемая оборотная сторона медали – здесь требуется, чтобы вы жили или происходили из такой страны, где слабо поддерживается свободное ПО; но вы сами удивитесь своим успехам, если рискнете попробовать. Помните, если ваш язык числится в вашей стране среди малых (как гэльский – в Шотландии), можно даже суметь выцарапать у государства кое-какое финансы ради его выживания и распространения.

Решение проблем

Звучит просто, но в реальности довольно трудно найти такую проблему, с которой сталкиваются множество людей на своих машинах с Linux'ом, а затем решить ее. Просто – потому что проблемы с компьютером бывают у всех, а реализовать трудно – потому что потребительская компьютерная индустрия совершенствуется уже 20 лет, но такие проблемы все еще не изжиты, несмотря на усилия крупнейших софтверных компаний мира. Правильной стратегией будет взяться за небольшую проблему, или хотя бы разбить одну большую на несколько маленьких, чтобы прогресс шел быстрее.

Создайте сообщество

Некоторые дистрибутивы, и наиболее заметный из них – PCLinuxOS, обязаны своей популярностью дружелюбному и открытому сообществу своих пользователей, и повторить подобный успех нетрудно. Ключ к обретению широкого сообщества – помощь пользователям в решении своих и чужих проблем на максимально ранней стадии. Если дать объяснения по вашему дистрибутиву по силам только редким умникам, мало кто сумеет влиться в сообщество. Но, спроектировав свой дистрибутив так, чтобы уже через пару дней пользователи могли бы отвечать на вопросы на форуме, вы увидите, насколько быстро обрастаете людьми, и сообщество взойдет как на дрожжах.

Упор на конкретное оборудование

Соблазнительно, но очень трудоемко: соблазнительно – потому что, получив добротный порт Linux для специфического оборудования, вы легко обретете пользователей и даже поддержку и финансирование от изготовителя; а трудоемко – потому что придется проделать огромный объем ручной работы. Если термин «кросс-компиляция» ничего вам не говорит, то подобную идею вам явно стоит оставить в покое.

Наконец, копируйте и копируйте!

Весь смысл свободного ПО в том, что мы делимся друг с другом и идеями, и кодом, и нововведениями – на благо всех пользователей. Так что поставьте и испробуйте хотя бы некоторые основные дистрибутивы. Попробуйте PCLinuxOS. Или Linux Mint. Или Sabayon. Выпишите на бумажку три полюбившихся вам особенности каждого из дистрибутивов, а затем украдите их и примените в своем дистрибутиве. Синдром «Not Invented Here – Изобрели не мы» для Linux чужд; не упускайте это преимущество и заимствуйте находки!

Советы профессионалов

К каждому выпуску Linux Format прилагается минимум один (а иногда и до дюжины!) дистрибутивов Linux на DVD. Учитывая, что выпусков 12 в году, сам по себе этот факт – подтверждение огромного количества существующих дистрибутивов Linux!

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

Один из самых знаменитых дисков от LXF неофициально известен как “Mikebuntu” – это переработанная Майком Сондерсом версия Ubuntu, идущая по умолчанию с большим количеством дополнительного ПО, чтобы вам не пришлось тратить деньги и время на последующие загрузки. И на случай, если вам придет фантазия создать свое подобие Mikebuntu (возможно, даже с еще большим количеством программ!), мы попросили Майка раскрыть некоторые секреты кухни, а также спросили его, почему именно Ubuntu стал лидером. Вот что он ответил:

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

Затем с помощью chroot мы переходим в развернутую файловую систему, как в отдельной установке Linux, и apt-get доставляет нам дополнительные пакеты. Удовлетворившись выбором программ, мы выходим из среды chroot и пересобираем образ SquashFS. И, наконец, копируем наш новый образ на DVD и привязываем к нему загрузчик Ubuntu и сопутствующие скрипты».

Итак, теперь вы знаете, как творят чудеса. А если всетаки поняли это не на 100 %, задайте свои вопросы на нашем форуме (http://www.linuxforum.ru), и мы постараемся вам помочь.

PDK – трудный путь

Дэниел Джеймс с гордостью представляет PDK – Platform Development Kit.

В 2000 году основатель проекта Debian Ян Мердок [Ian Murdock] вместе с Джоном Хартманом [John Hartman] запустил новый проект, названный Progeny Linux Systems. Целью его была разработка более коммерческой версии Debian, с Gnome и с простым графическим установщиком; очень близко к тому, что впоследствии реализовал Ubuntu, но, возможно, Progeny опередила свое время. К 2003 году компания переключилась на так называемый Componentised Linux. К предложению такой услуги побудила излишняя монолитность стандартных дистрибутивов Linux и их построение по принципу нисходящего проектирования. Бизнес-модель Progeny ориентировалась на заказчиков дистрибутивов с оговоренными свойствами, которые компания затем собирала из готовых компонентов.

LXF113 34 1.jpgФри Эканаяка – хранитель PDK и эксперт по настройке Debian.

В 2005 году Progeny объявила о работе над программой под названием Platform Development Kit, сокращенно PDK, предоставляющей управление версиями в процессе сборки дистрибутива. Несколько хорошо встреченных релизов Progeny Debian были собраны с помощью средств Componentised Linux, но идея как-то не прижилась. Мердок покинул компанию, чтобы поработать на Linux Foundation, а затем – на Sun Microsytems. В итоге в 2007 году Progeny закрылась. PDK сгинул бы тоже, поскольку, хоть и вышел как свободное ПО, понят не был и использовался почти только внутри Progeny. К счастью, мы прихватили PDK для “64 Studio” еще в начале 2006 года, и наш технический директор Фри Эканаяка [Free Ekanayaka] уже вносил изменения в кодовую базу на Python, включая автоматическое разрешение зависимостей. Мы продолжаем разработку PDK, который теперь доступен, под лицензией GNU GPL, на нашем сайте: http://trac.64studio.com/pdk.

Главный плюс PDK – автоматизация сборки и сопровождения нестандартных дистрибутивов, собранных и на основе Debian, и на основе RPM. Подобная автоматизация становится особенно полезной, если команда разработчиков должна заниматься несколькими различными дистрибутивами. При компонентном подходе общие составляющие разных дистрибутивов можно сопровождать из одной точки, что не только экономит массу времени, но и, конечно же, облегчает контроль за качеством. Компоненты, предназначаемые для конкретного дистрибутива, определяются набором XML-файлов, где перечислены файлы-компоненты и прочие специальные настройки, например, первичные установки. Ссылки на файлы компонентов находятся в файле picax.xml, например:

 <contents>
 <component>system/all.xml</component>
 <component>linux/2.6.26.xml</component>
 <component>gnome/key.xml</component>
 <component>graphics/gimp.xml</component>
 <component>64studio/custom.xml</component>
 <component>64studio/closure.xml</component>
 </contents>

Пример показывает, что компоненты разбиты на разделы: указан путь до базовых системных компонентов, другой путь – до пакетов ядра, и еще один – для графического окружения, в данном случае это Gnome. Также есть пример компонента для GIMP. Файл gimp.xml содержит ссылки не только на двоичные пакеты, необходимые для разных архитектур, и на пакет с исходными кодами GIMP, но и на дополнительные пакеты, которые, по мнению разработчика дистрибутива, могут понадобиться пользователю: например, gimp-help (документация) или Gutenprint (драйверы для принтеров). Далее, файл custom.xml перечисляет пакеты, отсутствующие в родительском дистрибутиве, здесь это Debian. И наконец, файл closure.xml заботится о зависимостях.

PDK производит не только установочные носители, но также и репозитории для двоичных пакетов и исходных текстов. Это дает пользователям вашего дистрибутива возможность получать обновления, не прибегая к новому физическому носителю или к переустановке. Здесь могут быть трудности с определенными дистрибутивами, в частности, на базе LiveCD, где нет механизма обновлений. Создание репозиториев с исходными текстами также помогает выполнить обязательства распространителя свободного ПО согласно лицензии GNU GPL. Также у PDK есть API, удобный при составлении всякого рода отчетов – например, в формате, необходимом для проверок безопасности по номеру версии пакета.

У себя в “64 Studio” мы используем PDK вместе с Trac – инструментом управления проектами и исходным кодом (http://trac.edgewall.org): в этом случае разработчики могут просматривать исходный код, находящийся в сети, а также пользоваться другими возможностями Trac, например, интегрированной системой сбора сообщений об ошибках и wiki-движком. Изначально Trac задумывался для доступа к системе контроля версий Subversion (SVN), но для Trac 0.10.x имеется и расширение для Git, доступное здесь: http://nanosleep.org/proj/trac-git-plugin. Мы надеемся интегрировать PDK в Trac для получения в будущем более цельного интерфейса для производства индивидуальных сборок дистрибутивов. LXF

Персональные инструменты
купить
подписаться
Яндекс.Метрика