Многообразие — блеск и нищета мира Linux. Distrowatch.com знает о 649 дистрибутивах (включая все респины) — но я уверен, что знает он все-таки не про все. А что, если среди этого великого множества нет того, который нужен именно тебе? Не беда! Всегда можно сделать свой дистр, причем не прилагая особых усилий.

 

Введение

Создание своего дистрибутива — дело затратное, хлопотное и не всегда оправданное. В отличие от создания респина — слегка модифицированной версии существующего дистрибутива. Для чего может понадобиться создавать свой респин? Допустим, если ты хочешь сделать LiveCD с немного другим набором ПО (те же кодеки, например), другим оформлением или просто хочешь иметь инсталлятор со всеми обновлениями.

Все средства для создания респинов можно условно разделить на 2 категории: веб и локальные. Локальные, в свою очередь, делятся на имеющих GUI и требующих вдумчивого чтения манов :). Из веб категории заслуживают внимания:

  • SUSE STUDIO — средство для создания респинов одноименного дистрибутива;
  • RECONSTRUCTOR — проект для создания респинов на основе Debian или Ubuntu;
  • INSTALINUX — инструмент для создания netinstall-систем на базе одного из шести дистрибутивов.

Из категории локальных приложений можно отметить:

  • UBUNTU CUSTOMIZATION KIT — GUI-прога для создания респинов Ubuntu;
  • RECONSTRUCTOR — офлайновая версия одноименного онлайного проекта;
  • REVISOR — GUI-прога для создания респинов Fedora;
  • LIVECD-CREATOR — CLI-прога для создания респинов Fedora.
 

Меняем цвет хамелеона

SUSE STUDIO — средство от Novell, позволяющее производителям ПО легко создавать законченные программные решения для потребителей. Пользователь программного решения просто запускает его в виртуальной машине (или с LiveCD/LiveUSB) и получает рабочее приложение без необходимости установки и настройки под него ОС (что поможет избежать многих ошибок).

Регистрация на сайте Suse Studio возможна только по инвайтам (благо, инвайт присылают быстро — мне пришел в течение часа). Логиниться на сайте можно по OpenID или используя аккаунт Google, Yahoo или Novell. После регистрации в системе для хранения своих сборок выделяется 15 Гб места. Сборка своего респина не вызывает затруднений и состоит из 4 шагов:

  1. Выбор имени и основы для респина. В качестве основы могут выступать OpenSuse 11.2, SUSE Linux Enterprise 10 и SUSE Linux Enterprise 11 как в 32-х, так и 64-х битном исполнении. В качестве DE можно выбрать Gnome, KDE или IceWM, или же вообще не использовать среду рабочего стола.
  2. Следующий шаг — выбор пакетов, из которых будет состоять наш респин. Радует, что система сама занимается разрешением зависимостей. На этой же странице можно подключить сторонние репозитории или загрузить отдельные RPM. В стандартных репозиториях OpenSuse есть около 8000 пакетов — в принципе, есть из чего выбрать. Удобно, что при выборе пакетов отображается размер как LiveCD, так и уже установленной системы.
  3. Третий шаг — конфигурация. На семи вкладках можно настроить практически все параметры системы: язык и часовой пояс, добавить юзеров, изменить лого или обои, сменить runlevel, настроить сервера БД (только MySQL и PostgreSQL), включить автологин и добавить в автозапуск программы, настроить параметры виртуальной машины, задать скрипты, выполняющиеся при загрузке системы. Есть даже примитивные настройки файрвола.
  4. Собственно, выбор типа респина (LiveCD, образ HDD/ Flash или образ виртуальной машины) и его сборка. Сама сборка проходит на удивление шустро — у меня это занимало от трех до десяти минут. Но самая удобная, как мне показалось, фишка сервиса — это возможность протестировать только что созданный респин прямо в браузере (функция Testdrive). Для этого тебе на час выдается виртуальная машина KVM. Для более-менее нормальной работы этой функции нужен инет от 2 Мбит/с.

К запущенному респину можно будет даже подключиться по ssh или vnc. Жаль, что исходящие соединения заблокированы :). Внесенные в процессе тестирования изменения можно будет сохранить с помощью функции «Modified Files», отображающей все измененные с момента запуска виртуалки файлы. В целом, Suse Studio производит впечатление простого, удобного, стабильного и, вместе с тем, достаточно гибкого инструмента. Этим объясняется относительно высокая популярность проекта — в неделю здесь собирают более 4000 респинов. Единственный минус (хотя, для кого как) — это ограниченность в выборе базового дистрибутива для сборки. В общем, must use для любителей Suse!

 

Ubuntu: реконструкция

Reconstructor, в отличии от предыдущего проекта, специализируется на Debian и Ubuntu. Проект «условно-платный» — после регистрации каждый месяц тебе начисляется $5, которые можно потратить на те или иные услуги проекта. Стоит отметить, что стоимость услуг довольно демократична (например, сборка проекта стоит$0,3), поэтому $5 в месяц особо фантазию не ограничивают. При желании, баланс можно в любой момент пополнить через PayPal.

При создании проекта на начальном этапе выбирается базовый дистрибутив (на момент написания статьи выбор состоял из Debian 5, Ubuntu 9.04 и 9.10 архитектур x86 и x86-64), DE (Gnome, KDE, Xfce или Text Only) и тип респина (LiveCD или образ диска). После создания проекта предлагается выбрать дополнительные пакеты из стандартного репозитория, входящие в твой респин (зависимости разрешаются, но это явно не отображается в списке установленных пакетов). К сожалению, размер добавляемых пакетов отображается без учета зависимостей, поэтому следить за размером конечного образа проблематично. Кроме пакетов из стандартного репозитория, к проекту можно добавлять различные модули, реализующие тот или иной функционал.

Вот некоторые из них:

  • APT REPOSITORY И UBUNTU PPA REPOSITORY — позволяют добавить к проекту сторонний репозиторий. Правда, в списке доступных для установки пакетов пакеты из этих репозиториев не появятся, установку из них надо прописывать в специальный «Post Script»;
  • INSTALL DEB PACKAGE — установить произвольный debпакет;
  • SYSTEM UPGRADE — позволяет провести апгрейд системы;
  • PRESEED — позволяет изменить Preseed-файл;
  • INSTALL FILE — позволяет загрузить файл в произвольное место в будущей ФС;
  • РАЗЛИЧНЫЕ МОДУЛИ ДЛЯ УЛУЧШЕНИЯ ВНЕШНЕГО ВИДА: задания темы, обоев, иконок, стартовой страницы Firefox и т.д.

После того, как все необходимые изменения внесены, можно начинать сборку проекта (кнопка «Build Project» в левом верхнем углу). Твое задание на сборку встанет в очередь, и через некоторое время (в зависимости от нагруженности сервиса и объема твоего задания) тебе на почту придет письмо об окончании процесса. Все мои проекты собирались от 10 минут до часа. Собранный проект можно скачать в течении семи дней, после он будет удален.

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

В целом, Reconstructor — хороший, хотя и не лишенн ый некоторых недостатков, сервис. В минусы можно записать ограниченность выбора базового дистрибутива, условную платность, невозможность вычисления конечного размера дистрибутива в процессе добавления пакетов.

Некоторые из этих недостатков призвана решить офлайн версия, которую можно скачать со странички www.reconstructor.org/projects/reconstructor/files. Причем доступны две редакции:

  • RECONSTRUCTOR ENGINE — данная версия позволяет собирать проекты, экспортированные из веб-интерфейса;
  • RECONSTRUCTOR — «полноценная» версия, имеющая все те же функции, что и веб-интерфейс, плюс еще несколько интересных.

Так как первая редакция — это, по сути, только локальный сборщик, обратим пристальное внимание на вторую. В отличие от веб-интерфейса, она позволяет с небольшой погрешностью отслеживать размер будущего респина. Кроме того, есть возможность запуска терминала в chroot-окружении будущей системы, что открывает практически неограниченные возможности по кастомизации. Потенциально интересна также экспериментальная функция запуска иксов в chroot (правда, как и положено экспериментальной функции, у меня она не заработала ни на одной из тестовых машин). Также, как и у веб-интерфейса, у офлайн версии есть модули — специальные скрипты на Bash, выполняющиеся перед окончательной сборкой системы. Еще из интересных функций присутствуют: возможность удалить с диска все Windows-приложения (Firefox, Thunderbird и т.д.) и возможность настройки запускающихся со стартом системы сервисов.

 

Мастер на все руки

Если два рассмотренных выше сервиса, в принципе, похожи друг на друга, то Instalinux отличается от них кардинально. Во-первых, никакой регистрации — просто заходи на сайт и начинай работать! Во-вторых, поддержка ряда крупных дистрибутивов: CentOS, Debian, Fedora, OpenSUSE, Scientific, Ubuntu. И, наконец, в-третьих, на выходе получится не традиционный LiveCD/инсталлятор, а netinstall-образ, который при установке скачивает все необходимое из инета. Специальный мастер позволяет за 6 шагов задать основные параметры будущей системы. Кроме стандартных языка, раскладки и часового пояса можно определиться с разбивкой винта (либо разбивать винт автоматически, либо настраивать разбиение в процессе установки). Другой важный шаг — выбор пакетов, входящих в будущую систему.
Пакеты можно выбирать как группами (ставя галочки в чекбоксах), так и поодиночке (прописывая названия пакетов в специальное поле). Последний шаг — задание рутового пароля (или пароля пользователя в случае с Ubuntu) и проверка конфигурации. После этого появится возможность скачать ISO. Размер образа может варьироваться в зависимости от дистрибутива.

Например, образ Ubuntu с Xfce занимает всего чуть больше 12 Мб, а вот Fedora 12 с LXDE — целых 227 Мб (есть подозрение, что это, скорее, баг сервиса). Скорость скачивания образа не радует — у меня она не превышала 30 Кб/с, хотя при таких размерах это не критично. Кроме самого ISO, на странице загрузки можно скачать получившийся конфиг Preseed, Kickstart или AutoYaST. Загрузившись с получившегося образа, набери Install для того, чтобы начать установку системы.

Instalinux предлагает также воспользоваться более продвинутой версией мастера, имеющей возможность ручного редактирования получившегося Preseed/Kickstart/AutoYaST файла. Кстати, разработчики обещают скорое появление поддержки профилей. В целом, приятный и полезный сервис. Если бы еще не ряд мелких недоработок! В частности, не очень проработана конфигурация CentOS (что признают сами разработчики сервиса). Например, у меня при нескольких конфигурациях при попытке установки системы выдавало: «Установочное дерево CentOS в этом каталоге не соответствует вашему загрузочному диску».

 

Даешь очередной *BUNTU!

Ubuntu customization kit — еще одна офлайновая прога для кастомизации самого популярного дистрибутива. С релиза jaunty входит в официальный репозиторий. Но все же лучше скачать последнюю версию с официального сайта. Для нормальной работы просит не менее 5 Гб свободного места в домашней папке и доступ в инет. Процесс создания респина состоит из следующих шагов:

  • Настройка доступных в системе, а также при запуске LiveCD, языков;
  • Выбор DE (варианты: kde, gnome, others). Можно ничего не выбирать — получим систему без DE;
  • На этом шаге надо указать системе на ISOобраз оригинальной Ubuntu (Kubuntu, Xubuntu, etc);
  • Выбор названия CD;
  • Хотим ли мы вручную настроить наш респин? Конечно хотим! Иначе получится стандартный дистрибутив;
  • Удалить ли все Windows-приложения с CD?
  • На следующем шаге можно запустить в chroot

Synaptic, консоль или продолжить сборку дистрибутива. По умолчанию включены только репозитории main и restricted, поэтому выбор пакетов довольно скуден. Чтобы поправить эту ситуацию, в Synaptic, в меню SettingsRepositories, нужно включить репозитории universe и multiverse и обновить список пакетов. Если есть желание более тонко настроить систему (например, сменить обои у LiveCD) — можно запустить консоль в chroot. Небольшой совет: выходить из консоли надо командой exit, а не просто закрывая терминал — иначе проект рискует не собраться.

  • Когда все настройки закончены, можно смело жать «Continue building». Дальше все зависит от мощности твоего компа — у меня на ноуте все собралось минут за 10.
 

Федорино горе

Для другого популярного дистрибутива, Fedora, тоже есть удобные средства для создания респинов. Это GUI-прога Revisor и скрипт Livecd-creator с CLI-интерфейсом. Revisor представляет собой аналог UCK и Reconstructor для Fedora. Пожалуй, единственное существенное отличие — это то, что для создания респина не требуется LiveCD, все пакеты будут скачаны из инета.
Revisor есть в стандартном репозитории Fedora, начиная
с седьмой версии, поэтому установка не должна вызвать сложностей:

# yum install revisor

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

# setenforce 0

Для запуска Revisor нужны рутовые привилегии. На первом шаге мастера предлагается выбрать тип респина (CD/DVD инсталлятор и/или LiveCD). Второй шаг — выбор собираемой модели. Тут надо немного пояснить: в основном конфигурационном файле /etc/revisor/revisor.conf описаны «Модели» (специальные секции в конфиге, содержащие особенности сборки той или иной версии Fedora). Основная характеристика конкретной модели — репозитории, откуда будут скачаны пакеты. По умолчанию, Revisor в Fedora 12 может собрать модели Fedora 12 и Fedora Rawhide для архитектур x86, x86-64 и PPC. Добавляя описание моделей в конфиг, можно научить Revisor собирать, например, Fedora 11 и Fedora 13. На следующем шаге можно указать kickstart-файл и выбрать, какие секции из него использовать.

Четвертый шаг — выбор ПО. И вот тут меня ждала неприятность: список пакетов отказался выстраиваться в группы, поэтому пакеты пришлось выбирать из большого общего списка (долго, и есть нехилая вероятность забыть что-нибудь нужное). Видимо, неисправленный баг в Revisor, что, в принципе, не удивительно — проект давно не развивался (последняя версия вышла аж в декабре 2007). После выбора пакетов покажется короткая статистка (количество пакетов, объем для загрузки, объем в установленном виде). Следующие шаги — настройка сети, задание параметров загрузки ядра, параметры аутентификации, настройка файрвола, SELinux, X Window и создание пользователя. По окончании настройки Revisor скачает все выбранные пакеты из инета и начнет сборку. Вся эта процедура у меня на виртуальной машине заняла около получаса. Livecd-creator — менее капризный и более гибкий, но не совсем интуитивно понятный инструмент. Эта тулза создает LiveCD, основываясь на конфигурационном файле, синтаксис которого совпадает с kickstart.

Установка livecd-creator (входит в состав livecd-tools):

# yum install livecd-tools spin-kickstarts
l10n-kickstarts

Чем создавать с нуля свой конфиг, проще взять готовый и немного его подредактировать. Готовые конфиги лежат в /usr/share/spin-kickstarts. Создается LiveCD из конфига следующим образом:

# livecd-creator --config=/usr/share/
spin-kickstarts/fedora-livecd-desktop.ks
--fslabel=Fedora-LiveCD --cache=/var/cache/live

Все необходимые пакеты также будут скачаны из инета.

 

Userfriendly Gentoo

Легко построить свой респин можно даже на базе Gentoo, причем всего за несколько шагов. Только для этого надо воспользоваться специальным средством Calculate Linux Scratch (CLS). CLS — это полностью совместимый с Gentoo дистрибутив, предназначенный для создания собственных LiveCD/LiveUSB. Кроме базовой версии с OpenBox, есть также версия с Gnome (CLSG). Чтобы воспользоваться CLS, надо выбрать в меню загрузки LiveCD пункт Builder. Загрузится обычная на первый взгляд Live-система, в которой потом можно будет тестировать внесенные изменения.

Для того чтобы перейти непосредственно к сборке, следует ввести:

# cl-builder

После выполнения команды цвет приглашения изменится на коричневый и выполнится chroot в /mnt/builder, где и будет происходить сборка. В этом режиме можно устанавливать, обновлять, удалять программы без каких-либо ограничений. После того как все необходимые изменения внесены, можно выйти из режима сборки (набрав exit или <Ctrl+D>) и протестировать изменения в Live-системе. Если все устраивает, то можно запустить сборку своего LiveCD:

# calculate --iso

Образ будет создан в /usr/calculate/share/linux. Если ОЗУ не достаточно, то на этом этапе все может обломиться, поэтому рекомендую заранее подмонтировать к этому каталогу какой-нибудь более-менее емкий rw-носитель.

 

Happy end

Практически для каждого популярного дистрибутива можно найти удобное средство для создания респина: будь то веб или локальное приложение. Но как бы то ни было, ничто не даст столько экспы в этой области, как сборка Linux from Scratch…

 

Автоматизация установки

С незапамятных времен во всех дистрибутивах есть технология, позволяющая автоматически отвечать на вопросы установщика. В общем случае это выглядит как файл с определенным именем в определенном формате, лежащий на диске (хотя он успешно может находиться и где-нибудь в сети). В Debian и его последователях данная технология называется preseed, в Fedora (Red Hat, CentOS и т.д.) — kickstart, в OpenSuse — AutoYaST.

Подробнее об этом можно почитать здесь:

 

Info

PPA (Personal Packages Archive) — персональный репозиторий для Ubuntu, расположенный на сайте http://launchpad.net компании Canonical.

 

Links

 

Ubuntu customization

Оставить мнение

Check Also

Безумный олдскул. Самые необычные приставки и игровые аксессуары из прошлого

Если ты думаешь, что Guitar Hero, Kinect или Wii Remote — это странно, то спешим тебя заве…