Різноманіття - блиск і злидні світу 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 - хороший, хоча і не позбавлений деяких недоліків, сервіс. У мінуси можна записати обмеженість вибору базового дистрибутиву, умовну платність, неможливість обчислення кінцевого розміру дистрибутива в процесі додавання пакетів.

Деякі з цих недоліків покликана вирішити офлайн версія, яку можна завантажити зі сторінки wwwreconstructor.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, в меню Settings-Repositories, потрібно включити репозиторії 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 ...