Дистрибутивов, как известно много, и каждый может выбрать что-то на свой вкус. Но что если НИЧЕГО из существующего пользователя не устраивает и хочется собрать что-то свое? Вот взять обычную Ubuntu и выпилить оттуда половину всего, что кажется бесполезным, добавить что-то необходимое и установить на устройство! Заманчиво ведь, согласитесь?
Согласно опросу по использованию Ubuntu, этот дистрибутив вызывает определенный интерес у подписчиков и читателей, а некоторые уже пользуются им на постоянной основе.
Поэтому ниже расскажу о том, как создать собственный дистрибутив, основанный на определенно популярном Ubuntu.
Если желаете получать уведомления о выходе новых заметок на канале, то самое время подписаться на специального бота в Телеграме, который эти уведомления будет отправлять сразу после того, как материал появится в опубликованных.
Утилита Cubic
Название этой программы расшифровывается как Custom Ubuntu ISO Creator. Это приложение с графическим пользовательским интерфейсом, используя которое можно собрать собственный ISO-образ дистрибутива Ubuntu. При помощи Cubic можно выполнить такие действия, как установка новых пакетов в образ и удаление имеющихся, добавление различных версий ядер, дополнительных фоновых обоев, файлов, папок и прочее, прочее, прочее.
Официально поддерживается работа только с дистрибутивами Ubuntu, но, по идее, ничего не мешает вам воспользоваться программой для сборки собственной версии Linux Mint. Собрать, так сказать, собственный Green Linux с блэкджеком и фривольными девицами.
Установка Cubic в Ubuntu
Так как под рукой у меня Ubuntu 23.04, то именно её буду использовать в качестве испытательного полигона. По-умолчанию, в репозиториях Ubuntu нет Cubic, поэтому перед установкой нужно добавить пользователький репозиторий в систему (PPA). Для этого откроем терминал и введем туда последовательность из трех команд:
sudo apt-add-repository ppa:cubic-wizard/release (добавляем ссылку на репозиторий)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6494C6D6997C215E (добавляем доверенный ключ)
sudo apt update && sudo apt install cubic (обновляем источники приложений и устанавливаем cubic)
После окончания установки Cubic появится в меню программ.
Создаем собственный ISO-образ
При первом запуске Cubic предложит выбрать место, где будут храниться все файлы предстояшего проекта по сборке собственного дистрибутива.
На следующем экране будет предложено выбрать оригинальный образ дистрибутива, из которого в дальнейшем будем собирать что-то свое. Я выбрал в качестве основы Ubuntu 23.04, но вы можете выбрать любую интересную вам версию Ubuntu (любую, но современную, как мне кажется, хотя можете попробовать собрать что-то свое на базе древних образов Ubuntu).
После того, как выбрали оригинальный образ, сосединие поля заполнились автоматически, но при желании их можно подправить вручную. После выбора образа начнется его проверка и копирование нужных для работы файлов.
На следующем этапе мы попадаем в так называемый chroot-режим. Если говорить совсем просто, то мы становимся суперпользователем (root-пользователем) в рамках того дистрибутива, образ которого выбрали ранее.
Что можно делать в этом chroot-режиме? Все, что вашей душе угодно! Можно добавлять собственные пакеты и удалять те, которые идут в рамках исходного дистрибутива, создавать нужные нам папки и переносить в них нужные нам файлы, в общем, полная свобода действий.
Давайте, например, удалим из оригинального образа офисный пакет Libre Office и установим туда консольную утилиту Neofetch. Перед выполнением этих действий необходимо добавить нужные репозитории в chroot-окружение при помощи следующих команд:
add-apt-repository --yes main
add-apt-repository --yes restricted
add-apt-repository --yes universe
add-apt-repository --yes multiverse
После этого можно уже удалять Libre Office и устанавливать Neofetch:
apt purge libreoffice* (удаляем Libre Office)
apt install neofetch (устанавливаем Neofetch)
Обратите внимание, что все команды выполняются без sudo, так как мы действуем от имени суперпользователя и имеем все необходимые привелегии. По идее, в chroot-режиме можно выполнить большое количество действий и полностью преобразовать свой будущий дистрибутив, но для этого, как понимаете, необходимо хорошо владеть терминалом и командами для работы в нем.
Чтобы научиться хорошо работать в терминале и не сломать систему в результате экспериментов можно воспользоваться, как виртуальной машиной, так и реальным сервером. Если вы выбрали второй вариант, то рекомендую для создания сервера провайдера Timeweb, которым пользуюсь уже несколько месяцев. При регистрации по моей ссылке и покупке виртуального сервера вы получите 300 рублей на счет, а если приобретете выделенный сервер, то для оплаты услуг в будущем вам на счет поступит 2000 рублей.
В рамках данной статьи мы ограничимся двумя изменениями, произведенными выше. После нажатия кнопки Next утилита вначале применит сделанные изменения.
На следующем экране будет предложено выбрать версию ядра. Так как на предыдущем шаге мы не устанавливали дополнительных ядер, то доступно только два варианта. Но, стоит помнить, что на этапе работы в chroot-окружении можно добавить в систему любое нужное число ядер Linux.
На двух других вкладках можно будет произвести дополнительные действия, связанные с загрузкой своего дистрибутива, но я оставил все по-умолчанию.
На следующем экране нужно выбрать степень сжатия для файловой системы установочного образа. Выбрать желаемый можно при помощи наглядной схемы, которая показывает соотношение каждого сжатия со скоростью работы и размером итогового образа. Я не стал ничего менять и оставил вариант gzip.
После нажатия кнопки Generate начнется сборка ISO-образа с той версией дистрибутива, который мы настраивали.
После окончания сборки в папке, которую мы задавали в самом начале появится ISO-образ с опять-же заданным ранее именем.
Тестируем образ в виртуальной машине QEMU
Если не закрыть Cubic сразу, то можно заметить кнопку Test в левом верхнем углу. После нажатия на нее запустится виртуальная машина, в которой вы можете проверить созданный дистрибутив.
В нашем случае, полученный дистрибутив внешне ничем не отличается от стандартной версии Ubuntu, поэтому далее нас ждет обычная загрузка Live-образа Ubuntu. Однако, если выбрать вариант Попробовать Ubuntu и в терминале запустить neofetch, то утилита работает так, как и должна, так как мы ее добавили во время сборки образа.
Подведем итоги
Естественно, в рамках статьи невозможно отразить всех возможностей и недостатков Cubic. Но задачей материала было рассказать про такую утилиту и показать (хоть и кратко) ее потенциал. Думаю, что те кто заинтересуются Cubic разберутся в программе лучше и смогут создавать собственные версии Ubuntu и Linux Mint.
Если бы вам предложили создать собственный дистрибутив Linux, то каким он был? На какой версии ядра, с какой пакетной базой и рабочим окружением? Расскажите об этом в комментариях, интересно будет почитать.