пятница, 6 февраля 2009 г.

Cоздаем свой дистрибутив

В этой статье мы попытаемся с помощью нового инструмента Ubuntu Customization Kit создать собственную GNU+Linux систему, не занимаясь компиляцией ядра, ручной проверкой зависимостей и прочими длительными и требующими специальных знаний процедурами. Проще говоря - создадим собственный дистрибутив.
Вкратце: мы возьмём существующий Ubuntu дистрибутив, выбросим из него ненужные и поставим нужные нам программы, настроим и затем запакуем его в liveCD. Получившаяся система может использоваться как переносная, а также может быть установлена на жёсткий диск.


Итак, нам потребуется:

- Один из дистрибутивов Ubuntu, Kubuntu, Xubuntu или Edubuntu;
- пакет Ubuntu Customization Kit (UCK). Сайт: uck.sourceforge.net;
- доступ в Интернет для скачивания и установки пакетов;
- примерно 5GB свободного места в домашнем каталоге;
- немного терпения :-)

Загрузите файл uck_<номер-версии>.deb и откройте его с помощью программы gdebi-gtk (просто щёлкните по файлу). В окне программы щёлкните 'Install Package' – это установит UCK и все пакеты, от которых он зависит.

Откройте терминал (Приложения->Стандартные->Терминал) и наберите в нём uck-gui.


Программа советует добавить строку "deb-src http://archive.ubuntu.com/ubuntu/ dapper main" в файл /etc/apt/sources.list для правильной установки загрузочной картинки. Это можно сделать, например, выполнив команду
sudo bash -c 'echo "deb-src http://archive.ubuntu.com/ubuntu/ dapper main" >> /etc/apt/sources.list'
в новом терминале (потребуется ввести свой пароль). После этого нажимаем OK и видим следующий диалог.


В этом диалоге вы выбираете, какие языки будет поддерживать ваш liveCD.
Затем – язык, который будет использоваться при загрузке по умолчанию:



Графические среды, которые вы хотите установить: Gnome, KDE и другие. Можно выбрать несколько вариантов или ни одного.


Затем программа попросит вас указать местонахождение ISO образа существующего Ubuntu дистрибутива. Если у вас нет ISO образа в виде файла, но есть диск с дистрибутивом, вы можете извлечь из него ISO образ простой командой:
dd if='/dev/cdrom' of='имя_файла' bs=MB
Замените 'имя_файла' на полное имя файла, в который вы хотите сохранить ISO образ. Затем укажите программе на этот файл.


Назовите ваш дистрибутив!

Следующий вопрос: хотите ли вы использовать продвинутые средства создания liveCD (систему управления пакетами, консоль и т.д.). Если вы хотите добавить/удалить из дистрибутива пограммы, вам потребуются эти инструменты. Если нет – вы получите стандартный Ubuntu дистрибутив с графическими средами, которые вы указали ранее.

Хотите ли вы удалить все файлы для Windows с liveCD (набор открытых программ и файлы автозапуска)?

Нажимаем OK и начинается процесс распаковки ISO файла. От вас может потребоваться ввести свой пароль. По окончании распаковки появится новое диалоговое окно.

В это время полное содержимое файловой системы будущего liveCD находится в папке ~/tmp/remaster-root (тильда означает домашний каталог текущего пользователя, например, /home/myuser). Вы можете изменять её содержимое по своему усмотрению. Например, вы можете перенести свои настройки, скопировав файлы настроек из своего домашнего каталога в домашний каталог пользователя ubuntu в liveCD системе. Разумеется, сначала нужно создать домашний каталог для этого пользователя, а затем дать ему права на использование скопированных файлов.
Но прежде займёмся программами. Выберите пункт 'Run package manager' – запустится менеджер пакетов. С его помощью вы можете устанавливать и удалять программы из нового дистрибутива.

Однако по умолчанию включены только три из пяти компонентов официального репозитория Ubuntu (main, restricted и source), поэтому для установки доступны всего около 5000 пакетов. Чтобы расширить выбор, найдите меню 'Settings' вверху окна менеджера и выберите пункт 'Repositories'. В появившемся окне отметьте пункт 'Community-maintained Open Source software (universe)'. Это добавит ещё примерно 15000 пакетов.

По окончании выбора закройте окно и нажмите 'Reload', чтобы загрузить новый список пакетов. Вы также можете отметить пункт 'Software restricted by copyright or legal issues (multiverse)' – этот компонент содержит около 500 дополнительных проприетарных программ, однако ввиду их закрытости и недоступности исходного кода их правильная работа и соответствие реальных функций заявленным не гарантируется.
Теперь вы можете отметить программы, которые вы хотите установить (шелчок правой клавишей -> 'Mark for Installation'), удалить ('Mark for Complete Removal') и обновить ('Mark for Upgrade'). Разница между 'Mark for Removal' и 'Mark for Complete Removal' в том, что последнее помимо прочего удаляет все конфигурационные файлы программы. Используйте сортировку по категориям в левой части окна и переключайте наборы категорий кнопками снизу.
Когда закончите настройку, нажмите 'Apply'. Старые пакеты будут удалены, новые загружены и установлены.

С программами покончено, теперь вы вероятно хотите перенести на liveCD свои пользовательские настройки. Это можно сделать, скопировав файлы и папки вида '.имяфайла' из вашего домашнего каталога в домашний каталог пользователя ubuntu на liveCD. Но последний нужно сначала создать:
sudo mkdir ~/tmp/remaster-root/home/ubuntu
Для копирования файлов в liveCD вам потребуются права суперпользователя. Запустите файловый менеджер nautilus следующим образом:
sudo nautilus ~/tmp/remaster-root/home/ubuntu
(если вы используете KDE, замените nautilus на konqueror)
Вот некоторые папки и файлы, представляющие для нас интерес:
.kde, .qt, .local – настройки всех программ графической среды KDE
.config, .gconf, .gnome, .gnome_private, .gnome2, .gnome2_private, .gstreamer-*, .icons, .themes, .evolution, .metacity, .nautilus, .gtk-bookmarks, .gtkrc-1.2-gnome2, и другие .gtkrc* – настройки программ, составляющих среду Gnome
.gaim – настройки интернет-пейджера Gaim (включая все учётные записи и пароли)
.gimp-* - настройки редактора изображений GIMP
.mozilla – настройки браузера Firefox
.openoffice.org2 – настройки офисных программ из OpenOffice.org
Desktop – рабочий стол ;-)
.dmrc – какая графическая среда запускается по умолчанию
.fontconfig, .fonts, .fonts.conf – шрифты и их настройки
После копирования файлов необходимо присвоить их пользователю ubuntu, который используется по умолчанию в liveCD
sudo chown -R 999:999 ~/tmp/remaster-root/home/ubuntu

Всё! Если хотите ещё похозяйничать внутри liveCD из консоли, выберите в окне UCK 'Run console application', если хотите приступить к запаковке ISO образа – 'Continue building'.

В конце программа сообщит в окне терминала об успешности операции (в случае её успеха) и укажет местонахождение ISO образа liveCD (~/tmp/remaster-new-files/livecd.iso).
Всё что остаётся сделать – это записать новый дистрибутив на диск.

С Ubuntu создать собственную операционную систему легко:-) Удачи!

Тексты скриптов UCK можно найти в /usr/bin/uck-gui и /usr/lib/uck/gui.sh, а также в каталоге ~/tmp/customization-scripts

Комментариев нет:

Отправить комментарий