Введение
Несколько месяцев назад мне стало интересно, могу ли я собрать свою сборку или даже дистрибутив linux. Как оказалось (внезапно) я могу сделать и то и другое. Но в этой статье мы поговорим именно про создание своей сборки.
Итак, мы будем использовать CUBIC и создавать свою сборку на основе Ubuntu. CUBIC - Custom Ubuntu ISO Creator, эта программа позволяет особо не заморачиваясь собрать полноценную сборку базирующуюся на Ubuntu. Давайте рассмотрим этот процесс подробнее.
Установка CUBIC
Итак, для того, что бы собрать Ubuntu нам потребуется собственно CUBIC и образ той версии Ubuntu на основе которой мы и будем строить нашу сборку. Давайте установим CUBIC на Ubuntu, для этого выполним следующие команды в терминале:
sudo apt update
sudo apt install cubic
И по факту, на этом установка всё.
Создание сборки
Переходим к самой интересной части этой статьи – созданию сборки. Открываем Cubic, вы можете сделать это воспользовавшись графическим интерфейсом или просто введя cubic
в терминале. И откроется такое окно:
После открытия нас сразу попросят выбрать папку для проекта. В этой папке будут располагаться все файлы во время работы с образом. После того, как вы выберете папку для файлов проекта, нажмите кнопку Next в правом верхнем углу. Затем вас попросят выбрать оригинальный диск и назвать и выбрать некоторые параметры для кастомизированного диска.
Итак вам надо выбрать оригинальный диск и часть полей заполнятся автоматически. Давайте подробнее рассмотрим поля для кастомного образа:
Version – автоматически должно заполнится текущей датой, можете указать там версию вашего проекта.
Filename – имя файла вашего кастомного образа.
Directory – папка, в которой будет ваш образ после его создания, фактически та папка, которую мы выбрали вначале.
Volume Id – идентификатор диска.
Disk Name – имя диска, то что будет отображаться во время установки ОС
Release – версия Ubuntu
Заполненным всё это будет выглядеть примерно так:
После того как вы нажмёте Next, Cubic распакует ISO образ и предоставит вам доступ к эмулятору терминала с root правами, вы сможете установить в образ всё, что вам нужно.
Выглядеть это будет примерно так:
Ну, давайте чисто для примера установим парочку программ.
Для примера я установлю туда Cubic через PPA – репозитарий (да, так тоже можно было), для этого выполните эти команды:
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6494C6D6997C215E
Ну, для примера – этого хватит.
Жмём кнопку Next и нам дают выбрать пакеты которые будут удалены после установки. Так например мы можем превратить Ubuntu в супер лёгкую OS даже без графического интерфейса рабочего стола.
Пакетов здесь очень много, и про каждый вам лучше почитать отдельно… Гугл вам в помощь.
После того, как вы закончите выбирать пакеты и нажмёте Next, вам предложат выбрать версию ядра.
В моём случае я буду использовать базовое ядро. Здесь же во вкладке Preseed вы можете настроить авто установку, а во вкладке Boot - некоторые дополнительные конфигурации.
После этого, вам нужно выбрать сжатие файлов. Тут есть такая весьма понятная диаграмма:
Чем ниже и правее – тем медленнее, но меньше размер, а чем левее и выше – тем быстрее, но тем больше объем.
Я оставлю золотую середину и пойду дальше. После нажатия кнопки Generate начнется запаковка пакетов и сборка iso образа.
Потом вы должны увидеть что диск был успешно создан и вы можете его протестировать или закрыть программу.
Давайте попробуем запустить собранный нами образ не в QEMU, использовать который для проверки предлагает Cubic (я не имею ничего против этого эмулятора, но запускать виртуальную машину на виртуальной машине - не самое удобное и быстрое решение), а на VMwere. Я не стал устанавливать эту OС, а просто покажу вам страницу загрузки:
Как видите стандартные кнопки Try и Install имеют подпись не Ubuntu, а Custom. Значит, всё в порядке и у нас всё получилось!
Итог
Cubic - это действительно неплохая программа программа, которая позволяет сделать сборку Ubuntu особо не заморачиваясь. С её помощью вы можете создать образ с предустановленными программами, необходимыми вам, установить другое ядро, исключить некоторые пакеты из Ubuntu для облегчения или оптимизации ОС, настроить авто установку и многое другое.
В этой статье был представлен максимально короткий гайд для начинающих знакомится с этой программой. Однако, если кому то это действительно интересно, я могу подготовить более обширную статью по этому поводу, в которой на практике расскажу обо всех особенностях работы с Cubic на примере сборки ОС для себя.
От автора
Спасибо, что дочитали статью до конца, надеюсь она была вам полезна и сэкономила вам время. Если хотите повлиять на выход дальнейших статей, то можете подписаться на мой telegram-канал, там в том числе будут опросы касаемо выходов новых статей а так же разнообразные интересные материалы. Если хотите со мной связаться или предложить тему для статьи - мои контакты есть на сайте.
Ещё раз спасибо, что дочитали до сюда!
Удачи!
Комментарии (14)
GennPen
17.09.2023 11:10А серверную сборку ей можно сделать? А то образы netboot, которые минимально все ставили, после 20.04 перестали делать.
alexs89
17.09.2023 11:10А серверную сборку ей можно сделать?
Можно. Либо воспользоваться netinstall образом Debian, как вариант.
GennPen
17.09.2023 11:10Попробовал CUBIC.
Перед инсталляцией нужно добавлять репозиторий, иначе не находит.
С серверной версией не работает, окно с выбором пакетов просто не показывает, и по факту просто перепаковывает образ.
На счет Debian интересный вариант, нужно обдумать.
kt97679
17.09.2023 11:10Насколько я понял cubic не поддерживает скриптование. Существует ли способ делать то, что умеет cubic, но полностью из командной строки?
Vcoderlab
17.09.2023 11:10А мне бы хотелось сделать на основе убунты live систему наподобие альта. Там поверх read-only образа монтируется overlayfs из отдельного раздела, и в результате состояние системы между загрузками "запоминается".
myz0ne
17.09.2023 11:10Это можно. Описано тут. https://help.ubuntu.com/community/LiveCD/Persistence
Или читайте/редактируйте boot options, искать тут по слову persistence (https://manpages.ubuntu.com/manpages/jammy/man7/live-boot.7.html)
Johan_Palych
17.09.2023 11:10+1Автор удаляет пакет: adcli(Tool for performing actions on an Active Directory domain). А он в курсе, что у пакета много зависимостей. Осиротевшие пакеты так и останутся в rootfs со статусом rc?
Stas_VTK
17.09.2023 11:10Я не осилил установку русского языка по-умолчанию с добавлением индикатора раскладки в пересобранном дистрибутиве (Ubuntu 18.04 Desktop). Может есть где-то очень подробный гайд?
ivangermes
17.09.2023 11:10+2Вот если бы с помощью CUBIC можно было выпилить snap...
Johan_Palych
17.09.2023 11:10Есть Linux Mint(Ubuntu 22.04 LTS) без snap-ов. Сами собираю Chromium и Firefox.
cat /etc/apt/preferences.d/nosnap.pref
Breathe_the_pressure
Если скучные обои можно поменять, то норм. Одобряю.
YarIkGU Автор
Да, при помощи Cubic вы можете пред установить не только программы но и обои, фактически любые данные, PPA и многое другое).
Evilence
Еще нужен антивирус попова, а потом бандлить все это вместе с новой формой компьютера, с заранее вмонтированным дистрибутивом. Вот это будет импортозамещение и шикардос.