Cintu и Pinguy Builder: очередная система ремастеринга

Алексей Федорчук

Перепробовав в своё время несколько систем ремастеринга для изготовления дистрибутивных образов, для своей Cintu я в итоге остановился на Systemback. Программа эта привлекает простотой использования, в частности, позволяет легко сохранять пользовательские настройки. И потому именно с её помощью до сего дня изготовлялись образы всех редакций Cintu.

Однако уроки истории учат нас, что большинство программ ремастеринга имеют особенность со временем прекращать своё развитие. И в новых релизах своих родных дистрибутивов (в данном случае речь идёт только о системе Ubuntu) начинают работать криво, а то и не работают вовсе. И потому всегда надо иметь «запасной аэродром» на такой случай.

Поэтому, встретив в одном из комментариев Dena упоминание о дистрибутиве Pinguy OS, основанном на Ubuntu и имеющем собственную систему создания дистрибутивных образов, я решил с ней ознакомиться. Система эта носит имя Pinguy Builder и представляет собой развитие программы Remastersys (и, кажется, даже продолжает нумерацию её версий). Последняя же прекратила свой жизненный цикл на версии 3.0 — в настоящее время функциональной является только реликтовая сборка BaaTLT (см. ссылки на форуме Matuntu).

Правда, оказалось, что и сам по себе дистрибутив Pinguy OS, судя по последнему сообщению на официальном сайте (от 19 мая 2016 года), похоже, прекращает своё развитие. Однако, как часто бывает в мире Open Source, дело его не пропало, по крайней мере, частично. Потому что интересующая меня часть проекта, то есть сам Pinguybuilder, обнаружилась в одном из PPA-репозиториев во вполне свежем виде: бинарный пакет для Xenial’а имеет версию 4.3 от 30 августа сего года.

Так что для начала я озаботился подключением указанного репозитория самым что ни на есть стандартным образом:

$ sudo add-apt-repository ppa:inameiname/stable
$ sudo apt update

После чего нужный пакет легко может быть найден

$ apt search pinguybuilder                                                                                    [~]
Сортировка… Готово
Полнотекстовый поиск… Готово
pinguybuilder/xenial,xenial,now 4.3-8-1ppa1~inameiname1 all
  This script creates a livecd of the installed system and works with *buntu systems.

И установлен со всеми своими зависимостями (весьма, надо сказать, многочисленными, ибо включают они инсталлятор Ubuntu — Ubiquity, и всё, что к нему относится):

$ sudo apt install pinguybuilder

После этого программа под именем Pinguy Builder появится в секции Администрирование главного меню Cinnamon — разумеется, всё описываемое происходило в Cintu. Но и во всех прочих Ubuntu’идах порядок действий будет тем же самым.

Программа Pinguy Builder настолько похожа на Remastersys, что для работы с ней можно смело пользоваться прекрасным описанием последней, сделанным BaaTLT’ом. Так что дальше я остановлюсь только на незначительных отличиях Pinguy Builder от Remastersys.

Сразу после запуска окно Pinguy Builder’а выглядит таким образом:

pinguy-builder_001

Значения первого (Backup) и последнего (Clear) пунктов «верхней» части меню вкладки Actions очевидны — полное копирование системы вместе а с данными и очистка кеша программы от «отходов жизнедеятельности» (то есть файлов предыдущего сеанса). В первом случае следует помнить, что в создаваемом образе будут сохранены файлы из каталога $HOME. И если объём очень велик — легко превысить ограничение на размер файловой системы SquashFS (если не изменяет память, 4,2 ГБ). Ну и, разумеется, в Backup попадут только те пользовательские данные, которые лежат на одном разделе с корнем файловой иерархии. Впрочем, разговор на эту тему будет отдельный (своевременно или несколько позже).

А по поводу очистки нужно помнить, что при этом удаляется всё содержимое каталога /home/PinguyBuilder, в том числе и iso-образ, созданный в предыдущую сессию FB, со всеми его чексуммами. Так что если они представляют собой не очень преходящую ценность, то их лучше заблаговременно скопировать куда-нибудь в другое место.

Однако, прежде чем делать что-то во вкладке Actions, есть смысл перейти на вкладку Settings и заполнить поля открывающейся формы:

pinguy-builder_002

Обращаю внимание, во-первых, на то, что здесь можно переопределить рабочий каталог программы (в нём будут и «отходы жизнедеятельности», и её результаты, в виде образа и чексумм *.md5 и *.sha256). А во-вторых, на то, что опция, ответственная за XZ-компрессию, -comp xz, включена по умолчанию. Если это почему-либо не устраивает — опцию эту нужно просто убрать. В каких случаях убрать, а в каких оставить — говорилось ранее на примере Systemback.

По умолчанию включён также вывод на рабочем столе Live-сессии пиктограммки запуска установочной программы — в отличие от Sysytemback’а, эту роль здесь играет обычный Ubiquity, инсталлятор всех официальных представителей семейства Ubuntu.

Расправившись с Setting‘ами, можно и вернуться на вкладку Actions, и обратиться к «нижней» части её меню. Начну снизу вверх. Поскольку никаких таких особых тем Plumouth’а у меня нет, самый нижний пункт я проигнорировал. В пункте же предпоследнем выбирается каталог, который станет «домашним» в Live-сессии созданного образа:

pinguy-builder_003

А при бэкапе системы с данными его содержимое будет включено в образ полностью (о чём будет говориться в отдельном очерке).

Два остальных пункта же позволяют выбрать фоновую картинку для обоих загрузчиков Isolinux (для старта Live-сессии) и GRUB’а — для системы, установленной на диск. Так что необходимости ручной работы в этом направлении, описанной Алексеем для Remastersys’а, в Pinguy Builder не возникает.

Вот теперь можно заняться тремя «средними» пунктами из «верхней» части вкладки Actions. Начну со среднего — Distcdfs. Он не создаёт готового iso-образа, дело ограничивается сборкой файлового древа, которое может быть преобразовано в образ. А перед тем в древо это можно вмешаться руками — чего-то изменить, прибавить, а возможно, и убавить. Из этого дерева посредством пункта Distiso собирается «живо-установочный» образ (или пересобирается существующий). Ну а через пункт Dist выполняются обе эти операции в один присест.

При создании образа посредством любого из этих трёх пунктов пользовательские настройки в Live-образ сами собой не наследуются от исходной системы, а переносятся из dot-файлов каталога /etc/skel. Куда и следует заблаговременно поместить все необходимые конфиги (обязательно забыв чего-нибудь важное, как было в моём случае). А если ещё и умолчальный login shell в системе более иной, нежели Bash, то нужно внести изменения в файл /etc/adduser.conf. Например, в Cintu, где в качестве регистрационной оболочки по умолчанию используется Zsh, они сводятся к замене строки

DSHELL=/bin/bash

на

DSHELL=/bin/zsh

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

pinguy-builder_004

А затем, убедившись в её работоспособности, запустить установочную программу. Для чего можно воспользоваться пиктограммкой на рабочем столе или пунктом меню Установить Release из секции Администрирование. Как уже было сказано, установка осуществляется Ubuntu’евым инсталлятором Ubiquity и проходит точно так же, как в любом дистрибутиве этого семейства. Правда, при этом никакого слайд-шоу не показывается — ни один пакет из этого набора я не устанавливал. И, как оказалось, необходимости в нём (у меня) не возникло.

В общем, как показали первые опыты, использовать Pinguy Builder для сборки Cintu вполне можно. Нужно ли — пока не решил. Как и то, лучше ли он, чем крепдешен Systemback, или хуже. Постараюсь ответить на него после некоторых дополнительных экспериментов.

Cintu и Pinguy Builder: очередная система ремастеринга: 3 комментария

  1. Алексей, благодарю за напоминание о Pinguy Builder.
    Весной пробовала бета-версию, которая меня сильно разочаровала. На то она и бета. Возможно стабильная версия придётся ко двору.

  2. Привет всем!
    Пользуюсь этой софтиной и довольно таки успешно, но есть момент который я понять не могу.
    Если я делаю полную резервную копию, то все нормально копируется, но как потом ее установить?
    Если я делаю сборку, то меня не переносятся настройки схемы, т.е. не применяется тема шелл, не применяются настройки расширений шелла(те у которых настройки есть, а не те у которых просто вкл./выкл.). я пробовал менять настройки в файлах схемы в /usr/share/glib-2.0/schemas и в настройка каждого отдельного расширения. это не дает ни какого эффекта при сборке. такое ощущение что где-то лежит кэш системы, который каждый раз копируется в новый установочный образ.

    Помогите разобраться. Пожалуйста.

Добавить комментарий