Как сделать сборку linux

от admin

Live-build

Back in 2012, I was trying everything I could do to get a customised Live CD put together so that I could start installing Debian on other PC’s. I spent a long time learning how to use Live build, and I tweaked it so that I could make a Live CD with about 95% of the apps and config I wanted. But then how about updating the Live CD? It required another build process over the internet that could take hours (it’s a lot faster with apt caching though).

But what if you install a heap of apps that a user will want to remove? That could be a waste of time. Better, I think, to make a basic Live CD to install a base system with the bare minimal needed for a desktop and internet connectivity, and then install other packages later on, per user requirement. You could even include some guides to installing software.

If you want to install with a much larger choice of software ready to go, it would be better to build that system in a real desktop, with all your menus and other tweaks, and then run refractasnapshot (see my system backup page) on it, to make a Live CD from the installed system.

So my strategy would be:
1. Initially, Netinstall/Server ISO or Live Build or Debootstrap followed by system backup with dd — minimal base install (easy to keep cleaning and re-building it)
2. Later, Refractasnapshot — a grander Live CD with much more choice installed.

1. install

and it will be essential to make sure you have these installed too:
now find some space on a partition where all the live-build work will take place (up to 4Gb for basic) and run the initial setup command, `lb config`: (that will build the basic config tree)

2. Congfigure the live cd build

The command is run with options to build what you want:

example 1.
example 2.

example 3.
You can keep using `lb config` with different parameters to set up the configuration before building -but note that you can’t override one that’s been set unless you do a `lb clean` -it is better to use an auto script (see below).

The «chroot» mirror is where packages will come from and the «binary» is what the Live CD will be set to (chroot mirror should default to —mirror-bootstrap). See http://manpages.ubuntu.com/

The 686 flavour with amd64, is essential for the live installer to work, or else you will just have a Live CD without installer, so the man page says.

Or use an auto script
All config options can be put into an auto script so that you only need to run `lb config` and the options are set from the script.
http://live-systems.org/manual/.

edit auto/config to look something like this -adapt to your preference, with amd64/686 or whatever. Here’s how it looks with my example 3,

The script is read when lb config is run. but you may need to run `lb config —conffile auto/config`

I set the mirrors to devuan and lb config still set up for a Debian Jessie build. So following that you will need to edit the files in config/ to enable a devuan build.

config/binary LB_BOOTAPPEND_LIVE=»boot=live components keyboard-layouts=us,us keyboard-variants=colemak username=bob»

to set the keyboard to colemak and change username for live

set Disribution to Devuan and mirrors to
http://deb.devuan.org/merged chimaera
http://deb.devuan.org/merged chimaera-security
http://deb.devuan.org/merged chimaera-updates

config/build
Mirror-Bootstrap: http://deb.devuan.org/merged chimaera

config/chroot
LB_SECURITY=»true»
LB_UPDATES=»true»

config/common
LB_APT_HTTP_PROXY=»http://localhost:3142/»
LB_APT_RECOMMENDS=»false»

The proxy line is for Apt-cacher-ng APT proxy.

Note: to speed up the process and avoid downloading all the packages again and again with each new build attempt, it is highly recomended that you set up a good APT caching proxy that live-build will retrieve packages from (and being downloaded already through the proxy they are kept in the proxy cache to be retrieved much faster the next time).

See my APT proxy page for notes how to do that.

3. Add package name lists before the build

su to root and run these in the build directory, to create lists which will be used to install whatever you need added to the build:

First of all, those needed for successful build as some are possibly excluded by the «no-recommends» option, and the dependencies for live-build (need to be installed into the chroot system before creation of the squash filesystem and ISO).

then do either
1. minimal LXDE install

or
2. plain openbox install
The problem with a plain -no DM- install is that the live ISO may have problems at login or launching Xorg. So it might be advisable to add a DM, such as lightdm.

If you are making a Live CD for a basic install (further packages to be added post-install) then no point in making the build too complex or over-sized, and I would leave it at that.

but if you have ny othe specific areas of packages needed, such as samba, then you can create more package lists like these.

4. Add other/customised packages

You can put .deb archives in config/packages.chroot, such as any packages made from source (compton, checkinstall etc)

! Check the packages names with running dpkg-name *.deb in the dir as they must comply to be included.
http://live-systems.org/manual/.

Some packages might snag the chroot stage, giving an error such as: /usr/bin/env: ‘gpg’: No such file or directory

Therefore it was necessary to pin it to the experimental repository, with all other packages defaulting to the config repository, like this

add this content

Omit a package from the build
-say, if it is a recommended package or installed by a metapackage, you give it a negative Pin-Priority in config/apt/preferences,
see: . /customizing-package-installation.en.html#466

5. Add files to be included in the Live cd

If you’d like to customize the Live CD environment, with autostart, no recommends files etc, you simply add the files to config/includes.chroot directory with the same dir tree as they need in a real file system.

  • apt files > config/includes.chroot/etc/apt
  • LXDE autostart file > config/includes.chroot/etc/xdg/lxsession/LXDE
  • openbox files > config/includes.chroot/etc/skel/.config/openbox
  • ranger files > config/includes.chroot/etc/skel/.config/ranger
  • home dot files > config/includes.chroot/etc/skel

Set groups for the Live user
make a file and fill with [include whatever groups you require]

6. Building the live cd

to run live build, cd to my_live_build and enter (sudo or as root)
and this command can be split into four parts: where bootstrap caches all the necessary packages
chroot unpacks and installs them and carries out tasks in the chroot env
binary creates a squashfs compressed archive
source puts it into a bootable ISO image

to cleanup the working directory to build again
to build again with changes to config (this cleans chroot so all the packages will need unpacking again with the next build)
to build with interactive options

The iso file will be created (if successful) in the «my_live_build» directory, which just needs (renaming and) burning to disk or sending to a usb stick.

remember that to login the live CD, user=user, passwd=live

You can make a live build from your installed system with (haven’t tested it myself) But this won’t build a devuan system

Build Notes

  • if a build has been interrupted, lb build might fail, if so do but it will clean out the cache!

Example, the build fails with an error:
P: Configuring file /etc/debian_chroot /usr/share/live/build/scripts/build/lb_chroot_debianchroot: 50: /usr/share/live/build/scripts/build/lb_chroot_debianchroot: cannot create chroot/etc/debian_chroot: Directory nonexistent
P: Begin unmounting filesystems.
P: Saving caches.
chroot: failed to run command `/usr/bin/env’: No such file or directory

Another one would be:
P: Begin install linux-image. cp: cannot stat `chroot/boot/vmlinuz-*’: No such file or directory
P: Begin unmounting filesystems
And this error would require unmounting the file system where the build was in process in order to build successfully. See here mail-archive.

Another error I had was aptitude failing to download packages and reporting:

E: Cannot get debconf version. Is debconf installed?

  • No ext3 or ext4 partitioning option! So I had to select «Use free space automatically». this made ext4 partitions for / and /home and a swap of 4Gb. Later, with Gparted, I removed the /home and swap partitons and made new ones (smaller). After booting the system, and logging in as root, /etc/fstab needed making and /dev/sda? mounting to /home. Then I could log in as my user.
  • with one install I still couldn’t log-in the user, so logged in as root, deleted that user with deluser bob and then added it again with adduser bob , and bob was then added to /home and I could log-in
  • GRUB did not install and, as I was installing to a Win7 machine and needed it to dual-boot, I used Super Grub (Rescatux) to boot the new OS, then I ran
  • Grub Recover CD does a good job too, automatically searches for OS and installs GRUB with options -see my GRUB page
  • In fact, if I attempted GRUB install the installer terminated early without finishing (set up users and passwords etc) so I found I had to use the «Go back» button at Configure Mirrors stage in order to select «Continue without installing GRUB».

Simple-CDD

Firstly, make a working directory where you’ve got some space
this is the basic build command, which may be out-dated by now: fill in your own preferred mirror!

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

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

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

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

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

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

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

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

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

11.png

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

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

12.png

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

sudo apt-get -y install doublecmd-gtk

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

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

sudo apt-get install sqlitebrowser

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

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

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

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

Теперь вам останеться только добавить ярлык для запуска 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 с помощью следующих команд:

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

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

13.png

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

14.png

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

15.png

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

16.png

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

17.png

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

Читать:
Вымпел 270 зарядное устройство как пользоваться

18.png

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

19.png

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

20.png

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

Cоздание своего дистрибутива Linux с помощью Remastersys

Прежде чем делать свою сборку, Вы должны определить цель и задачи своего творения. Иначе сборка может не получить своё предназначение в этом мире и остаться малоизвестной.Итак, цели и задачи определены и Вы решились сделать сборку своей системы.
Для начала Вы должны либо в Virtualbox (или в другой виртуальной машине), либо у себя на компьютере установить операционную систему со всеми настройками, со всеми программами, которые считаете нужными иметь в Вашей сборке.
Теперь, когда всё настроено и установлено, будем создавать свою сборку. Для этого нам в первую очередь необходимо свободное место на разделе с папкой /home не менее 6 ГБ.
Для создания сборки есть несколько инструментов. Мы будем говорить о Remastersys, который позволяет создать полноценную сборку даже не очень продвинутому пользователю.
Все действия дальше описаны для Ubuntu, но подходят для всех Debian совместимых дистрибутивов.

1. УСТАНОВКА

Для установки Remastersys необходимо скачать и установить вручную , например, через программу gdebi, 2 пакета: remastersys_3.0.x-2_all.deb и remastersys-gtk_3.0.x-2_all.deb
Для Ubuntu 10.04 — 14.04 скачать отсюда
Для Ubuntu 16.04 — 17.04 скачать отсюда
Для Ubuntu 17.10 скачать отсюда
Для Ubuntu 18.04 скачать отсюда

2. ПЕРВЫЕ ШАГИ

Запускаем Система ⇒ Администрирование ⇒ Remastersys (Я использую Мате 1.6. С другими рабочими столами расположение может отличаться). Видим вот такое окно:

Коротко об основных кнопках:
Backup — полная резервная копия установленной системы, включая пользовательские данные и настройки. Сохраняется полностью все файлы в домашних каталогах пользователей системы.
Dist — резервная копия только установленной системы, БЕЗ пользовательских данных. Самый оптимальный вариант для создания сборки системы. Создается структура загрузочного диска и образ диска(iso).
Distcdfs — то же, что и Dist, но создается структура загрузочного диска без создания образа диска(iso).
Distiso — создает образ диска(iso), при условии готовой структуры загрузочного диска. Применяется только после Dist или Distcdfs.
Очистить — очистить временную папку программы. Используется для очищения папки перед созданием нового образа.

Переходим во вкладку Settings:

Здесь мы видим параметры нашей будущей сборки. Рассмотрим самое необходимое.
Username — имя пользователя по-умолчанию при входе в систему LiveCD.
CD Label — метка диска. Высвечивается название при загрузке диска в CD-привод. Ограничение 32 символа, учитывая пробелы.
Filename — имя файла созданного образа.
Остальное пока трогать не будем.
Итак зададим:
— Имя пользователя в строке Username, скажем, alex;
— Придумаем название нашей сборки и запишем в CD Label, допустим, AlexBuntu;
— В строке Filename запишем имя файла сборки, AlexBuntu-12.04-x32.iso.
Должно получится следующее:

Галочка в строке Show install icon on Backup mode desktop создает иконку установки Вашей системы на рабочем столе. Опция работает на всех основных рабочих столах.

Теперь переходим на вкладку Actions:

Нажимаем кнопку Dist. Появится окно:

Жмем ОК. Появится окно:

Всё, теперь можете спокойно и не торопясь попить чай или кофе. Минут через 15 — 60 (всё зависит от мощности ПК) появится сообщение:

Поздравляю Вас с первой Вашей сборкой!
Файл сборки находится по адресу /home/remastersys/remastersys и имеет то имя, которое Вы дали своей сборке. В моем случае это файл AlexBuntu-12.04-x32.iso. В этой же папке есть еще текстовый файл контрольной суммы образа с расширением md5, в моем случае файл AlexBuntu-12.04-x32.iso.md5.
Теперь Вы можете записать свою сборку на диск и насладиться своим творением. Возможно при входе в систему с LiveCD придется ввести имя пользователя, которое было выбрано при создании образа, в моем случае это alex. Пароль оставьте пустым.

3. РАСШИРЕННЫЕ ВОЗМОЖНОСТИ

Многих устроят выше описанные главы. Если Вы всё еще читаете, то Вы действительно хотите познать все тонкости создания сборки, приближенной к профессиональной.
В первую очередь коснемся вкладки Settings и рассмотрим остальные нужные строки.
Working directory — рабочая папка программы. Вы можете ее переназначить в любое место и на любой раздел.
Ну и самая важная строчка настроек Squashfs options.
Remastersys использует для создания дистрибутива возможности SquashFS. Чтобы понять весь смысл данной строки предлагаю Вам рускоязычный блог , в котором прекрасно изложен весь смысл этого мощнейшего инструмента.
После изучения всех возможностей добавим в нашу строчку Squashfs options следующие опции: -comp xz.
Строчка должна иметь вид:

Эта опция устанавливает алгоритм компрессии xz вместо gzip по-умолчанию, что сожмет нашу сборку примерно на 20-25% лучше.Эта опция доступна с версии squashfs 4.2 и, например, в Ubuntu 10.04 она не доступна. В версии Ubuntu 12.04 установлена нужная версия 4.2 squashfs.
Чтобы проверить, доступна ли эта опция, наберите в терминале mksquashfs. Если вы видите похожее на следующее:

mksquashfs
SYNTAX:mksquashfs source1 source2 … dest [options] [-e list of exclude dirs/files]

Filesystem build options:
-comp <comp> select <comp> compression
Compressors available:
gzip (default)
lzo
xz

то всё в порядке и использовать опцию -comp xz можно смело.

4. ЗАГРУЗОЧНОЕ МЕНЮ

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

Вот такое меню можно получить после некоторых манипуляций:

Такое загрузочное меню используется в одной из моих сборок. Как видим, картинка изменена и меню русифицировано. Кроме всего прочего я убрал название дистрибутива из меню и написал его в GIMPe яркими красками. Сейчас мы с Вами и займемся заменой картинки и русификацией меню. Для этого нам потребуется обратить внимание на содержимое файлов в папке /home/remastersys/remastersys:

Здесь нас интересует папка ISOTMP. В этой папке хранятся временные файлы программы Remastersys. Этим мы и воспользуемся. Переходим в эту папку:

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

Рассмотрим файлы загрузочного меню:
splash.png — фоновое изображение. Размер изображения 640х480 точек на дюйм.
isolinux.cfg — конфигурационный файл загрузочного меню.
vesamenu.c32, isolinux.bin — системные файлы.
Смело меняем фон загрузочного меню на свой. Тип файла и название должно остаться таким же. Размер изображения обязательно 640х480 точек на дюйм.
Далее я выложил листинг отредактированного конфигурационного файла isolinux.cfg. За основу взят стандартный конфигурационный файл Remastersys. Я постарался максимально понятно написать комментарии к строкам. Почти вся информация в интернете на английском языке и очень краткая, поэтому много времени потратил на эксперименты, чтобы узнать, что и как работает.

Кодировка файла isolinux.cfg должна быть обязательно CP 866. Можно сохранять и редактировать в Cooledit (текстовый редактор Midnight Commandera), в OpenOffice и др. Взять мой отредактированный файл isolinux.cfg можно здесь.
Кроме этого нужно положить в папку isolinux шрифты поддерживающие русский язык. Взять можно отсюда.
В папке должно получится следующее:

Проверьте права доступа файлов должно быть следующее для всех 5 файлов:

Теперь все приготовления закончены. Запускаем Remastersys:

Нажимаем кнопку Distiso. Процесс пересборки образа пойдет намного быстрее, всего 1 — 5 минут, потому что основные файлы системы пересобираться не будут. На выходе будут те же файлы образа и контрольной суммы, но уже с Вашим неповторимым красивым меню.

5. ОЧИСТКА СБОРКИ ОТ "ЛИШНЕГО"

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

Первая команда автоматически удалит все неиспользуемые пакеты.
Вторая команда удалит скачанные файлы пакетов в архиве.

Теперь воспользуемся программой Synaptic и удалим все ненужные настройки, оставшиеся после удаленных пакетов. Открываем Synaptic. В открывшемся окне внизу выбираем группу фильтров «Состояние».
Выбираем фильтр «Не установленные (остались файлы настроек)», выделяем все пакеты, попавшие в этот фильтр. Правой клавишей мыши на выделенном выбираем в меню «отметить для полного удаления» и жмем «Применить».

Здесь же в этой группе фильтров удалите пакеты под фильтром «Установленные (авто удаляемые)«
Если фильтры «Не установленные (остались файлы настроек)» и «Установленные (авто удаляемые)» отсутствуют, значит система уже прошла чистку и под данные фильтры ничего не попадает.

Следующий инструмент очистки — программа BleachBit из стандартного репозитория. Интерфейс программы на русском языке, очень доступен для понятия, что Вы будете делать. Также перед очисткой есть кнопка «Предпросмотр», которая покажет, что будет удаляться, и позволяет сделать изменения до удаления. Программа очень эффективно чистит систему от ненужных файлов , а также умеет удалять неиспользуемые языковые файлы. В моей сборке программа удалила около 300 МБ.

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

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

/var/backups
/var/cache/apt/ — не удалять папку archives
/var/cache/apt/archives — не удалять папку partial и файл lock
/var/cache/apt-xapian-index
/var/cache/flashplugin-installer
/var/crash
/var/lib/apt/lists — не удалять папку partial и файл lock
/var/lib/update-notifer/ — не удалять папки package-data-downloads и user.d
/var/lib/update-notifer/package-data-downloads — не удалять папку partial и файл lock
/var/lib/update-notifer/user.dудалять все файлы обязательно, иначе выдает окно ошибки
/var/tmp

Remastersys в начале установки копирует содержимое папки /var в свою временную папку /home/remastersys/remastersys/dummysys/var, откуда потом и включает в сборку файлы. Учитывая, что после копирования Remastersys проводит еще подготовительные операции, у нас есть примерно 5 минут удалить лишнее из папки /home/remastersys/remastersys/dummysys/var. Тем более, что даже, если мы удалили из папки /var/cache/apt файлы, они всё-равно создаются и копируются в папку /home/remastersys/remastersys/dummysys/var/cache/apt , утяжеляя сборку.
В эти же 5 минут у Вас есть возможность почистить папку /root. В ней оставляйте только те файлы, которые есть в папке /etc/skel и папку Desktop.

6. СОВЕТЫ И РЕКОМЕНДАЦИИ

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

Как создать свою сборку Linux?

cubic

Сегодня давайте обсудим, как создать пользовательскую сборку live cd image (ISO). И есть много инструментов для этих целей, но все они давно уже не поддерживаются.

Когда-то был инструмент Remastersys, который отлично делал свою работу, но сейчас он уже долгое время не поддерживается и не развивается, хотя пользоваться им все еще можно(смотрите мою последнюю сборку, которая была создана этим инструментом).

Ему на смену пришел Pinguy Builder. Но, похоже, он тоже уже давно не обновлялся. Ведь я не вижу никаких обновлений в последнее время на официальном сайте Pinguy.

Есть еще инструмент для резервного копирования и создания собственных пользовательских образов — Systemback, но он тоже не поддерживается, и в Linux Mint работает через раз.

К счастью, я нашел альтернативный инструмент для создания пользовательских live cd-образов.

Встречайте — Cubic, который расшифровывается как C ustom U buntu I SO C reator, это GUI приложение для создания пользовательского загрузочного образа Ubuntu Live CD (ISO).

Cubic активно развивается и предлагает множество возможностей для создания индивидуального компакт-диска Ubuntu. Он имеет интегрированную среду chroot командной строки, где вы можете выполнять все настройки, такие как установка новых пакетов, ядра, добавление дополнительных фоновых обоев, добавление дополнительных файлов и папок.

Он имеет интуитивно понятный графический интерфейс, который позволяет легко перемещаться (с помощью мыши) во время процесса создания live-образа. Вы можете создать новый пользовательский образ или изменить существующие проекты. Поскольку он используется для создания live-образов Ubuntu, я считаю, что он может использоваться в других дистрибутивах основанных на Ubuntu, таких как Linux Mint.

Для кого это пригодится?

Это пригодится для тех людей, которые после установки новой системы, еще много чего до-устанавливают, или удаляют, и хотят при этом иметь актуальную систему.

Как установить Cubic

Существует официальный репозиторий для облегчения процесса установки. И чтобы установить Cubic в вашу систему Ubuntu, выполните следующие команды в терминале:

Как создать пользовательскую сборку linux с помощью Cubic

После установки найдите и запустите Cubic из меню приложений.

cubic

Создайте каталог для вашего нового проекта. Это будет каталог, в котором будут сохранены ваши файлы, а также образ новой системы.

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

cubic

После нажатия «Next», вы должны выбрать путь, по которому вы сохранили ISO-образа системы. Cubic автоматически заполнит все детали вашей пользовательской ОС. Вы можете изменить все это, если конечно хотите. Нажмите «Далее», чтобы продолжить.

cubic

Начнется распаковка iso-образа, и все файлы будут сохранены в вашу созданную директорию

Как только файловая система будет извлечена, вы автоматически попадете в среду chroot. Если вы не видите терминал, несколько раз нажмите клавишу ENTER.

cubic

И вот здесь начинается самое интересное. Вы можете установить любые дополнительные пакеты, добавить фоновые изображения, добавить новые репозитории, установить последнее ядро ​​Linux и любую другую настройку. Настолько, насколько вы разбираетесь в GNU/Linux в целом.

Например, я хочу, чтобы google-chrome был установлен в моем live CD, я просто беру, и устанавливаю его как обычное приложение Ubuntu.

Нам не нужно вводить «sudo», потому что мы уже находимся в корневой среде.

Кроме того, вы можете обновить свою систему до актуального состояния введя команду «apt update && apt upgrade»

cubic

Но и это еще не все, вы можете просто копировать файлы и папки, а далее вставлять в это окно терминала.

Например я хочу скопировать несколько изображений для рабочего стола. Я создаю новую директорию

Открываю свой менеджер файлов, выделяю нужные мне файлы и просто перетаскиваю их

cubic

Внимание! У вас не должно быть кириллических символов в вашем пути. Например программа не распознает вот такой путь — /home/linuxthebest/Загрузки/, лучше просто скопируйте файлы в вашу домашнюю директорию(если название на латинице)

Примечание для пользователей Ubuntu 17.10:

В системе Ubuntu 17.10 поиск DNS может не работать в среде chroot. Если вы создаете пользовательский образ Ubuntu 17.10 в реальном времени, вам нужно указать правильный файл resol.conf:

Чтобы проверить работу разрешения DNS, выполните:

Когда вы внесете все изменения, нажмите «Далее»

cubic

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

cubic

В следующем разделе выберите пакеты, которые вы хотите удалить из своего live-образа. Выбранные пакеты будут автоматически удалены после установки операционной системы с использованием пользовательского образа в реальном времени. Будьте осторожны при выборе пакетов для удаления, возможно, вы случайно удалите пакет, который зависит от другого пакета.

cubic

Теперь начнется процесс создания live-образа. Это займет некоторое время в зависимости от характеристик вашей системы.

После завершения процесса создания образа, нажмите «Готово». Cubic отобразит только что созданные пользовательские детали образа.

cubic

Если вы хотите в дальнейшем изменить только что созданный образ, снимите галочку напротив «Удалить все файлы проекта, кроме генерируемого образа диска и соответствующей контрольной суммы MD5 файла». Cubic оставит пользовательский образ в рабочем каталоге проекта, вы можете вносить любые изменения в будущем.

cubic

Чтобы создать новую сборку, используйте другой каталог проекта.

Как изменить уже созданную сборку

Запустите Cubic из меню и выберите существующий каталог проекта. Нажмите кнопку «Далее», и вы увидите следующие три варианта:

cubic

  • Создать образ диска из существующего проекта.
  • Продолжить настройку существующего проекта.
  • Удалить существующий проект.

Первый вариант позволит вам создать новый live образ ISO из существующего проекта, используя ту же настройку, что и ранее. Если вы потеряли образ ISO, вы можете использовать первый вариант для создания нового.

Второй вариант позволяет вам вносить какие-либо дополнительные изменения в ваш существующий проект. Если вы выберете эту опцию, вы снова попадете в среду chroot. Вы можете добавлять новые файлы или папки, устанавливать любые новые программные продукты, удалять любые программные продукты, добавлять другие ядра Linux, добавлять фоны рабочего стола и т. д.

Третий вариант удалит существующий проект, чтобы вы могли начать все сначала.

Я создал пользовательскую сборку на основе KDE NEON с помощью Cubic. Вот как выглядит система загруженная с флешки

cubic

Установка прошла успешно, и в целом система работает как будто я ее скачал с официального сайта.

Похожие публикации