if [ «$CONSOLE_APP» = «» ]; then
CONSOLE_APP=`which mate-terminal`
CONSOLE_APP_OPTIONS=(-t «UCK customization console» -e /bin/bash)
Я на всякий случай дописал в него также определения для терминальных программ Sakura и Terminator, которые временами использую.
if [ «$CONSOLE_APP» = «» ]; then
CONSOLE_APP=`which terminator`
CONSOLE_APP_OPTIONS=(-t «UCK customization console» -e /bin/bash)
fi
if [ «$CONSOLE_APP» = «» ]; then
CONSOLE_APP=`which sakura`
CONSOLE_APP_OPTIONS=(-t «UCK customization console» -e /bin/bash)
fi
Теоретически тут можно переопределить и командную оболочку (например, /bin/zsh), но я этим заморачиваться не стал.
Теперь потребовуется выбрать образ диска, который будет подвергнут потрошению — через обычное окно открытия файла. После чего будущему образу предлагается дать имя:
Впрочем, имя это, насколько я понял, в дальнейшем нигде не используется, так что особо напрягать свою фантазию не нужно.
Далее следует серия вопросов — о желании кастомизировать будущий образ мануально:
Об удалении Windows-related файлов, типа autorun.inf (которых, впрочем, на установочном носителе Mint и так нет):
О создании гибридного образа — то есть пригодного для записи как на OD, так и на USB:
На все эти вопросы я, по понятным причинам, отвечал положительно, иначе и говорд городить бы не стоило.
Далее сообщается, что вся необходимая информация собрана, по введении пароля можно приступать к сборке диска, который будет помещён в path2/remaster-new-files под именем livecd.iso (спрашивается, зачем придумывать ему осмысленное имя?):
А для начала процесса в исходном терминальном окне надо ввести пароль для доступа к адмнистративным привилегиям:
Вслед за этим происходит монтирование исходного образа, его разворачивание и декомпрессии SquashFS, которая занимает немало времени:
Когда же она закончится, каталог, определённый в качестве remaster-dir, будет выглядеть так:
ls [remaster-dir]
build.log
customization-scripts/
remaster-apt-cache/
remaster-new-files/
remaster-root/
remaster-root/home
Очевидно, что build.log содержит протоколирование хода процесса, а в каталоге customization-scripts/ собраны скрипты кастомизации, сгенерированные посредством сценариев из /usr/lib/uck/. В каталоге remaster-apt-cache/ будет помещён локальный кеш устанавливаемых пакетов, а сами они в подкаталоге remaster-apt-cache/archives — аналоге /var/cache/apt/archives установленной системы. Таким образом, скачанные пакеты не засоряют ни корень развёрнутой из Live-образа системы (он расположен в каталоге remaster-root/), ни, тем более, каталог для сборки уже непосредственно нового образа — remaster-new-files/. В последнем после успешного завершения всего предприятия этот самый образ, под именем livecd.iso, и окажется. Ну а remaster-root/home, ясное дело, является домашним каталогом администратора (аналог /root обычной файловой иерархии).
Далее предлагается выбрать «заказное» действие — Run console application или Continue building:
Выбор первого пункта очевиден. Он влечёт за собой выполнение той самой команды chroot, о которой я говорил раньше, и запуск того самого терминала, который был неявным образом определён на стадии так называемого выбора десктопа:
Обращаю внимание — командная оболочка в терминале — Bash, запущенная от лица администратора. То есть в дальнейшем для установки/удаления пакетов и прочих подобных мероприятий команда sudo не понадобится.
Если предыдущие стадии завершились успешно, то начинается самое важное: собственно потрошение исходного образа. Тут требуется аккуратность и последовательность, нарушение которой влечёт ошибки, которые, как я уже говорил, крайне нежелательны. Так что в следующем миниочерке процедура потрошения будет рассмотрена подробно. А пока завершу описание основного процесса.
По завершении потрошения опять возникает панель с предложением выбрать «заказное» действие — и теперь столь же очевиден выбор второго из них:
После чего начнается исполнение сценариев кастомизации, плавно переходящее в компрессию системы в виде SquashFS — это будет самым долгим делом во всём процессе: