Создание собственного iso-образа calculate linux

С помощью утилиты Calculate Builder мы можем на основе любого ISO-образа Calculate Linux создать свой со всеми необходимыми вам программами и настройками.

Переходим в папку, где находится нужный образ ISO, и выводим список имеющихся файлов:

# cd /var/calculate/linux
# ls
cld-15.17-x86_64.iso

Подготовка сборки

# cl-builder-prepare --iso cld-15.17-x86_64.iso
Подготовить новую сборку                                                   
 * Исходный образ: Calculate Linux Desktop KDE 15.17 x86_64 20160519       
 * Профиль системы: distros:CLD/amd64                                      
 * Местонахождение сборки: /var/calculate/builder/distros_CLD_amd64        
 * Идентификатор сборки: distros:CLD/amd64                                 
 * Использовать слои для сборки: да                                        
 * Свободное место на диске: 12.5G                                         
Запустить процесс? (Yes/No): yes                                           
 * Распаковка образа системы ...                                     [ ok ]
 * Подключение ресурсов ...                                          [ ok ]
 * Настройка сборки ...                                              [ ok ]
 * Сборка подготовлена успешно

Обновление сборки до актуального состояния

# cl-builder-update -f

Настройка своего образа

Переход в окружение chroot

chroot — это операция изменения корневого каталога в Unix-подобных операционных системах. Программа, запущенная с изменённым корневым каталогом, будет иметь доступ только к файлам, содержащимся в данном каталоге.

# chroot /run/calculate/mount/distros_CLD_amd64

Удаление ненужных программ

Удалим браузер Firefox:

# emerge -C firefox

Установка программ без вмешательства

Установим браузер Qupzilla:

# emerge -av qupzilla

...свободный векторный редактор InkScape:

# emerge -av inkscape

...свободное программное обеспечение WINE, позволяющее пользователям UNIX-подобных систем запускать приложения, созданные для Microsoft Windows:

# emerge -av wine

..свободный почтовый клиент Thunderbird:

# emerge -av thunderbird

Установка программ с вмешательством

Некоторые пакеты требуют ручного вмешательства в процес установки.

Установим, например, клиент для организации хранения, синхронизации и обмена данными, размещенными на внешних серверах Owncloud.

# emerge -av net-misc/owncloud-client
...
The following keyword changes are necessary to proceed:
(see "package.accept_keywords" in the portage(5) man page for more details)
required by net-misc/owncloud-client (argument)
----
=net-misc/owncloud-client-2.2.4 ~amd64
----
Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
ying special attention to mask or keyword changes that may expose
experimental or unstable packages.

Как видно из вывода, требуется добавить информацию в файл /etc/portage/package.keywords/custom.

Добавляем необходимую строку командой в консоли:

# echo "=net-misc/owncloud-client-2.2.4 ~amd64" >> /etc/portage/package.keywords/custom

Внимание! Для добавления параметра в файл обязательно указать два знака >>!

Теперь при повторном запуска установка пройдёт без вмешательства.

Выйдем из chroot.

# exit

Удаление избыточныx зависимостей, появившихся после установки

# cl-builder-update

Сборка нового образа

# cl-builder-image
Создать образ
 * Идентификатор сборки: distros:CLD/amd64
 * Система: Calculate Linux Desktop 15.17 KDE x86_64 20161001
 * Короткое название сборки: CLD
 * Дополнительное название: KDE
 * Тип системы: desktop
 * Версия сборки: 15.17
 * Build версия: 20161001
 * Путь до образа: /var/calculate/linux/cld-20161001-x86_64.iso
 * Включить проприетарные видео драйвера: нет
 * Сжатие: xz
 * ISO hybrid свойство: да
 * Сохранить дерево портежей: да
 * Выполнить prelink: нет
 * Свободное место для сборки ISO: 4G
 * Свободное место для ISO образа: 4G
 * Использовать только стабильные обновления: да
 * Метод обновления конфигурационных файлов: Использовать новые конфигурационные файлы
Запустить процесс? (Yes/No): y
 * Настройка сборки ...                                              [ ok ]
 * Удаление истории репозитория Distros ...                          [ ok ]
 * Удаление истории репозитория Calculate ...                        [ ok ]
 * Удаление истории репозитория Gentoo ...                           [ ok ]
Создание загрузочного образа
 * Отключение системных ресурсов от сборки ...                       [ ok ]
 * Настройка образа сжатой файловой системы ...                      [ ok ]
 * Запаковка образа сжатой файловой системы ...                      [ ok ]
 * Подготовка ISO данных ...                                         [ ok ]
 * Запаковка ISO образа ...                                          [ ok ]
 * Добавление isohybrid свойства к образу ...                        [ ok ]
 * Создание списка пакетов ...                                       [ ok ]
 * Восстановление системных ресурсов сборки ...                      [ ok ]
 * Создние образа выполнено успешно

Расположение готового образа

Готовый образ будет находиться в папке /var/calculate/linux/.

Имя файла образа будет включать дату сборки.

Завершение сборки

Внимание! Не завершайте сборку, если впоследствии планируете производить в ней изменения.

# cl-builder-break

Подключение к ранее созданной сборке

Внимание! После перезагрузки в ранее созданную сборку попасть нельзя. Чтобы снова к ней подключиться, необходима дополнительная команда.

Перейдите в папку, где находится образ, и выполните команду:

# cl-builder-restore

Собственный профиль на образе

Если при загрузке с образа по PXE вы хотите видеть свои настройки, вы можете настроить систему, на которой создаете образ, идентичным способом и перед сборкой скопировать папку /home/guest в подготовленную сборку по пути: /var/calculate/builder/distros-CLD-amd64.

Внимание! При установке системы настройки не будут использованы. Для использования своих настроек в устанавливаемой системе со своего образа необходимо отредактировать шаблоны.

Видео по теме

Как заменить браузер в ISO-образе дистрибутива Calculate Linux Desktop

Экспиремент сборка по Wiki Тема Очеловечивание OpenBox