- Создание собственного iso-образа calculate linux
- Подготовка сборки
- Обновление сборки до актуального состояния
- Настройка своего образа
- Переход в окружение chroot
- Удаление ненужных программ
- Установка программ без вмешательства
- Установка программ с вмешательством
- Удаление избыточныx зависимостей, появившихся после установки
- Сборка нового образа
- Расположение готового образа
- Завершение сборки
- Подключение к ранее созданной сборке
- Собственный профиль на образе
- Интерактивная сборка системы¶
- Как работает Calculate Builder
- Процесс сборки системы¶
- Шаблоны установки¶
- Сохранение внесенных изменений¶
- Установка системы¶
- Примеры¶
- Добавление в дистрибутив CLS браузера Opera, используя загрузочный CD¶
- Установка CLS на флешку и обновление дерева портежей¶
Создание собственного 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 ] * Сборка подготовлена успешно
Обновление сборки до актуального состояния
Настройка своего образа
Переход в окружение chroot
chroot — это операция изменения корневого каталога в Unix-подобных операционных системах. Программа, запущенная с изменённым корневым каталогом, будет иметь доступ только к файлам, содержащимся в данном каталоге.
# chroot /run/calculate/mount/distros_CLD_amd64
Удаление ненужных программ
Установка программ без вмешательства
Установим браузер Qupzilla:
. свободный векторный редактор InkScape:
. свободное программное обеспечение WINE, позволяющее пользователям UNIX-подобных систем запускать приложения, созданные для Microsoft Windows:
..свободный почтовый клиент 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
Внимание! Для добавления параметра в файл обязательно указать два знака >>!
Теперь при повторном запуска установка пройдёт без вмешательства.
Удаление избыточныx зависимостей, появившихся после установки
Сборка нового образа
# 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/.
Имя файла образа будет включать дату сборки.
Завершение сборки
Внимание! Не завершайте сборку, если впоследствии планируете производить в ней изменения.
Подключение к ранее созданной сборке
Внимание! После перезагрузки в ранее созданную сборку попасть нельзя. Чтобы снова к ней подключиться, необходима дополнительная команда.
Перейдите в папку, где находится образ, и выполните команду:
Собственный профиль на образе
Если при загрузке с образа по PXE вы хотите видеть свои настройки, вы можете настроить систему, на которой создаете образ, идентичным способом и перед сборкой скопировать папку /home/guest в подготовленную сборку по пути: /var/calculate/builder/distros-CLD-amd64.
Внимание! При установке системы настройки не будут использованы. Для использования своих настроек в устанавливаемой системе со своего образа необходимо отредактировать шаблоны.
Интерактивная сборка системы¶
Интерактивная сборка — это новый подход в создании своего собственного загрузочного образа. Вы можете собирать необходимые пакеты, менять настройки и при этом видеть результат своей работы, сразу же тестируя собираемый дистрибутив.
- Позволить каждому желающему создавать свой дистрибутив системы в соответствии с его взглядами и потребностями;
- Сделать процесс сборки системы более легким и доступным.
Как работает Calculate Builder
Использование интерактивного режима сборки доступно во всех дистрибутивах Calculate Linux начиная с версии 9.8. Для использования режима сборки воспользуйтесь режимом загрузки Builder на USB Flash или LiveCD.
Во время загрузки в Builder-режиме файловая система монтируется из трех слоев aufs2:
- Первый слой, calculate, представляет собой livecd.squashfs-образ системы, загружаемый с носителя и примонтированый в режиме «только для чтения». Он берётся за основу будущего дистрибутива.
- Второй слой — delta — слой, в котором будут сохраняться все изменения во время сборки нового дистрибутива.
- Третий слой, workspace, — рабочий слой, в котором Вы производите все изменения над исходной системой.
После загрузки все три слоя будут доступны в директории /mnt/scratch .
Вы можете запускать программы, менять настройки, создавать файлы — все ваши изменения будут сохраняться в слое workspace, не внося изменений в итоговый образ нового дистрибутива.
Интерактивная сборка происходит в директории /mnt/builder , являющейся результатом объединения двух слоев — calculate и delta. Вы также можете видеть все происходящие изменения, выполняя в процессе сборки необходимое тестирование собираемых приложений.
Процесс сборки системы¶
В пакет calculate-builder входит утилита cl-builder , которая используется для перехода в интерактивный режим сборки. Выполните cl-builder для подготовки системы к сборке. После выполнения команды приглашение в командной строке изменит свой цвет на коричневый (цвет может быть другим в зависимости от типа терминала) и вы окажетесь в chroot-окружении /mnt/builder . Директории /proc , /dev , /dev/pts , /usr/calculate/share базовой системы будут примонтированы автоматически, а также перенесён файл resolv.conf . Таким образом, сразу после выполнения cl-builder можно приступить к изменениям системы. Вы можете обновить дерево портежей (команда cl-update —sync-only ), а также обновлять, устанавливать или удалять программы. Результат установки программ будет отражаться и на загруженной системе. При этом все ваши действия в загруженной системе не затронут /mnt/builder и останутся только в слое workspace. Для избежания конфликтов в работе программ перед установкой пакетов всегда выполняйте команду cl-builder .
По завершении сборки выйдите из chroot-окружения, набрав в консоли exit либо нажав комбинацию клавиш Ctrl+D .
Шаблоны установки¶
Шаблоны — это конфигурационные файлы, в которых хранятся изменения настроек программ. Шаблоны могут содержать условные блоки, а также внутренние переменные для более гибкой настройки системы.
Шаблоны утилит Calculate хранятся в директории /usr/share/calculate/templates . По аналогии с ними вы можете создать свои шаблоны в директории /var/calculate/templates .
Сохранение внесенных изменений¶
После того как вы закончили работу над изменениями текущего дистрибутива и вышли из chroot-окружения, вы можете создать загрузочный образ LiveCD, включающий все внесённые изменения. Для этого воспользуйтесь командой
Загрузочный образ будет создан в файле с расширением .iso в директории /var/calculate/linux .
Если вы загружались с CD либо USB-Flash, то для всех действий может не хватить оперативной памяти компьютера. Чтобы избежать этого, примонтируйте свободный раздел жесткого диска либо сетевого диска в директорию /var/calculate/linux .
При загрузке с USB Flash вы можете сохранить все изменения в файле livecd.squashfs на вашей флешке. К концу файла будет добавлен порядковый номер сборки. При следующей загрузке будет использован новый образ со всеми изменениями. При последующих сборках старые файлы с образами будут удалены.
Установка системы¶
Полученный в результате изменений текущей системы ISO образ на 100% совместим с Gentoo и обладает всеми свойствами Calculate Linux. Систему можно загрузить с LiveCD, установить на жесткий диск, записать на USB Flash либо переносной USB-HDD. Возможность модификации полученного дистрибутива с помощью загрузки в Builder-режиме сохраняется. Таким образом, вы можете неограниченное число раз менять состав пакетов обычным для Gentoo образом — через обновление дерева портежей.
Примеры¶
Добавление в дистрибутив CLS браузера Opera, используя загрузочный CD¶
- загрузитесь с CD в режиме Builder
- выполните в терминале: cl-builder
- убедившись что цвет курсора изменился, установим браузер командой: emerge opera
- выйдем из chroot, набрав exit
- при необходимости подмонтируем свободный раздел жёсткого диска: mount /dev/sdaX /var/calculate
- сохраним изменения в новом файле с ISO образом: cl-image iso
Установка CLS на флешку и обновление дерева портежей¶
Для выполнения этой операции на компьютере должно быть установлено не менее 2 Гб оперативной памяти, т.к. на обновление дерева портежей может потребоваться достаточно большое количество памяти.
- загрузитесь с CD в обычном режиме
- установите систему на флешку: cl-install -d /dev/sdX1 (вместо sdX1 укажите необходимое устройство, например, sdb1 )
- перезагрузите компьютер, выбрав загрузку с флешки, и выберите в меню загрузки режим Builder
- выполните в терминале команду cl-builder
- убедившись, что курсор изменил цвет, обновите дерево портежей, выполнив cl-update —sync-only
- выйдем из chroot, набрав exit
- обновите файл livecd.squashfs, выполнив: cl-image squash
- перезагрузите компьютер
При недостаточном объеме оперативной памяти следует установить CLS на жесткий диск в режиме Builder, тогда все изменения будут кэшироваться на жестком диске. Команда cl-image squash при этом будет не доступна, а результат работы можно получить в виде готового ISO образа, при помощи команды cl-image iso .