• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Статья Простой способ создания дистрибутива Linux на базе Debian с установленными приложениями и обновлениями на примере Linux Mint

Как часто вам хотелось бы иметь под рукой сборку Linux, после установки которой не требуется дополнительная установка нужных для работы приложений, просто потому, что они уже присутствуют в системе? Думаю, каждый раз, когда вы устанавливаете ОС. Конечно же, можно пойти «hard way» и собрать ядро и его окружение самостоятельно. Но для этого нужно обладать нужными знаниями и квалификацией и потратить достаточно большое количество времени на осуществление задуманного. Но есть способ проще. Его мы и рассмотрим в данной статье.

linux.png

Для создания своего, кастомного ISO-образа дистрибутива мы будем использовать Cubic. Это собственно, аббревиатура, которая обозначает Custom Ubuntu ISO Creator, и, как пишут сами разработчики данного приложения, представляет собой мастер с графическим интерфейсом для создания сборок на основе Ubuntu или любых, имеющих кодовую базу Debian. Так ли это, проверим на дистрибутиве Linux Mint 21.1.


Что потребуется?

Конечно же, для начала вам нужна операционная система Linux на основе Debian, ведь именно в нее необходимо устанавливать Cubic.
Затем, чтобы его все же установить придется выполнить ряд команд по добавлению его репозитория и обновления списка пакетов:

Код:
sudo apt-add-repository universe
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt update

01.png

И уже после того, как вышеуказанные команды будут выполнены, приступаем к установке Cubic. Вводим в терминале команду:

sudo apt install --no-install-recommends cubic

Подтверждаем установку и ожидаем ее окончания.

02.png

После установки Cubic будет доступен в основном меню. Для примера, в Linux Mint он обосновался Администрировании.

03.png

Двигаемся дальше. После того, как Cubic будет установлен, нужно подготовить образ дистрибутива, который вы желаете кастомизировать. У меня это будет Linux Mint 21.1. Также нужно будет подготовить папку, куда будет производиться распаковка данного дистрибутива. И на этом шаге будьте внимательны, так как размер распакованного образа может занимать более 10 Гб, а значит, на диске, куда он будет распаковываться, должно быть достаточно свободного места.

Для примера, вот как это выглядит у меня:

04.png

Запускаем Cubic и на первом шаге нам будет предложено выбрать директорию проекта. Так как она у нас уже подготовлена, выбираем ее и двигаемся дальше. А именно жмем на зеленую кнопку «Next», которая появиться в правом верхнем углу.

05.png

На следующем шаге нам будет предложено выбрать образ оригинальной операционной системы. Поэтому, жмем на кнопку выбора, выделяем нужный дистрибутив, у меня он уже заранее подготовлен, и нажимаем кнопку «Select».

06.png

Таким образом, переда нами будет окно разделенное на две части. В левой части отобразиться информация об оригинальном образе, в правой части автоматически подставиться информация о кастомной сборке. Эти параметры можно изменить. Если же изменений вносить не требуется или, вы уже сделали это, жмем кнопку «Next» и двигаемся дальше.

07.png

После того, как вы нажмете кнопку «Next» начнется анализ и распаковка оригинального образа в указанную вами директорию.

08.png

Здесь нужно будет немного подождать. Хотя, тут параметры скорости распаковки у каждого индивидуальны и будут зависеть от скорости диска, процессора и, думаю, других, немаловажных параметров. Так или иначе, данная операция, как правило не занимает много времени.

После того, как дистрибутив распакуется, будет запущена распакованная операционная система в режиме администратора. Конечно же, тут не будет графической оболочки. Но, тем не менее, в терминале мы можем делать с распакованным дистрибутивом необходимые изменения.

09.png

Для начала я удалю те приложения, которыми я либо никогда не пользовался в данной ОС вообще, либо если пользовался, то очень давно и со временем перестал, так как они утратили для меня актуальность. Вы же можете, в пределах разумного, конечно, удалить все приложения, которые вам не нужны. Я же показываю вам только пример, как это можно сделать.

К примеру, я не пользуюсь почтовым клиентом ThunderBird, HexChat, Hypnotix. Поэтому пишу команду для их удаления:

apt purge thunderbird hexchat hypnotix

sudo можно не указывать, так как вы итак работаете от имени суперпользователя.

10.png

После этого я обновлю список пакетов с помощью команды:

apt update

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

apt full-upgrade

и ожидаем окончания процесса.

11.png

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

Код:
sudo apt-get -y install fonts-crosextra-carlito fonts-crosextra-caladea
sudo apt-get -y install ubuntu-restricted-extras --assume-yes
sudo apt-get -y install ubuntu-restricted-extras libavcodec-extra
sudo apt-get -y install software-properties-common

Можно с sudo, можно без.

12.png

Теперь установим DoubleCommander. Данное приложение устанавливается для примера. Его устанавливать не обязательно. Выбор приложений только за вами.
Для его установки пишем:

sudo apt-get -y install doublecmd-gtk

Теперь давайте установим Телеграмм. Здесь уже необходимо добавить репозиторий.
Поэтому пишем в терминале команды:

Код:
sudo add-apt-repository ppa:atareao/telegram
sudo apt-get update
sudo apt-get -y install telegram

Мне иногда требуется приложение для работы с базами данных sqlite. Потому я устанавливаю DB Browser for SQLite. Чтобы он уже был интегрирован в устанавливаемую систему, пишем в терминале команду:

sudo apt-get install sqlitebrowser

Так как я иногда программирую на Python мне нужно, чтобы в системе была установлена IDE. Я пользуюсь PyCharm. Поэтому идем к ним на сайт, копируем ссылку на загрузку приложения и с помощью wget загружаем его в кастомизируемую систему:

wget https://download.jetbrains.com/python/pycharm-community-2023.1.2.tar.gz

Ждем, пока загрузиться приложение. После чего, его нужно распаковать в нужное место, а именно в каталог opt. Поэтому пишем команду:

sudo tar xzf pycharm-community-2023.1.2.tar.gz -C /opt/

Ну и после распаковки, чтобы загруженный файл не упаковался в дистрибутив, удаляем его из директории, куда он был загружен. В моем случае команда будет выглядеть так:

rm pycharm-community-2023.1.2.tar.gz

Теперь вам останеться только добавить ярлык для запуска IDE в меню приложений или на рабочий стол.
Для разнообразия давайте установим WireShark. Для этого пишем команду:

apt install wireshark

Теперь установим еще одно приложение, которым я пользуюсь довольно часто. Именно оно позволяет мне структурировать загруженные книги в электронном формате — Calibre. Для его установки идем на сайт, копируем указанную на нем команду и выполняем в кастомизируемом дистрибутиве.

sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin

Двигаемся дальше. По умолчанию пакетный менеджер Pip не установлен в Linux, в частности в Linux Mint. Поэтому, для его установки пишем команду:

sudo apt install python3-pip

Иногда мне требуется PyQt Designer. Поэтому, я установлю его в Linux Mint с помощью следующих команд:

Код:
sudo apt-get install python3-pyqt5
sudo apt-get install pyqt5-dev-tools
sudo apt-get install qttools5-dev-tools

Ну и напоследок немного приберемся в создаваемом дистрибутиве. Для этого выполним следующие команды:

Код:
sudo apt autoremove
sudo apt-get autoclean
sudo apt-get clean -y
sudo apt-get install -f

На этом программу минимум можно завершить. Ваши приложения могут отличатся от тех, что установлены мною. Но то, что устанавливаю я — это только лишь пример. Поэтому, двигаемся дальше и жмем кнопку «Next».

13.png

Выполнится проверка дистрибутива и установленных приложений. После этого откроется окно со списком пакетов, которые будут удалены из него после сборки. Я не буду трогать галочки установленные по умолчанию. Оставлю только GParted, так как он может пригодится в будущем. Для этого надо снять галочки с компонента, который вы хотите оставить.

14.png

После этого жмем кнопку «Next». В следующем окне будет предложено выбрать ядро используемое в системе. Я ничего здесь менять не буду. Оставлю то ядро, что предлагается по умолчанию. Тем более, так как мы обновили систему, оно здесь будет последней версии.

15.png

На следующем экране будет предложено выбрать степень сжатия образа дистрибутива. Чем больше сжатие, тем, соответственно, меньше размер образа. Ну и конечно же, чем больше сжатие, тем дольше время его сборки. Я оставлю так как есть. В этом случае размер образа получиться 4 ± Гб. Жму кнопку «Generate».

16.png

Вот и все. Мы на финишной прямой. Началась сборка и сжатие образа. Конечно же это займет какое-то время. И нам останется только загрузиться с созданного образа и проверить, все ли установилось в нашей созданной системе.

17.png

У меня сборка заняла что-то около 3-4 минут. Точно засечь время не догадался. Но, все, конечно же зависит от особенностей вашего железа. Итак, образ создан. На последнем экране будет отображена основная информация и предложено удалить файлы проекта.

18.png

Теперь, самое время приступить к тестам созданного кастома. Потому, грузимся в live-систему и смотрим, что у нас изменилось в дистрибутиве, по отношению к его оригинальному образу. К слову, протестировать его можно прямо из Cubic. Для этого, после окончания сборки образа появится кнопка «Test» в левом верхнем углу.

19.png

Созданный дистрибутив будет располагаться в той папке, которую вы указали для распаковки образа оригинального диска. В ее корне. Среди множества папок и файлов мы находим это:

20.png

К слову. Удалить директорию, если вы не выбрали это в интерфейсе Cubic можно будет только запустив файловый менеджер от имени суперпользователя. Ну или сделав это в терминале. Так как владельцем папок и файлов является root.
Запускаю дистрибутив в VirtualBox и начинаю проверять. Дальше будет много скриншотов.

21.png

22.png

23.png

24.png

25.png

26.png

Таким образом, мы можем упростить постнастройку ОС после ее установки и сократить время, которое тратиться на обновление.

А на этом, пожалуй, все.

Спасибо за внимание. Надеюсь данная информация будет вам полезна
 
Последнее редактирование модератором:

Льен

New member
05.01.2024
1
0
BIT
3
Подскажите пожалуйста как добавить опцию TORAM в меню загрузки.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!