Cintu 16.10: конспект по сборке минимальной редакции

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

cintu-logo_150В этой заметке конспективно описано создание минимальной системы на базе Ubuntu 16.10 Yakkety Yak. Она выступает в качестве минимальной редакции Cintu, а также может использоваться как основа для образов редакций более «продвинутых». Составлена для себя, но может пригодится в качестве прототипа для сборки любых систем на базе Ubuntu, не окученных её официальными клонами.

Хотя конспект этот составлялся во время сборок Cintu 16.10, почти всё сказанное в нём применимо и при сборке Cintu на базе Xenial’а. Необходимые оговорки о различиях в процедуре будут сделаны по ходу изложения материала.

Шаг первый — установка базовой системы Ubuntu 16.10 (или, соответственно, 16.04) с образа mini.iso «последнего разлива», которые можно взять отсюда для Yakkety, и отсюда — для Xenial’а.

В начальном меню «альтернативного» установщика следует перейти к пункту Advanced options, после чего выбрать Command-line expert install:

cintu-1610-sparg_001

В этом режиме, с одной стороны, задаются детальные вопросы по конфигурированию системы (что в данном случае необходимо), а с другой — не предусмотрено никакого выбора пакетов, и вся установка сводится к развёртыванию метапакета ubuntu-minimal.

Сама по себе инсталляция системы в этом режиме описывалась многократно (последний раз здесь). Поэтому ниже остановлюсь только на самых существенных моментах.

При выборе локалей снимается отметка с пункта en_US.UTF-8, дабы не получить полного спектра англоязычных локалей, от островов Антигуа и Барбадоса до Зимбабве:

cintu-1610-sparg_002

При настройках сети задаётся имя компьютера — cintu, имя домена пропускается. Зеркало архива Ubuntu задаётся вручную, archive.ubuntu.com:

cintu-1610-sparg_003

Затем вводится имя каталога /ubuntu/:

cintu-1610-sparg_004

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

При разметке диска создаётся один первичный раздел с корневой файловой системой ext4, опциями её монтирования discard и noatime, меткой, соответствующей редакции системы (в данном случае mini):

cintu-1610-sparg_005

В ходе установки пакетов производится выбор ядра — linux-generic, в число драйверов для initrd включаются все доступные:

cintu-1610-sparg_006

Перед перезагрузкой системы выполняется изменение уровня важности debconf — низкий, подразумевающий наибольшую подробность вопросов:

cintu-1610-sparg_007

Первое действие после перезапуска системы — получение перманентных прав администратора:

$ sudo -s

Далее выполняется настройка консоли:

# dpkg-reconfigure console-setup

В ходе её осуществляется выбор консольного шрифта TerminusBold:

cintu-1610-sparg_008

Размер шрифта задаётся по глазам и диагонали монитора.

Далее выполняется установка архиважнейших консольных пакетов:

# apt install zsh gpm apt-file software-properties-common

Последний пакет содержит утилиту для автоматического подключения репозиториев add-apt-repository, которая скоро понадобится.

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

# chsh -s /bin/zsh

И скопировать для неё пользовательские конфиги с внешнего носителя:

# cp -p path2/.zsh* /

После чего остаётся перелогиниться в системе и опять получить права администратора:

# exit
$ exit
login: cintu
password: cintu
$ sudo -s

И теперь в первую очередь нужно определиться с источником пакетов для среды Cinnamon. Теоретически это может быть официальный репозиторий Ubuntu или один из PPA-репозиториев. Практически, однако, на данный момент рабочим для Yakkety является только первый вариант, ибо

  • репозиторий Цветко, который использовался в прошлом релизе Cintu, 16.04.1, поддерживает только LTS-релизы Ubuntu, и поддержка Yakkety в нём, похоже, не планируется;
  • репозиторий embrosyn’а фактически идентичен официальному, а репозиторий Эрика Краниха основывается на нём;
  • из репозитория Ле Бьена на момент сочинения этих строк Cinnamon не устанавливается из-за нарушения зависимостей, и когда это будет исправлено — неизвестно: в ответ на соответствующую просьбу Гвендаль ответил, что майнтайнер тоже имеет право на личную жизнь.

Однако, поскольку ситуация эта — явно временная, о трёх последних репозиториях следует помнить. И задействовать первый из них, от embrosyn’а, можно так:

# sudo add-apt-repository ppa:embrosyn/cinnamon

А репозитории Ле Бьена и Краниха подключаются, соответственно, так:

# add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-nightly

или

# add-apt-repository ppa:kranich/cinnamon

А для системы на базе Xenial’а по прежнему предпочтителен репозиторий Цветко Цветкова:

# add-apt-repository ppa:tsvetko.tsvetkov/cinnamon

Перед установкой Cinnamon целесообразно подключить ещё несколько PPA-репозиториев, одни из них потребуются почти сразу, а другие пригодятся на будущее. Первыми подключаются репозитории для установки терминала Terminix и кросс-десктопного набора приложений X-Apps:

# add-apt-repository ppa:webupd8team/terminix
# add-apt-repository ppa:embrosyn/xapps

Далее подключается источник Systemback:

# add-apt-repository ppa:nemh/systemback

И, наконец, два последних репозитория при установке 16.10 пока подключать не нужно — версий пакетов для Yakkety в них сейчас нет, но помнить о них следует на будущее. А для системы на базе Xenial’а их и подключить не грех:

# add-apt-repository -y ppa:teejee2008/ppa
# add-apt-repository ppa:utappia/stable

Из первого со временем, надеюсь, можно будет установить графическую утилиту для обновления ядра Ukuu, из второго — консольную утилиту автоматической очистки системы ucaresystem-core. Которые, кстати, можно установить в Cintu на основе релиза Xenial’а сразу.

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

# apt update

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

# apt list --upgradable

А затем выполнить обновление системы:

# apt upgrade

После этого следует установка Иксов:

# apt install xorg

Затем пакета Terminix:

# apt install terminix

И, наконец, устанавливается Cinnamon:

# apt install cinnamon

Вместе с пакетом cinnamon будет установлен и файловый менеджер Nemo, однако без одного весьма важного плагина, упрощающего подсчёт контрольных сумм. Что следует немедленно восполнить:

# apt install nemo-gtkhash

Теперь есть резон установить некоторые служебные пакеты, как то:

  • инструменты для выполнения некоторых административных команды без запроса пароля
# apt install policykit-desktop-privileges
  • графические фронт-энды для установки пакетов и управления оными
# apt install gdebi synaptic
  • редактор Dconf
# apt install dconf-editor
  • утилиту для получения информации о системе
# apt install inxi

Для системы на базе Xenial’а устанавливаются упомянутые выше утилиты обновления ядра и очистки системы:

# apt install ukuu ucaresystem-core

Разумеется, в любом случае следует не забыть про Systemback:

# apt install sysytemback

А также — про пакеты поддержки всех файловых систем, которые нынче ещё имеет смысл поддерживать:

# apt install btrfs-tools xfsprogs jfsutils reiserfsprogs

И ещё одна служебная программа потребуется сразу после перезапуска системы — «маленькая, но ответственная»:

# apt install xdg-user-dirs-gtk

А для чего она нужна — узнаете после рестарта.

Необходима правка некоторых общесистемных конфигов:

  • в файле /etc/adduser переменная DSHELL определяется так:
DSHELL=/bin/zsh
  • в файле /etc/NetworkManager/NetworkManager.conf секция [ifupdown] преобразуется к такому виду:
managed=true

Косметическая настройка загрузчика GRUB включает в себя

  • копирование с внешнего носителя файла заставки:
# cp -p path2/splash.png /boot/grub
  • приведение файла /etc/default/grub к следующему виду:
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=100
...
GRUB_CMDLINE_LINUX="/boot/grub/splash.png"
  • обновление конфигурации загрузчика:
# update-grub

Забегая вперёд, скажу, что при рестарте системы меню загрузчика будет выглядеть примерно так:

cintu-1610-sparg_009

Наконец, с внешнего носителя копируются общесистемные dot-файлы:

# cp -p path2/.zsh* /etc/skel

А для корректной работы Terminix создаётся симлинк:

# ln -s /etc/profile.d/vte-2.91.sh /etc/profile.d/vte.sh

Теперь — минимально-джентльменский набор приложений включает

  • текстовый редактор
# apt install xed
  • вьювер документов
# apt install xreader
  • вьювер изображений
# apt install xviewer
  • инструмент для изготовления скриншотов
# apt install gnome-screenshot
  • медиапроигрыватель
# apt install mpv

Для системы на базе Xenial к ним добавляется вьювер графики с функциями редактирования

# apt install pix

В качестве браузера устанавливается Firefox:

# apt install firefox firefox-locale-ru

Для проверки орфографии с внешнего носителя устанавливается пакет hupspell-ru с обязательной поддержкой Ё:

# dpkg -i path2/hunspell-ru-aot_0.4.0-2_all.deb

Теперь — минимум косметики. Так, корректируются сплэш-картинки при старте системы:

# apt purge plymouth-theme-ubuntu-text
# apt install plymouth-label plymouth-themes

Добавляется тема оформления окон:

# apt install numix-gtk-theme

и пиктограмм:

# apt install breathe-icon-theme

Наконец, с внешнего носителя копируется «нескучная обоина» с логотипом Cintu:

# cp -p path2/azhabachie-backgrnd.png ~/.cinnamon/backgrounds

На этом «косметика» заканчивается — от доустановки шрифтов я отказался. Ибо, во-первых, для начала сгодятся и штатные шрифты DejaVu, а во-вторых, последнее время мне полюбились шрифты семейства Input — бесплатные, но свободно не распространяемые,

Последний штрих — выбор и установка дисплейного менеджера. Для Cintu 16.04.1 выбор очевиден:

# apt install mdm

В системе на базе Yakkety простого способа установить MDM в настоящее время нет, а оба «непростых» (с временным подключением PPA-репозитория Ле Бьена или Linux Mint) — кривы. Поэтому как паллиативное решение устанавливается SLiM:

# apt install slim

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

cintu-1610-sparg_010

Теоретически в SLiM’е можно настроить и автоматический вход в систему, но для установочного Live-образа, изготовленного с помощью Systemback’а, это по некоторым причинам, смысла не имеет.

Таким образом, установка SLiM’а — предпоследнее действие при подготовке системы для создания образа mini-редакции. Потому что последним будет, после выхода из режима администратора, формирование списка пакетов:

# exit
$ apt list --installed > ~/pkg-mini-1610.txt

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

Cintu 16.10: конспект по сборке минимальной редакции: 7 комментариев

  1. Спасибо, Алексей, за детализацию своих действий по созданию сборки.

    >Наконец, с внешнего носителя копируются общесистемные dot-файлы:
    # cp -p path2/.zsh* /etc/skel
    Можно чуть подробнее об этих файлах?

  2. Таня, это просто конфиги Zsh’а, которые будут у новообразованных пользователей. Собственно, точные копии тех, что в ~/. А отдельно — чтобы с правами на них не путаться :)

  3. Большое спасибо за очень необходимый конспект.
    Вопрос: конфиги .zshenv .zshrc копировать в директорию /etc/skel с точками в названии файла или без них?
    И если конфиги уже находятся в /etc/skel нужно ли их копировать еще и в хомяк, или уже не обязательно?

  4. sgch, копировать с точками: содержимое /etc/skel — это точно то, что автоматически будет в домашнем каталоге каждого будущего пользователя, созданного, например, командой adduser (или всякими графическими утилитами). А в хомяк текущего юзера cintu мы их скопировали ещё раньше — они одинаковы.

  5. mini.iso все время брал отсюда
    http://cdimage.ubuntu.com/netboot/
    здесь mini.iso обновляется (предыдущее обновление было от 2016-08-10 ) хотя практически вопросы установщика неизменны, но окна для изменения уровня важности debconf не было никогда (это точно — у меня все ходы записаны)
    Вопрос: это окно появилось только в установщике для 16.10 или я использую не ту ссылку для mini.iso?

  6. sgch, оно в альтернативном установщике Ubuntu было всегда — ещё тогда, когда он был не альтернативным, а единственным :)
    Просто Вы, наверное, не обращали внимания: пункт его вызова Изменение уровня важности debconf идёт сразу ниже пункта Завершение установки: http://alv.me/wp-content/img/2015/12/cintu-install_074-572×475.png
    Вообще весь процесс расписан и проиллюстрирован подробно вот здесь: http://alv.me/cintu-ubuntu-i-cinnamon-Ustanovka-bazovoj-sistemy/

  7. Случайно обнаружил более удобный способ установки циннамона —
    при выборе способа установки нажать «таб» и ввести в параметры, передаваемые ядру: pkgsel/include=cinnamon-core
    cinnamon-core — устанавливает всё необходимое для голого циннамона. Можно также, через запятую, перечислить необходимые пакеты. При таком способе не приходится трахаться с нетворк-менеджером после установки (managed=true в 17.04 не работает) https://www.debian.org/releases/jessie/amd64/apbs04.html.ru

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