Алексей Федорчук
Как говорилось в общих сведениях об MX Linux, этот дистрибутив имеет средства для очень простого создания кастомизированных сборок на базе себя самого, и увековечивания своих трудов в виде образа — «живого» и установочного. Правда, оказалось, что с прямым созданием образа из Live-сессии всё обстоит не так гладко, как казалось — установка системы после кастомизации таки потребовалась. Но вот её саму целесообразно проводить в Live-сессии, запущенной в виртуальной машине (в моём случае — в Virtualbox’е, хост-системой для которого выступала моя самосборная Cintu).
Кастомизация в моём понимании в значительной степени сводится к удалению ненужных пакетов и доустановке пакетов нужных. И то, и другое требует привилегий администратора, которые в MX можно получить обоими традиционными способами — командой su
с вводом пароля root’а и командой sudo
, задав пароль обычного пользователя. Так что для начала неплохо выяснить хотя бы один из них, а ещё лучше оба.
Благо, делается это просто: после загрузки системы с Live-носителя, как уже говорилось, пред глазами изумлённого применителя предстаёт панель приветствия, в нижней левой части которой можно видеть надпись Информация о входе:
Вот по ней и следует щёлкнуть для получения искомых сведений, которые предстают в таком виде:
На всякий случай поясню словами: пользователя Live-сессии зовут demo
, и пароль у него — demo
. А имя администратора — root
, и пароль у него, как это ни странно, тоже root
.
Обретя это тайное знание, можно приступать собственно к кастомизации. Каковая в любом случае должна начинаться командами
# apt update # apt upgrade
Примечание: здесь и далее #
символизирует, что команды эти даются с правами администратора. А уж каким способом они получены — разовым ли sudo
, через sudo -s
(предпочитаемый мной способ) или через su
— остаётся на усмотрение применителя. Команды, для выполнения которых достаточно прав обычного пользователя, в дальнейшем будут символизироваться милым сердцу россиянина знаком — $
.
Важно, что обновление локального кеша пакетов и общее обновление системы должны предшествовать любым операциям с пакетами (удалению их или установке), иначе в дальнейшем команда apt upgrade
будет завершаться с ошибкой, и рекомендуемый при этом способ её исправления в Live-режиме не сработает. Почему — тайна сия велика есть…
Описывать процедуру дальнейшей кастомизации в деталях не буду, ибо каждый понимает её в меру своей испорченности. Для меня она заключается в первую очередь в удалении всех приложений, которые я полагаю архитектурными излишествами, а именно:
- всего содержимого секции меню Графика, кроме простого вьювера изображений (в MX эту роль исполняет Mirage);
- в секции Интернет я оставил только FireFox и Transmission;
- в секции Мультимедиа расправы избежали Asunder (вдруг пригодится) и регуляторы громкости;
- из секции Офис были изъяты LibreOffice Draw и LibreOffice Impress.
Секции Инструменты и Настройки я трогать не стал, потому как ещё не до конца разобрался с их содержимым. А выполнил команду избавления от «осиротелых» зависимостей:
# apt autoremove
После чего занялся истреблением лишних локалей — по умолчанию их в MX преизрядно, а в ходе первого апгрейда системы можно было наблюдать, сколько же времени занимает из обновление: хотя, казалось бы, на каждую локаль идут доли секунды, когда этих локалей не много, а очень много, эти секунды сливаются в немалые минуты.
Как ни странное, но в MX не сработал привычный мне способ очистки от локалей:
# locale-gen --purge [что надо оставить]
Она вызывала регенерацию всех локалей. И даже безобидная, казалось бы, команда
# locale-gen --help
вызывала тот же процесс. Поэтому пришлось «в лоб» редактировать файл /etc/locale.gen
(предварительно сохранив копию под именем /etc/locale.orig
), приведя его вот к такому виду:
en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8
Вслед за этим была выполнена команда
# locale-gen
И прошло знакомство с результатом её работы:
$ locale -a C C.UTF-8 en_US.utf8 POSIX ru_RU.utf8
После разбрасывания лишних камней наступило время собирать камни необходимые. То есть — устанавливать пакеты, из которых для меня важнейшей является кино командная оболочка Zsh. Она была мной установлена:
# apt intall zsh
И назначена любимой женой оболочкой входа:
# chsh -s /bin/zsh demo
А мои конфиги, .zshrc
и .zshenv
для неё — скопированы в каталог /home/demo
. Разумеется, с хост-машины: как уже говорилось, при установке MX «гостевые дополнения» не просто подключаются автоматически, но и образовывается разделяемый каталог, в моём случае — такой:
Правда, его требуется смонтировать в гостевую Live-систему руками — командой вроде
# mount -t vboxfs mx-custom /media/demo/sf_mx-linux
После этого все необходимые конфиги копируются в эту папку из хост-машины, а затем в гостевой Live-среде разносятся куда надо, в частности, конфиги Zsh — в каталог /home/demo
. Однако этого недостаточно: чтобы они унаследовались пользователем, чей аккаунт в дальнейшем будет создан при инсталляции, их же следует поместить и в каталог /etc/skel
.
После этого остаётся установить необходимые пакеты — для меня эта задача свелась к установке полюбившегося шрифта Cantarell, службы консольной мыши и универсального медиаплейера mpv
:
# apt install fonts-cantarell gpm mpv
Теперь можно выполнить все потребные настройки пользовательской среды Xfce. И, пожалуй, что и нужно: как говорилось ранее, они будут унаследованы в пользовательском аккаунте и запланированного «живого» образа, и установленной системы.
Наконец, последний штрих: вынести на рабочий стол пиктограмму запуска инсталлятора MX Linux — утилиты minstall
. Делается это очевидным способом, из контекстного меню рабочего стола. Единственно, что тут надо помнить — что команда запуска инсталлятора должна иметь такой вид: gksu /usr/sbin/minstall
. Что можно видеть на приводимом скриншоте:
После этого я приступил к созданию образа непосредственно из Live-сессии, но потерпел в этом деле фетяску. То есть образ-то благополучно создался, однако система с него грузиться отказалась с таким сообщением:
Причина этого более-менее понятна и, скорее всего, проблема эта решаема. Правда, я ещё не придумал, как. А если честно, то даже и не думал, потому как занялся установкой кастомизированной системы в виртуальной машине, каковая прошла без проблем. Дав в итоге полную копию той системы, которая получилась в Live-сессии после всех описанных выше действий. Из этой-то установленной системы я и сваял в итоге работоспособный «живой», он же установочный образ. О чём будет рассказано в следующем очерке.
Как всегда очень наглядно и познавательно!
Огромное спасибо!