Содержание статьи
В Сети можно найти множество инструментов, позволяющих за считанные часы
подготовить свой дистрибутив. Что потом с ним делать - решать тебе. Как минимум,
создать сборку, содержащую все необходимые пакеты. Она пригодится при
переустановке системы или при установке на другой компьютер. А если требуется
установить дистрибутив на целый парк компьютеров, то такой диск – просто
находка.
Для создания дистрибутива нам понадобятся:
- Пакет Reconstructor (reconstructor.aperantis.com);
- ISO-образ дистрибутива Ubuntu (www.ubuntu.com);
- Примерно 6 Гб свободного места на Linux-разделе.
Нужно сделать несколько замечаний относительно первого пункта. Пакет
Reconstructor позволяет разобрать ISO-образ Ubuntu, внести изменения и заново
собрать исошник. Официально, текущая версия (2.8) поддерживает дистрибутив
Hardy, то есть предыдущую версию Ubuntu. Как выяснилось, эта версия
реконструктора отлично работает с Intrepid Ibex (Ubuntu 8.10), что и будет
показано в статье.
По поводу места на диске – минимум 6 Гб, поскольку в разобранном состоянии
LiveCD с Ubuntu занимает примерно 5 Гб + необходимо место для образа нашего
дистрибутива (около 700 Мб). Самое время удалить все ненужное, если места не
хватает.
Запуск реконструктора
Итак, устанавливаем и запускаем реконструктор (он появится в меню
"Приложения"). Программа запросит пароль для sudo. Введи свой пароль (именно
свой, а не root'а). Далее нажимаем Next и выбираем, какой диск хотим создать -
LiveCD или инсталляционный. Нужно выбрать первое. Хотя мы создаем LiveCD, на
диск будет помещен инсталлятор, поэтому при необходимости дистрибутив можно
будет установить на жесткий диск, как полноценный Ubuntu.
Затем нужно указать, куда будет "распакован" исходный ISO-образ Ubuntu и где
брать этот самый образ. Винт у меня не резиновый, поэтому исходный образ я
поместил на Windows-раздел, чем сэкономил 700 Мб на втором Linux-разделе (у меня
он занимает 6 Гб – пришлось даже openSUSE снести). Можешь использовать мой трюк
для экономии места. В крайнем случае, в привод можно вставить LiveCD Ubuntu –
программа без проблем его найдет (но в этом случае распаковка займет больше
времени). Так как все действия выполняются от имени root, беспокоиться о правах
не нужно.
Внимание! При первом "разборе" LiveCD обязательно включи параметры Create
Remaster Directory, Create Root Directory, Create Initial Ramdisk Directory.
Собственно, реконструктор и не позволит продолжить работу без включения этих
параметров. Во второй и последующих сборках их включать не нужно, поскольку
реконструктор перезапишет все изменения, которые были внесены в файловую систему
дистрибутива (графические темы, файлы конфигурации, установленные пакеты и т.д.)
После этого программа сообщит, что нужно немного подождать. Ждем-с. Время
ожидания зависит только от умений и навыков твоего компьютера. В среднем,
понадобится минут 5-10.
Параметры загрузчика
После распаковки образа откроется основное окно реконструктора, состоящее из
пяти вкладок. Начнем модификацию исходного дистрибутива с вкладки Boot Screen.
Параметр Live CD Splash задает фон загрузчика GRUB. Создать его можно в GIMP.
Формат файла: PCX, индексированный, 256 цветов, размер 640х480 или 800х600. Live
CD Text Color – цвет текста меню загрузчика GRUB. У меня белый фон для GRUB,
поэтому цвет текста я выбрал черный.
Во время загрузки Ubuntu можно увидеть индикатор загрузки, именно он и
задается параметром Upslash Filename. Готовые SO-файлы скачай на сайте
gnome-look.org, а еще лучше – создай собственный. Запусти GIMP, нарисуй любое
изображение, сохрани в формате PNG (размер 640х480, 800х600 или выше,
индексированное, не более 256 цветов) и нажми кнопку Generate. Выбери свой
PNG-файл, по нему программа создаст SO-файл, который и нужно будет указать в
поле Usplash Filename.
Тут есть один нюанс. С ним я столкнулся, когда сделал несколько сборок
дистрибутива. Лучше подготовить два Usplash. Первый – с разрешением 640х480, а
второй – 800х600. Первый нужно установить как Usplash для LiveCD, а второй как
Usplash для дистрибутива. Практика показала, что, если установить Upslash
размером 800x600 или выше, он вообще не отображается при запуске LiveCD. Зато
отлично будет выглядеть при запуске системы! Имей в виду, при старте LiveCD
пользователи увидят созданный тобой Usplash, а после инсталляции будет
использоваться стандартный Usplash Ubuntu. Это не есть хорошо: если мы собрались
делать свой дистрибутив – нужно держать марку и по возможности стараться, чтобы
меньше мелькало слово "Ubuntu". О том, как установить свой Usplash, я расскажу
чуть позже.
Параметры Гнома – вкладка Gnome
В группе Login указывается GDM-тема (GNOME Display Manager). Она будет
использоваться для оформления окна входа в систему. Если лень заморачиваться с
созданием своей графической темы, можно использовать уже готовую. Скачай
понравившуюся с gnome-look.org, нажми кнопку выбора (…), после чего
установленная тема появится в списке, и ее можно будет выбрать.
Splash Screen – это экран, который пользователь увидит при загрузке Гнома.
Опять-таки, его можно скачать с gnome-look, можно создать свой, а можно вообще
не трогать (я так и поступил: изменил только фон Гнома по умолчанию, Background
Color).
В группе Desktop можно выбрать обои по умолчанию и установить шрифты Гнома, а
в группе Theme - цветовую тему, тему для оформления окон и набор пиктограмм.
Вкладки Apt и Optimization
На вкладке Apt задаются репозитории, которые будут доступны новому
дистрибутиву. Поскольку своих репо у меня нет, то и выбирать нечего. А вот с
оптимизацией осторожнее. Дело в том, что эта версия реконструктора рассчитана на
Ubuntu 8.04, и неизвестно, что она сотворит со скриптами инициализации Ubuntu
8.10. Экспериментировать я пока не стал (хотя обязательно попробую), поэтому
сразу с вкладки Optimization переходим на вкладку LiveCD.
Здесь можно указать имя машины, имя пользователя LiveCD и задать пароль (раз
собираешь дистрибутив для себя любимого). Если нужно просто изменить имя
пользователя по умолчанию, я расскажу, как это сделать с помощью
конфигурационных файлов, но чуть позже.
Теперь самое интересное. На вкладке Modules ты можешь выбрать модули. Модули
выполняют некие действия, например – удалить GIMP или OpenOffice для экономии
места. Также есть модули для установки MPlayer, Flash-модуля для Firefox. Их
можно запускать сразу (Execute) или же при загрузке (Run on boot). Так, если ты
хочешь добавить MPlayer в свой дистрибутив, выбери модуль MPlayer как Execute и
нажми Apply. Не забывай посматривать в сторону верхнего правого угла окна – там
указывается предполагаемый размер образа (Estimated ISO Size). В моем случае
программа насчитала 702 Мб, а при создании образа вышло 745 Мб.
Если нужно установить дополнительные пакеты, укажи их в поле Custom apt-get
(install) и нажми кнопку Apply. Пакеты нужно перечислить через пробел, например,
"пакет1 пакет2 пакет3". Количество пакетов не ограничено, однако не
перестарайся. Установи несколько пакетов (тянутся из инета), посмотри, насколько
увеличился размер диска, потом ставь остальные. Аналогично, поле Custom apt-get
(remove) используется для удаления пакетов.
Если хочешь поковыряться в файловой системе дистрибутива, нажми кнопку
"Терминал". После этого ты получишь root-доступ к файловой системе дистрибутива
и сможешь сотворить с ним все, что угодно. Когда нужно подправить конфиг, я
предпочитаю другой способ. Открой обычный системный терминал (Приложения ->
Стандартные -> Терминал), а затем выполни команду "sudo mc" для запуска
файлового менеджера mc (ведь он у тебя установлен?) с правами root. Затем
перейди в каталог, в который был распакован исходный ISO. В моем случае это
/media/disk/livecd. В нем ты обнаружишь три подкаталога – initrd (надеюсь, все
знают, что это такое?), remaster (распакованная версия ISO), root (корневая ФС
твоего дистрибутива).
Что же здесь можно сделать? Можно перейти в каталог remaster и удалить все
*.exe-файлы и файл autorun.ini. Так мы сэкономим 1,3 Мб. Немного, но зачем нам
лишнее? Затем можно открыть файл initrd/etc/casper.conf и установить имя
пользователя по умолчанию и строку, которая будет выводиться на панели GNOME (в
моем случае – Denix session user):
export USERNAME="denix"
export USERFULLNAME="Denix session user"
export HOST="denix"
export BUILD_SYSTEM="Denix"
После того, как выполнишь все модификации с файловой системой, не забудь
нажать кнопку Apply для пересчета размера ISO. И смело щелкаем Next для
продолжения.
Подготовка к сборке ISO
А теперь будь внимателен! Если впервые собираешь свой LiveCD, убедись, что
включены параметры Initial Ramdisk, SquashFS Root, Live CD (ISO). А вот если
хочешь доработать LiveCD, который начал делать, скажем, вчера, то эти параметры
должны быть выключены! Иначе программа перезапишет все изменения!
Filename – имя LiveCD. Проверь, что у тебя есть место на диске (около 750
Мб), в крайнем случае можно создать ISO-образ на другом разделе. Description –
это метка диска. Нажимай Next и наслаждайся процессом сборки твоего
дистрибутива.
Тестирование
Запиши ISO на болванку с помощью любой программы (например, Nero for Linux) и
загрузись с него. Сначала ты увидишь установленный тобой фон для GRUB. Далее –
экран загрузки системы, а затем - рабочий стол. Можно даже попробовать
установить дистрибутив на свой компьютер – установка пройдет без особых проблем.
После перезагрузки увидишь установленную тобой GDM-тему.
Займемся кастомизацией
Поздравляю тебя с первой сборкой! Но еще нужно поработать напильником, ведь:
- При загрузке системы (после установки на жесткий диск) отображается
Usplash Ubuntu, а не нашего дистрибутива; - В каталоге Examples на рабочем столе до сих пор стандартные примеры
Ubuntu; - При запуске GNOME пользователи слышат звук Ubuntu;
- Состав программного обеспечения остался прежним.
Вначале установим Usplash для твоего дистрибутива. Открой терминал и выполни
команду "sudo mc". Теперь нужно перейти в каталог, где находится файловая
система нашего дистрибутива. Поскольку я распаковал образ в /media/disk/livecd,
то таким каталогом у меня был /media/disk/livecd/root. Перейди в каталог
/usr/lib/usplash своего LiveCD (то есть, это будет
/media/disk/livecd/root/usr/lib/usplash). В нем как раз и хранятся SO-файлы
Usplash. Ведь ты уже создал Usplash-файл с разрешением 800х600? Скопируй его на
место usplash-theme-ubuntu.so. Конечно, можно поковыряться в конфигах usplash и
прописать собственный файл без удаления оригинального, но так намного быстрее. К
тому же, сгенерированный реконструктором файл занимает всего 400 Кб, а
оригинальный – 2 Мб.
Займемся примерами. Перейди в каталог /usr/share/example-content своего
LiveCD (/media/disk/livecd/root/usr/share/example-content). Удали все, что там
есть, и заполни своим содержимым. А можно вообще ничем не заполнять – в этом
случае ты просто сэкономишь пользователю место на диске. Можно поместить туда
сценарии для установки дополнительных пакетов. В общем, все зависит от полета
твоей фантазии.
Итак, usplash установили, примеры – почистили. Теперь звук. Нужно найти
подходящий файл в формате OGG (или же сконвертировать образец из любого другого
формата в формат OGG программой oggenc) и поместить его в каталог
/usr/share/sounds. Тут уж решать тебе – либо создавать свою собственную тему по
образу и подобию размещенной в каталоге /usr/share/sounds/ubuntu, либо просто
скопировать подготовленный OGG-файл в desktop-login.ogg – это звук,
воспроизводимый при входе в GNOME. Можно еще заменить звук, воспроизводимый при
выходе из GNOME - desktop-logout.ogg.
Идем дальше! Нужно установить пакеты, и здесь нам понадобится другой терминал
– тот, который запускается реконструктором. Открываем его нажатием кнопки
Terminal и вводим команды:
$ sudo apt-get install <список_пакетов>
$ sudo apt-get remove <список_пакетов>
Очевидно, первая команда используется для установки пакетов, а вторая – для
удаления.
При установке пакетов таким способом они снова будут скачаны из интернета.
Кого-то такой вариант не устроит – не у всех же безлимитка. Да и хотелось бы
установить на LiveCD все пакеты, которые уже установлены на твоей рабочей
системе, чтобы так: установил Ubuntu, накатил все пакеты, потом перенес эти
пакеты на LiveCD, и у тебя уже есть готовый LiveCD со всем необходимым!
Запускаем два терминала: первый обычный (Приложения -> Стандартные ->
Терминал), а второй – терминал реконфигуратора. В первом терминале запускаем mc
с правами root и переходим в каталог с пакетами /var/cache/apt/archives:
$ sudo mc
На второй панели переходим в каталог /media/disk/livecd/root – это корневая
файловая система нашего LiveCD. Создаем каталог deb и копируем в него все пакеты
из /var/cache/apt/archives:
$ mkdir deb
$ cp /var/cache/apt/archives/*.deb /media/disk/livecd/root/deb
Осталось только установить их в нашем LiveCD. Отправляемся во второй терминал
и вводим:
$ cd deb
$ dpkg –i *.deb
$ rm *.deb
$ exit
Первая команда переходит в каталог deb, содержащий пакеты, вторая –
устанавливает пакеты. О разрешении зависимостей можно не беспокоиться: тут есть
все нужные пакеты, они проинсталлированы в нашей системе, а при установке были
разрешены любые зависимости! Третья команда удаляет deb-пакеты – они нам больше
не требуются, а дублировать их на LiveCD нет смысла. Последняя команда закрывает
терминал. Реконфигуратор пересчитает размер образа – ты увидишь его в верхнем
правом углу программы. Посмотрим, может, ты переборщил!
По собственному опыту могу сказать следующее: если удалить из LiveCD
OpenOffice и GIMP, а вместо них установить пакеты локализации, кодеки и MPlayer,
то дистрибутив поместится на CD. Размер образа будет примерно 695 Мб. А вот если
ничего не удалять, то записать образ получится только на DVD. Дистрибутив Denix
0.5 Full занимает 981 Мб. Я заменил родной OpenOffice 2.4 на OpenOffice 3.0 Pro
от ИнфраРесурс и установил пакеты локализации, кодеки, MPlayer, Thunderbird,
FileZilla. Догадываюсь, какой вопрос ты хочешь задать. А можно ли CD-образ,
созданный программой, записать на DVD? Да, проверено, – работает!
INFO
Не знаешь, как индексировать изображение? Создай его в GIMP, выбери команду
меню "Изображение -> Режим -> Индексированное" и в появившемся окне установи
максимальное число цветов палитры – 256. Сохрани изображение как PNG-файл.
Как быстро создать свою тему? Скачай понравившуюся с gnome-look.org. Распакуй
архив в любой каталог. Измени файлы темы: графические файлы можно редактировать
в GIMP, а файлы конфигурации – в gedit. Затем запакуй все обратно.
Для сборки своего дистрибутива можно использовать Ubuntu Customization Kit,
но все, что он делает, выполнимо и с помощью реконструктора. Текущая версия UCK
не работает с Ubuntu 8.10.