Книга о Cintu. Часть I. Создание системы. Глава 1. Установка

Книга о Cintu. Часть I. Создание системы. Глава 1. Установка

Мы с Мануалом постоянно подчёркиваем, что Cintu — это не столько дистрибутив, сколько алгоритм создания собственной кастомизированной системы, пригодной для тиражирования среди родных, друзе и близких. А также всех тех, кому она понадобится впредь. Поэтому собственно руководство по Cintu мы и начнём с рассмотрения того, как она делается.

Глава 1. Установка базовой системы

Процесс создания Cintu происходит в три этапа:

  • установка базовой системы;
  • обустройство консольного режима и обретение десктопа;
  • настройка базового десктопа со средой Cinnamon.

После чего наступает время тиражирования подготовленной системы — оно осуществляется с помощью образов, созданных системой Systenback, описанной котом Мануалом.

Под базовой системой любого дистрибутива подразумевается ядро Linux, средство его загрузки, некий минимальный набор утилит и приложений, а также средство управления пакетами (как было некогда описано здесь с некоторыми актуализирующими коррективами). В Ubuntu и её клонах эти компоненты объединены в метапакет ubuntu-standard.

Способы установки

Установка минимальной системы Ubuntu, лежащей в основании всех дистрибутивов этого семейства, возможна двумя способами. Первый — загрузка с Live-носителя любого из дистрибутивов этого семейства, монтирование целевого носителя, выполнение на него команды debootstrap, далее chroot и установка метапакета ubuntu-standard. После чего у нас имеется консольная система, не содержащая ничего лишнего, но имеющая всё необходимое для наращивания до полноценного дестопа.

Второй способ — загрузка с образа mini.iso, который содержит суперминималистическую систему Ubuntu: ядро системы, её установщик текстового режима, и средства конфигурирования сети — всё остальное получается из официальных репозиториев в соответствие с выбором применителя. Который данном случае будет — установка системы CLI (Command Line Interface) в режиме эксперта. Результат чего будет абсолютно аналогичен полученному путём «чистого debootstrap’инга».

Второй способ требует существенно меньших затрат сил и времени, нежеди первый. И потому далее будет рассматриваться только он. К способу первому приходится прибегать в некоторых специальных случаях — при устанввоке на носитель или файловую систему, «из коробки» не поддерживаемые ни одним из инсталляторов Ubuntu (ни текстовым, ни графическим). Примером чему явдяется установка системы с корнем на ZFS, о чём мы с Мануалом надеемся как-нибудь рассказать отдельно.

А пока речь пойдёт о генеральной линии минимальной установки.

Подготовка

Как уже было сказано, для установки базовой Ubuntu необходим образ mini.iso. Образ этот, размером для релиза 18.04 около 67 МБ (в скобках прописью — мегабайт) обновляется обычно раз в неделю. И актуальный его вариант всегда можно отыскать в официальном репозитории Ubuntu (или на любом из зеркал) здесь:

/dists/[codename]/main/installer-amd64/current/images/netboot

В частности, текущий mini.iso для будущего релиза 18.04 скачивается отсюда. И здесь уместно добавить, что аналогичный образ существует и для 32-битной архитектуры, хотя в основной ветке Ubuntu от её поддержки отказались.

Важно, чтобы используемый mini.iso был именно актуальным на момент установки, иначе очень вероятны конфликты получаемых из репозитория пакетов с ядром, загруженным с установочного носителя — обновить ядро в процессе установки, по понятным причинам, невозможно.

Скачанный образ, разумеется, должен быть помещён на установочный носитель — нынче эту роль, скорее всего, будет играть флешка или SD-карта. Существует много специальных утилит для записи ISO-образа на твердотельный носитель. Однако часто забывают о самом простом и безотказном средстве:

$ sudo cp path2/mini.iso /dev/sd?

где path2/ — путь к образу mini.iso, а /dev/sd? — имя целевого устройства, например, /dev/sdf. Подчеркнём, что именно устройства, а не раздела на нём. При этом флешка (или SD-карта) может быть не только не форматированной, но и не иметь таблицы разделов. Важно также помнить, что спредыдущим её содержимым после выполнения указанной команды можно распрощаться.

Кроме установочного носителя, на ранней стадии конфигурирования системы, которое будет происходить в текстовом режиме, желательно иметь ещё один носитель — в качестве такового может выступать флешка или сетевой ресурс, доступный по ftp с помощью клиента, работающего в текстовом режиме. Так или иначе, но здесь следует заблаговременно разместить необходимые конфиги — в нашем случае это dot-файлы для командной оболочки Zsh — .zshenv, .zshrc, а также общеисксовый файл ресурсов .Xresources.

Вооружившись указанным инвентарём, можно приступать к установке. Но сначала пара слов о некоторых данных и отмазках.

Условия и ограничения

Образы предыдущих релизов Cintu собирались для установки исключительно машины, работающие в режиме BIOS Legacy — это процедура давно отработанная и ныне бессбойная. Почему она же применялась в отношении первых сборок релиза 18.04. И, как показала практика с таких образов систему можно установить также на машину в режиме UEFI — только это потребует некоторых телодвижений после инсталляции.

Для того же релиза 18.04 был опробован и метод сборки образов, «из коробки» предназначенных для установки на машины как в режиме BIOS Legacy, так и в режиме UEFI. К сожалению, для последнего случая вероятность благоприятного результата была равна вероятности встретить динозавра на улице Москвы: система с «универсальных» образов либо устанавливалась на UEFI машину без проблем, либо — не устанавливалась. И тогда после инсталляции требовались те же самые действия, что и при установке с образа.

Поэтому мы с Мануалом посоветовались, и решили «универсальных» образов больше не делать, ограничившись «чисто BIOS’ными». Так что далее будет говориться о том, как собирать образы Cintu для установки на машины в режиме BIOS Legacy. С той оговоркой, что эти образы могут быть установлены и на UEFI-машины, с некоторыми трудозатратами после инсталляции.

Желающие же собрать таки «универсальный» образ для машин в обоих режимах — могут сделать это на свой страх и риск. Мы с Мануалом надеемся, что в этом благородном деле им поможет очерк Cintu и UEFI: спецразлив.

Все образы Cintu релиза 18.01 (включая текущий «точечный») собираются в виртуальных машинах Virtualbox’а. Для каждой сборки создаётся отдельная ВМ с одними и теми же параметрами для всех: 2 виртуальных процессора (при четырёхядерном восьмипотоковом процессоре хоста, i7-4790K, 4,00 ГГц), 4 ГБ памяти (из 16 физических), виртуальный диск 40 ГБ. Созданные образы сначала тестируются в отдельных виртуальных машинах как в Live-режиме, так и в установленном виде. После чего удачные образы, достойные для народного внимания, тестируются уже на физическом «железе».

Загрузка

Установка минимальной Ubuntu, как и любого дистрибутива, начинается с загрузки системы и запуска инсталлятора. В результате чего появляется меню альтернативного установщика, точнее, пока — его загрузчика:

Для наших целей из этого меню требуется пункт Advanced options, вызывающий следующий экран, в котором выбирается пункт Command line expert install:

Однако не надо спешить запускать загрузку нажатием на Enter. Предварительно необходимо чуть подредактировать параметры загрузки. Для этого нажатием клавиши Tab вызывается редактор строки загрузки меню:

В которую нужно вписать параметр pkgsel/include=network-manager, который обеспечивает принудительную установку пакета network-manager и его задействование при первой загрузке:

В качестве значений параметра pkgsel/include можно добавить и другие пакеты, нужные, но не входящие в метапакет ubuntu-minimal. Однако эксперименты с ними мы с Мануалом оставляем на усмотрение заинтересованных лиц — нам хватило только абсолютно необходимого параметра.

Установка

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

Которая издревле начинается с выбора языка её интерфейса из длиннющего списка, который, в числе прочих, содержит и русский язык:

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

Вслед за выбором языка (разумеется, русского) предлагается выбрать страну, в которой на ней разговаривают — выбор здесь очевиден:

А затем и страну для локали по умолчанию — также русскую, разумеется:

Дополнительные локали лучше не определять — предлагаемый выбор локали en_US.UTF8 потянет за собой весь спектр англоязычных локалей, вплоть до зимбабвийской — что в наших условиях очень актуально. А так у нас останутся только те, что необходимы действительно:

C
C.UTF-8
POSIX
ru_RU.utf8
ru_UA.utf8

Здесь, с точки зрения применителя, локали C и C.UTF-8 идентичны обеим американских — восьмибитной и юникодовской.

Далее следует выбор дополнительной раскладки клавиатуры (английская американская будет место в любом случае):

При выборе русской раскладки можно очень точно подобрать её вариант — например, любимый нами с Мануалом (typewriter, legacy):

И раскладка, и вариант её будут одинаковы и в Иксах, и в консоли. Как и переключатель раскладок — он выбирается на следующем шаге. Поскольку в консоли любимые нами немодальные переключатели не поддерживаются, нет смысла и менять умолчальный Alt+Shift — после отладки клавиатуры в Cinnamon он останется в качестве запасного:

После настройки клавиатуры наступает очеред конфигурирования сети. При кабельном подключении и автоматическом DHCP здесь на каждом шагу достаточно соглашаться с вариантами, предлагаемыми по умолчанию. Единственно, что придётся утрудить себя вводом имени компьютера (то есть по простому — хоста):

Далее выбирается зеркало репозитория Ubuntu — по умолчанию соответствует стране инсталляции — в нашем случае зеркало будет Российским, а точнее Яндексовским:

Далее начинается серия вопросов, касающихся настройки аккаунтов — включать ли теневые пароли (разумеется, Да), создавать ли аккаунт root, (конечно, Нет), ввод реального имени пользователя (не обязательно настоящего, паспорт не спрашивают), его логина и пароля (дважды, длина пароля допускается любая), шифровать ли его домашний каталог (а оно нам нужно? — так что Нет).

Затем — настройка времени. При использовании NTP (выбор по умолчанию) для страны России оно автоматически будет определено как московское:

Если это не соответствует действительности (а на просторах нашей родины такое не исключается), здесь следует ответить Нет и выбрать более подходящий часовой пояс, например, Магаданский (8 часов разницы с Москвой):

Интересно, что о существовании более восточного часового пояса, охватывающего Камчатку и Чукотку (9 часов разницы с Москвой), «альтернативная» программа инсталляции Ubuntu не подозревает (хотя основная, кажется знает про город под названием Камчатка).

Следующий этап установки касается разметки диска (дисков). В общем случае он требует внимательности и ответственности, особенно при наличии иных уже установленных систем и нескольких дисках. Однако мы сейчас устанавливаем «систему-матку», и делаем это в виртуальной машине. Так что у нас будет всё просто.

Сначала выбираем ручную разметки диска — при разметке в автоматическом режиме будет создан раздел подкачки, который нам совсем не нужен:

Отступление: сказанное сейчас и далее касается подготовки системы для установки на машину в режиме BIOS Legacy. При использовании режима UEFI лучше сразу положиться на автоматику, выбрав пункт Авто — использовать весь диск. Как показала практика, диск этот будет размечен как для UEFI надо.

В режиме же BIOS legacy выбираем единственный диск виртуальной машины:

Так как он ещё более девственен, чем свежекупленный физический, положительно отвечаем на вопрос о создании новой пустой таблицы разделов:

И предписываем создать таблицу разделов в стиле msdos

После чего создаём единственный раздел на всё доступное пространство, определяем его как первичный, создаём (точнее, заказываем создание) файловой системы Ext4, которая будет монтироваться в корень файловой иерархии, определяем опции монтирования (noatime) и метку диска (я дублирую её с именем домена). Что в итоге даёт такую картину:

Далее после умолчальных ответов на пару вопросов инсталлятор сообщает о своём желании создать файл подкачки размером в 2 ГБ:

Что и будет сделано — /swapfile указанного размера будет создан, вне зависимости от того, какой бы размер (в том числе и нулевой) мы бы ему ни задали.

Теперь, после согласия со всеми предупреждениями, начнётся установка. В ходе её время от времени будут предлагаться варианты, требующие выбора. Например, об установке ядра, где можно положиться на умолчальное ядро linux-generic:

Или вопрос о содержимом initrd: в систему, которая предназначена для широкого (хоть в и узких кругах) распространения, должны быть включены все доступные драйверы:

На вопросы о подключении разделов репозитория (main, restricted, universe, multiverse, backports) надо отвечать положительно, а вот с partner лучше не связываться. Зато очень не вредно подключить репозиторий исходников. По поводу обновлений безопасности следует отвечать, как приказывает инсталлятор. В том числе и отказаться от автоматического обновления:

После этого инсталлятор предлагает заняться установкой GRUB’а. А именно — устанавливать ли его в MBR? — Разумеется, Да, — отвечаем мы. Затем следует определить устройство — при единственном диске это не сложно:

Вопрос про EFI пропускается, и инсталляция GRUB’а совершается. После чего предлагается завершить установку. Мы, однако, сразу этого не делаем, а сначала изменяем уровень важности debconf на низкий — тот, при котором задаётся больше всего вопросов:

Вот теперь модно и завершить установку. В ходе чего задаётся (очень вовремя) вопрос о времени на системных часах — по UTC ли оно? Отвечаем Да — и получаем приглашение к авторизации. Которое напоминает, что установочный носитель надо извлечь или отключить самому, руками — инсталлятор за нас этого не сделает:

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

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

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