Алексей Федорчук - Linux Mint и его Cinnamon. Очерки применителя
- Название:Linux Mint и его Cinnamon. Очерки применителя
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Алексей Федорчук - Linux Mint и его Cinnamon. Очерки применителя краткое содержание
Linux Mint и его Cinnamon. Очерки применителя - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Команда uck-gui запускается от лица обычного пользователя — пароль для доступа к административным привилегиям запрашивается только тогда, когда они на самом деле потребуются. Кроме указанной --wait-before-exit, она имеет ещё как минимум две опции. Первая, -m, обеспечивающая кеширование модифицированных частей образа, работает, как сказано в man (1) uck-gui, не всегда, и потому в стандартной ситуации не используется.
Вторая опция также штатно не задействована, но она может оказаться важной для применителя. Это опция remaster-dir, определяющая рабочий каталог для UCK, отличный от умолчального ~/tmp. Через редактор меню Cinnamon я переопределил этот каталог как ~/data/my-mint, поэтому итоговая команда для запуска UCK через меню приобрела такой вид:
uck-gui --wait-before-exit /home/data/my-mint
Кроме запуска процесса, сценарий uck-gui отвечает, в том числе, и за выбор типа десктопа — unity, gnome, kde, или others. Однако попытки вносить здесь какие-либо изменения (например, пополнение списка доступных десктопов) никакого результата за собой не повлекут. То есть добавленные десктопы появятся в меню их выбора, но ничего не изменится.
Потому что на самом деле кроме исполняемых скриптов в каталоге /usr/bin, основным компонентом UCK является также каталог /usr/lib/uck/. А в нём, кроме всего прочего — файл /usr/lib/uck/customization-profiles/localized_cd/customize, представляющий собой исполняемый шелл-сценарий, который отвечает в том числе и за вызов терминальной программы. Запомним его — в некоторых случаях он подлежит ручному редактированию.
Впрочем, всё сказанное проще продемонстрировать на примере конкретной сборки своего варианта дистрибутива, чем мы сейчас и займёмся.
UCK: процесс
Сразу после запуска UCK перед нами появляется пустое терминальное окно и на фоне его — приглашение программы:
В нём указаны системные требования, не являющие собой ничего сверхъестественного: 5 ГБ свободного пространства в каталоге ~/tmp (или его аналоге, определённом выше) и доступ в Интернет. Так что можно смело нажимать OK и приступать к кастомизации, которая начинаетсяс выбора локали — сначала для инсталлятора:
Затем — для Live-носителя:
И наконец — для и инсталлированной системы:
Список всех доступных содержится в файле /usr/lib/uck/langlist. Причём, при желании иметь русифицированную систему, можно ограничиться отметкой боксика ru во всех трёх случаях. Впрочем, в Live-среде локаль всё равно останется en_US (о чём программа честно предупреждает). Однако язык инсталлтора будет русским. А в установленной системе локаль по умолчанию определится как надо:
~ $ locale
LANG=ru_RU.UTF-8
...
И к ней автоматически добавятся такие:
~ $ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
ru_RU.utf8
ru_UA.utf8
Правда в Mint, в отличие от Ubuntu, ни одна из многочисленных английских локалей не будет всплывать в самый неподходящий момент.
Следующий шаг кастомизации — выбор рабочей среды:
На самом деле он определяет не среду, а терминальную программу, в которой будет жить chroot-окружение. При выборе первых трёх вариантов её будет соответствующий штатный терминал (Konsole, GNOME Terminal или Xfce Terminal), в случае варианта четвёртого будут просто перебраны они же плюс LXTerminal из LXDE. Соответственно, запустится тот, что найдётся первым, так что выбор пункта other подойдёт в подавляющем большинстве случаев, вне зависимости от десктопа, используемого на потрошимом Live-носителе.
На самый крайняк предусмотрен запуск XTerm, который, казалось бы, имеется в любом дистрибутиве. Но вот в Mint'е ни в одной официальной редакции его как раз нет. Поэтому при сборке системы с десктопом MATE потребуется редактирование того самого файла /usr/lib/uck/customization-profiles/localized_cd/customize, который я ранее предлагал запомнить. То есть в его секцию function run_console() следует вписать такие строки:
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, о которой я говорил раньше, и запуск того самого терминала, который был неявным образом определён на стадии так называемого выбора десктопа:
Читать дальшеИнтервал:
Закладка: