Ubuntu и сородичи. Фрагменты ненаписанной книжки. Часть 6. Установка с Ubuntu MinimalCD

Алексей Федорчук
Ubuntu’вы страсти, июнь–октябрь 2013 г

Описанная во второй части установка Ubuntu очень проста, однако не даёт никакого простора индивидуальности, безальтернативно навязывая предопределённый набор пакетов. Поэтому данная часть посвящена установке системы с так называемого образа Ubuntu MinimalCD. Она сохраняет свою актуальность без всяких оговорок.

Вступление

Безальтернативность стандартной установки Ubuntu для совсем начинающего пользователя, не имеющего сложившихся предпочтений, можно записать только в плюс, так как позволяет ему быстро развернуть систему и незамедлительно приступить к её применению.

Однако многоопытного применителя это может раздражать: ряд приложений из любого набора (так называемого task) ему не нужен, для других же у него имеются предпочтительные альтернативы, а кое-чего жизненно для него необходимого в типовых наборах просто нет. И тут впору вспомнить об инсталляции с так называемого MinimalCD: в процессе её можно выбрать индивидуально только необходимые пакеты. Или просто установить базовую систему — Core System, как это дело называется в терминологии deb-based дистрибутивов, а в дальнейшем нарастить её всеми потребными компонентами.

Непременное условие для установки с MinimalCD — постоянное подключение к сети: ведь это, в сущности, просто загрузочная дискета, и всё, даже сама программа инсталляции, развёртывается в ней из скачиваемых пакетов. Причём есть подозрение, что соединение должно быть нормальным, с авторизацией по DHCP (или статическим, если таковое ещё кем-то используется). Ибо средств настройки всяких VPN-соединений и прочего WiFi здесь вроде бы не предусмотрено.

Требования к дисковому пространству для случая индивидуализированной установки всецело определяются аппетитами устанавливающего в отношении софта и объёмами его данных. Как и ранее, будем исходить из того, что система устанавливается на чистый (или «очищаемый») диск обычного ныне объёма — от 500 ГБ и выше (меньше трудно найти даже в супербюджетных ноутбуках).

Для установки с MinimalCD его следует получить в виде iso-образа размером 30-40 МБ (в зависимости от версии и архитектуры) — с этого вопроса мы и начнём.

Получение образа

Для установки системы с MinimalCD (именуемого также mini.iso) для начала неплохо бы разжиться его образом. Как ни странно, ссылки на то, где это можно сделать, на поверхности не валяются. Дабы исправить это, я и даю эту маленькую справку.

Так вот, получить mini.iso можно, во-первых, с этой страницы. Здесь можно найти образы для установки релизов (на текущий момент — 04.05.2015) от 10.04 до 14.10 включительно, в 32- и 64-битных вариантах (а также в сборках для всякого рода PowerPC, Sparc и Itanium для тех релизов, для которых они имеются).

Далее, для сохраняющих актуальность релизов за мини-образами можно обратиться сюда: здесь они имеют место быть для релизов 10.04 LTS, 12.04, 14.04, 14.10 и 15.04 (опять же на 04.05.2015).

Наконец, сборка mini.iso для текущего релиза 15.04 находится здесь (64-битная версия).

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

От загрузки до клавиатуры

Если условия, указанные на предыдущей странице, выполнены, образ должен быть записан на компакт (как описано здесь) или скопирован на флэшку с помощью команды:

$ sudo dd if=path2/mini.iso of=/dev/sd?

В документации Ubuntu сказано, что usb-creator’ом это сделать нельзя, а UNetbooton я в этих целях не опробовал.

После этого, обеспечив через BIOS/UEFI загрузку с соответствующего носителя, надлежит загрузить машину, получив вот такую картину:

miniinst-1-01
Выбор первого пункта меню, Install, вызывает модифицированный Debian Installer и последующую так называемую альтернативную установку, в обыденной жизни более не используемую (за исключением Lubuntu). То есть с автоматическим развёртыванием всего предопределённого выбранной целью (ubuntu-desktop и так далее) набора пакетов, включая Libre Office. Пункт Command Line Install влечёт за собой установку полной консольной системы, без всяких Иксов и десктопов.

На предмет установки индивидуализированной системы предназначен пункт Advanced options. Здесь можно выбрать режим эксперта для установки произвольной системы или системы CLI. Последний пункт «продвинутого» меню — Rescue mode; он предназначен для развёртывания в Live-режиме аварийно-спасательной системы с полным набором дисковых и тому подобных утилит. О нём мы сейчас говорить не будем — нас интересует режим Expert install:

miniinst-1-02
Первое последующее затем предложение — выбор языка:

miniinst-1-03
Каковой вполне резонно сделать в пользу Великого и Могучего:

miniinst-1-04
После этого язык всех последующих сообщений будет русским. В том числе и выбор страны пребывания можно сделать, пользуясь родной речью:

miniinst-1-05
В соответствие с выбранными языком и страной предлагается установить локаль (точнее, пока только набор локально-зависимых файлов):

miniinst-1-06
При желании и потребности можно установить и дополнительные локали:

miniinst-1-07
Если таких потребностей нет (а у меня, например, их не возникает) — нужно просто нажать Enter, чтобы собственно установить системную локаль по умолчанию, в нашем случае одну из двух наличествующих; выбор, я думаю, очевиден:

miniinst-1-08
После чего перейти к настройке клавиатуры:

miniinst-1-09
С предложением настроить раскладку, нажимая клавиши, поступаем так, как предложено по умолчанию, то есть решительно его отвергаем:

miniinst-1-10
Однако соглашаемся с предложением страны, для которой наша клавиатура предназначена, ибо это ни что иное, как предложение определить раскладку клавиатуры (в общепринятой терминологии для Иксов):

miniinst-1-11
А вот предложение выбрать раскладку клавиатуры — это на самом деле определние варианта русской раскладки. Пункт, отмеченный по умолчанию, Русская, соответствует варианту winkeys:

miniinst-1-12
Он, видимо, будет привычен для большинства читателей. Однако при желании можно выбрать и любой другой вариант из числа доступных в Иксах. Так, мой выбор — это вариант Typewriter legacy, что и отмечено на скриншоте:

miniinst-1-13
Это стандартная раскладка советских печатных машинок, и с каких пор она стала устаревшей — ума не приложу: вроде бы в последующем печатных машинок с кириллицей никогда и нигде не выпускалось.

Выбор переключателя раскладок — дело вкуса и привычки. Предлагаемая по умолчанию комбинация Alt+Shift, если меня не подводит склероз, соответствует умолчальной для Windows и потому будет привычной для недавних «подоконников»:

miniinst-1-14
Однако у действующих линуксоидов, скорее всего, давно сложились свои предпочтения. Я в последнее время вернулся к старому доброму переключателю CapsLock:

miniinst-1-15
Если в дальнейшем предполагается использование Unity — не следует вешать переключтель раскладок на левую win-клавишу: в этой рабочей среде она задействована во многих стандартных (и не переопределяемых) хоткея, поэтому в качестве переключтеля раскладок работать не будет.

Заданные на этом этапе раскладка клавиатуры, её вариант и переключатель будут действовать не только в Иксовом сеансе, но и в консоли, которая также будет корректно русифицирована и в отношении вывода (то есть установки кириллических шрифтов). Как ни странно, но такая забота о неанглоязычных пользователях по умолчанию до сих пор встречается не часто, а с тотальным внедрением systemd в более иных дистрибутивах пропала вообще: кириллизация консоли в Fedora и openSUSE, например, требует не всегда тривиальных манипуляций.

От сети до часов

Второй этап установки так или иначе связан с сетевыми материями. И начинается он, естественно, с определения сетевой карты. В большинстве случаев оно проходит автоматически и завершается успешно:

miniinst-1-16
Хотя перед этим почему-то требует загрузки модуля поддержки usb-накопителей:

miniinst-1-17
Следующую затем собственно настройку сети

miniinst-1-18
также предлагается выполнить в автоматическом режиме:

miniinst-1-19
Что при наличии подключения с DHCP-авторизацией сработает правильно. В случае статического подключения, видимо, надо будет отказаться от автоматической настройки и вручную задать IP-адрес и тому подобные параметры. А при VPN-авторизации и прочих извращениях, подозреваю, сеть настроена не будет от слова «вообще». А поскольку вся установка с MinimalCD осуществляется по сети, то в таких условиях она будет невозможна.

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

miniinst-1-20
Если нет — придётся выпытывать hostname у провайдера, хотя оно обычно указывается в договоре с оным. Оставлять поле hostname пустым не следует — это вызовет сообщение о недопустимом имени компьютера:

miniinst-1-21
Имя домена также получается у провайдера:

miniinst-1-22
Следующий шаг на пути к установке системы — выбор зеркала архива Ubuntu, то есть сервера, содержащего репозитории дистрибутива и всех его официальных вариантов:

miniinst-1-23
Здесь для начала определяется протокол связи с сервером — http или ftp, первый отмечен по умолчанию и, скорее всего, менять это не нужно:

miniinst-1-24
Дальше по умолчанию предлагается зеркало, определённое на основе указанного ранее местопребывания (в нашем случае — Российская Федерация):

miniinst-1-25
Адрес которого будет таким:

miniinst-1-26
Произвольный адрес указать нельзя — дополнительные репозитории можно будет указать уже после инсталляции. Так что если связь с официальным русским зеркалом плохая, то приходится просто выбирать другую страну. В прежние времена я на все случаи жизни (не только в Ubuntu) обращался к норвежским зеркалам, далее, в порядке убывания препочтительности, использовал шведские, норвежские, Бенилюкса и Германии. Но нынче и с российским скорость соединения хорошая.

Относительно прокси-сервера — если он не используется, ничего указывать не нужно. Ну а те, кто использует — сами знают, что тут надо вводить:

miniinst-1-27
После этого должны быть загружены компоненты программы установки:

miniinst-1-28
Всё заведомо необходимое для инсталляции выбирается автоматически. Однако (и это особенность экспертного режима) пользователь может загрузить дополнительные компоненты из предлагаемого списка, если считает это необходимым:

miniinst-1-29
Мне ни один из дополнительных компонентов не понадобился, так что, нажав Enter, я сразу смог наблюдать процесс установки Core System:

miniinst-1-30
Пока, до разметки диска, она разворачивается в памяти. И по завершении этого процесса наступает черёд создания пользовательского аккаунта:

miniinst-1-31
Он начинается с вопроса о включении поддержки так называемых «теневых» (shadow) паролей. Что это такое — будет сказано своевременно. Пока же достаточно знания того, что этот механизм используется во всех дистрибутивах Linux’а с незапамятных времён, и отказываться от него нет ни малейшего резона, на что и намекает выбор ответа по умолчанию:

miniinst-1-32
А вот следующий вопрос — о разрешении авторизации в системе суперпользователем, — по умолчанию предлагается отрицательный ответ:

miniinst-1-33
Вопреки распространённому мнению, аккаунт root’а в Ubuntu есть. Просто по умолчанию при обычной установке (что десктопной, что альтернативной) для него не задаётся пароль. Что далет невозможным ни вход в систему с логином root, ни получение его полномочий командой su. А вот при установке в режиме эксперта пароль суперпользователя в принципе задать можно. Другой вопрос, нужно ли это делать. В прежние времена задание root’ового пароля влекло за собой некоторые неудобства. В частности, в Kubuntu оказывались невозможными доступ к административному режиму в Центре управления KDE и использование функции Edit as root в konqueror’е.

Как обстоит дело сейчас — не знаю, потому что давно привык полагаться на команду sudo во всех дистрибутивах. И, соответственно, необходимости в пароле для администратора не испытываю вообще. Так что и в современных Ubuntu’идах обхожусь без него. На крайняк, если уж жить без root’ового пароля покажется невозможным, его в любой момент после инсталляции можно задать командой

$ sudo passwd

Вне зависимости от решения впороса с root’ом, далее происходит создание учётной записи обычного пользователя. И начинается оно с предложения задать его полное имя — паспорта при этом не спрашивают, так что оно может быть любым (или не быть задано вообще — хотя оно и используется в некоторых почтовых программах, никакой жизненной необходимости в нём нет):

miniinst-1-34
А вот login, то есть название учётной записи, указать необходимо, иначе была бы невозможна авторизация пользователя в системе:

miniinst-1-35
Впрочем, инсталлятор и не позволит оставить соответствующее поле пустым, выведя сообщение об ошибке:

miniinst-1-36
В каждой учётной записи в соответствие её имени должен быть задан пароль, который во избежание ошибки следует ввести дважды:

miniinst-1-37
В Ubuntu на длину пароля ограничений «снизу» не накладывается. Хотя в режиме эксперта следует предупреждение о слабости пароля, но его можно хладнокровно проигнорировать:

miniinst-1-38
На предложение зашифровать домашний каталог пользователя (то есть /home/username) по умолчанию предлагается отрицательный ответ. И на индивидуальной машине этот совет отвергают обычно только параноики и применители с очень специальными интересами:

miniinst-1-39
Далее следует настройка времени:

miniinst-1-40
Она сводится к ответу на вопрос об использовании службы NTP — очевидно, положительному (иначе зачем эта настройка нужна):

miniinst-1-41
И указанию адреса ntp-сервера — оснований для отказа от умолчального я не вижу ни малейших, но, возможно, у кого-то есть своё мнение на этот счёт:

miniinst-1-42
Следующее сообщение гласит, что на основании ранее определённого местоположения часовой пояс установлен как Europe/Moscow:

miniinst-1-43
Поскольку на Руси жизнь в Замкадье всё-таки есть, жителю Петропавловска-Камчатского, например, от этого определения следует отказаться, и отыскать в длинном списке город под названием Kamchatka:

miniinst-1-44
Предполагается, что «железные» часы в BIOS/UEFI выставлены по Гринвичу (то есть UTC), хотя напрямую такого вопроса пока не задаётся — он последует в самом финале инсталляции.

Разметка и форматирование

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

miniinst-2-01
Этот процесс происходит почти мгновенно, после чего предлагается приступить собственно к разметке.

miniinst-2-02Осуществить её можно одним из четырёх методов, три из которых (простая разметка, с использованием LVM и шифрованного LVM) предполагают автоматическое использование всего диска с уничтожением всего содержимого, если оно было (только после положительного ответа на запрос о подтверждении), а четвёртый — создание разделов и определение файловых систем на них вручную:

miniinst-2-03
Если в ходе разметки выяснится, что выбранный метод почему-либо не устраивает, придётся вернуться в меню выбора и выполнить некоторые дополнительные телодвижения. Чтобы их избежать, предварительно нужно подумать, а необходимую информацию к размышлению я сейчас дам.

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

miniinst-2-04
Поскольку все скриншоты делались в виртуальной машине Virtualbox’а, в нашем примере диск один, и выбирать не из чего. Так что можно переходить к выбору схемы разметки с вариантами: один раздел на всё наличное пространство, с корневым разделом и разделом под каталог /home, и с разметкой под каталоги /home, /usr, /var и /tmp:

miniinst-2-05
Если хоть одна из этих схем устраивает — можно продолжать, если нет — следует обратиться к пункту ручной разметки. На мой взгляд, при использовании традиционных файловых систем, таких, как ext2/3/3, XFS, ReiserFS или JFS (а на автомате оба раздела будут отформатированы как ext4), имеет смысл остановиться на втором пункте. И после его выбора будет предложена на утверждение такая схема разметки:

miniinst-2-06
И теперь положительный ответ на вопрос о записи изменений приведёт уже собственно к разбиению диска на разделы и созданию на них файловых систем. То есть к необратимым последствиям: если диск содержал какую-либо информацию, она будет утеряна после просмотра разметки более детально (в том числе размера созданных разделов) и выбора пункта Закончить разметку и записать изменения на диск:

miniinst-2-07
Если в приведённой схеме что-либо не устраивает (например, размер разделов или тип файловой системы), нужно опять же обратиться к ручной разметке.

Теперь для принятия решения я дам краткую справку о втором и третьем методе, хотя полагаю их нецелесообразными.

Разметка с использованием системы LVM (Logical Volume Manager) позволяет в принципе изменять размер уже созданных разделов без потери данных, что, казалось бы, плюс. Однако в полной мере преимущества LVM могут быть использованы только при наличии в системе более чем одного диска, да и в обращении она не так уж проста. Гораздо эффективней те же задачи решаются с помощью «безразмерных» файловых систем в системах хранения данных, таких, как btrfs или ZFS — последняя со временем будет предметом отдельного разговора. Что же до LVM ещё и с шифрованием — как я уже писал на предыдущей странице, это выбор для параноиков.

Так что переходим к четвёртому пункту, каковой я полагаю главным — ведь индивидуализированную систему целесообразно устанавливать на разделы по собственной схеме разметки. Если перед этим был испробован (и признан неподходящим) один из трёх предыдущих методов, через кнопку Вернуться надо выйти опять на выбор диска:

miniinst-2-08
И теперь последует предложение создать на нём новую, пустую, таблицу разделов:

miniinst-2-09
С этим предложением следует безусловно согласиться, иначе, хотя никакие изменения на диск ещё не записаны, инсталлятор не позволит выйти из круга автоматической разметки. То же самое надлежит сделать и при установке на чистый диск. Да и для диска «нечистого», но с содержимым, приносимым в жертву, новая таблица разделов не будет лишней, как символ «очищения от прошлого».

В отличие от установки в графическом режиме и обычного режима установки альтернативной, в режиме эксперта новую таблицу разделов можно создать в любом из возможных стилей:

miniinst-2-10
Впрочем, практическое значение для нас имеют только два стиля — традиционный стиль MSDOS и современный — GPT. На различиях их в деталях я сейчас останавливаться не буду. Сейчас важно знать только, что в стиле msdos можно создать не более четырёх первичных разделов (primary partition, устройства от /dev/sda1 до /dev/sda4), один из которых, любой, может быть определён как расширенный (extended partition) и разделён на разделы логические (logical partition), общим числом не более 63, с нумерацией устройств, начиная с /dev/sda5, вне зависимости от количества первичных разделов. При разметке же в стиле GPT понятия первичного и логического разделов теряют смысл — диск может быть разбит абсолютно равноправные разделы, общим числом до 128, и файлы устройств их будут иметь сквозную нумерацию, начиная с /dev/sda1 и далее по всем пунктам.

Какой из стилей разметки выбрать? Однозначное предпочтение GPT следует отдать в случае

  • диска объёмом более 2 ТБ (то есть трёх- и четырёхтерабайтников),
  • SSD-накопителей, и
  • необходимости в большом количестве разделов.

Правда, следует помнить, что в штатной поставке Ubuntu для работы с GPT-таблицей имеется только громоздкий и заумный parted, простые инструменты из пакета gdisk нужно будет устанавливать самостоятельно. Впрочем, не для подбора ли нужных пакетов была затеяна установка с MinimalCD?

Однако на традиционных винчестерах «традиционного» объёма (от 500 ГБ до 2 ТБ) и «традиционного» же назначения, особенно установленных в ноутбуках, никаких преимуществ от разметки GPT нет, и отказываться тут от стиля MSDOS оснований не вижу. К тому же это позволит избежать некоторых… не проблем даже, а шероховатостей в процессе установки. Тем не менее, рассмотрим оба случая, и начнём как раз с потенциально менее гладкого GPT-стиля.

После создания новой GPT-таблицы будет опять предложен выбор метода разметки, причём к прежним (автоматическая разметка просто, с использованием LVM и с шифрованием томов) добавятся два — настройка программного RAID и томов iSCSI. О последнем я не имею ни малейшего представления (кроме общих сведений, которые можно найти в Интренете), и потому говорить не буду. Тем более, что в домашних условиях он заведомо не нужен (да и вряд ли возможен). А касаемо программных RAID позволю послать читателя… нет, ни куда-нибудь далеко, а всего-навсего почитать материалы по теме, чтобы определиться, нужен ли RAID народу. Ну и заодно напомню, что уж он-то точно имеет смысл только при наличии более чем одного физического винчестера в машине.

miniinst-2-11
Так что фиксируем курсор на свободном месте выбранного накопителя и нажимаем на Enter. Получая очередное нескромное предложение на выбор — создать новый раздел, автоматически разметить свободное место или показать геометрию диска:

miniinst-2-12
Геометрия диска в данной ситуации может интересовать только из любопытства, автоматическая разметка противоречит духу принятого решения о максимальной индивидуализации. Так что останавливаем свой выбор на пункте по умолчанию — Создать новый раздел. И вот тут — внимание: возникает та самая шероховатость при использовании разметки в GPT-стиле. Кстати, нигде не документированная…

Так вот, для начала нам потребуется создать небольшой служебный раздел в 1-2 МБ:

miniinst-2-13
Тип его определяется как Резервная загрузочная область BIOS:

miniinst-2-14
Никакому монтированию он не подлежит, поэтому можно закончить настройку раздела:

miniinst-2-15
Теперь приступаем к созданию «настоящих» разделов. Сначала — тот, что будет корнем файловой иерархии — чисто волютантаристически решаем, что 8 ГБ хватит на всё про всё:

miniinst-2-16
Ответ на вопрос о местоположении нового раздела представляется очевидным — довольно сложно представит ситуацию, когда корневой раздел требуется поместить в конец диска:

miniinst-2-17
А на следующей стадии, при определении атрибутов раздела, несколько задержимся:

miniinst-2-18
Первым в списке имя раздела — это атрибут разметки в GPT-стиле, хотя для чего оно может быть использовано, я так и не понял. Тем не менее, можем задать его произвольно, но мнемонически понятно, Как — каждый решит для себя. Например, вот так:

miniinst-2-19
Далее для раздела надо определить файловую систему. И для корневого раздела я полагаю правильным согласиться с предложением по умолчанию — то есть с ext4, это наверняка не создаст никаких проблем, обеспечив оптимальное на сегодняшний день соотношение быстродействия и надёжности:

miniinst-2-20
Правда, задать режим журналирования не получится — файловая система будет смонтирована в режиме по умолчанию, то есть ordered. Зато можно указать некоторые другие опции монтирования, из которых в данной ситуации представляют интерес одна из двух — noatime или relatime. Действие их сходно и направлено на увеличение быстродействия, впрочем, в обох случаях копеечного. Так что выбор — сугубо дело вкуса:

miniinst-2-21
Метка раздела — штука в любом случае не вредная (а иногда и полезная), так что задаём её, руководствуясь теми же соображениями, что и при определении имени раздела:

miniinst-2-22
Прочие атрибуты раздела можно оставить в умолчальном виде, если нет каких-то веских соображений к их изменению, и перейти к пункту Настройка раздела закончена:

miniinst-2-23
После этого опять переходим на неразмеченную область диска и создаём там раздел под каталог /home — точно таким же образом, как и корневой раздел:

miniinst-2-24
Разве что здесь можно подумать над файловыми системами, а именно: вместо ext4 для него можно определить

  • XFS, если раздел очень большой, и на нём предполагается хранить большие и очень большие файлы;
  • ReiserFS, если, напротив, в домашнем катлоге будут преобладать очень маленькие файлы в обчень большом количестве;
  • btrfs, если предполагается создание субтомов для подкаталогов отдельных пользователей или типов пользовательских данных.

Прочие файловые системы из доступных представляют исторический (ext2/3) или академический (JFS) интерес. А вопросы относительно RAID и LVM мы здесь обсуждать не будем.

Если предполагается в дальнейшем разместить домашний каталог на пуле ZFS, то от создания раздела под /home следует отказаться, оставив предназначенное к тому дисковое пространство неразмеченным.

От создания раздела подкачки отказываемся по соображениям, высказанным во второй части.

В окончательном виде таблица разделов будет выглядеть так:

miniinst-2-25
На этом разметка закончилась — переходим к пункту Закончить разметку и записать изменения…

При разметке в стиле MSDOS всё делается точно так же — но, естественно, никакого резервного раздела создавать не нужно, ограничиваемся разделами для корня и домашнего каталога, после чего опять же выбираем пункт Закончить разметку и записать изменения…

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

miniinst-2-26
Затем будет выведен список разделов, подлежащих форматированию, с запросом на подтверждение записи изменений, теперь уже последним китайским:

miniinst-2-27
И вот теперь диск будет реально размечен, а его разделы отформатированы. И возврат в первозданное состояние станет невозможным. На чём и заканчивается третий этап инсталляции — начинается четвёртый, то есть работа с пакетами.

Развёртывание системы

Реальное развёртывание системы начинается после создания разделов и файловых систем на них — раньше её просто негде было развёртывать. И первое, что здесь происходит — установка той же самой Core System, которая раньше в служебных целях разворачивалась в оперативной памяти:

miniinst-3-01
Поскольку теперь происходит запись не в память, а на диск, процедура эта оказывается более длительной:

miniinst-3-02
Ближе к концу её появляется предложение выбрать ядро для установки:

miniinst-3-03
Выбор, в сущности, сводится к альтернативе linux-generic для нормальных материнских плат и linux-signed-generic — для извращённых Secure Boot’ом. И соответственно, и определяется наличным «железом». Хотя при наличии «извращённой» матери я попытался бы ещё до начала установки отключить Secure Boot — но пока мне такие в руки не попадали.

Раздумывать о версиях и сборках ядра не нужно: версия в Ubuntu в межрелизный период не меняется, а оба указанные файла образа предстаяляют собой символические ссылки на посденюю (для момента установки) сборку. В приведённом примере это 3.8.0.25. И в дальнейшем, если обновлять ядро штатными средствами дистрибутива, эта ситуация будет сохраняться.

Далее следует создание начального RAM-диска — initrd:

miniinst-3-04
Опций здесь две: включение в него всех доступных драйверов и только необходимых для данной машины. Поскольку мы устанавливаем систему именно на данную машину, а не какую-либо абстрактную, выбор в пользу второго варианта очевиден. Хотя, как пишут майнтайнеры, при этом есть вероятность, что какой-либо нужный драйвер будет пропущен, но она, во-первых, мала, во-вторых — равна нулю для драйверов, критически важных при старте. А прочие недочёты initrd (если они будут) можно скорректировать потом.

После этого ядро, его модули и initrd, а также все сопутствующие компоненты, типа firmware и заголовочных файлов, физически устанавливаются на диск:

miniinst-3-05
На этом установка Core Sustem заканчивается — наступает время инсталяции всех остальных компонентов, необходимых для практического применения системы. И первый шаг в этом направлении — настройка менеджера пакетов, то есть системы APT:

miniinst-3-06
В ходе её задаются вопросы, сделать ли доступным дополнительный к официальному дистрибутиву софт (содержащийся вне репозитория main) софт. То есть подключать ли дополнительные репозитории.

Сначала — официально поддерживаемые программы с ограничениями на распространение (из репозитория restricted):

miniinst-3-07
Затем — не поддерживаемые официально, но свободные пакеты (репозиторий universe):

miniinst-3-08
Вслед затем — официально не поддерживаемые пакеты с ограничениями на распространение (репозиторий multivers):

miniinst-3-09
И наконец — софт, портированный в текущий релиз дистрибутива из релиза разрабатываемого (репозиторий backports):

miniinst-3-10
Догадливый читатель успел смекнуть, что на все эти впоросы в наших услвоиях следует отвечать только положительно.

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

  • официальных обновлений безопасности (secure updates),
  • программ от партнёров Canonical (partner archive), и
  • софта от независимых разработчиков (extras archive).

По умолчанию отмечен только первый пункт списка, однако не повредит и включение двух оставшихся:

miniinst-3-11
Вслед за этим происходит скачивание файлов описания репозиториев:

miniinst-3-12
После чего начинается собственно выбор и установка программного обеспечения:

miniinst-3-13
Впрочем, сначала никакого выбора не будет — скачиваются и устанавливаются пакеты, которые потребуются в любом случае:

miniinst-3-14
А затем определяется политика обновления системы. Тут возможны три варианта:

  1. отказ от автоматического обновления вообще; при этом будут выводиться сообщения о поступлении новых версий установленных пакетов, которые можно будет обновить в удобное для пользователя время;
  2. автоматическое обновление только пакетов, связанных с безопасностью системы; прочие будут обновляться в режиме предыдущего пункта;
  3. обновление через фирменный (то есть проприетарный) web-сервис Canonical, именуемый Lanscape.

miniinst-3-15
Третий вариант в наших условиях, пожалуй, не подходит, а выбор между первым и вторым — дело личной паранойи. Мой выбор — вариант первый.

Теперь предлагается выбрать метапакеты — предопределённые наборы софта той или иной ориентации. В терминологии deb-based дистрибутивов они называются задачами или целями (tasks). Список их обширен и разнороден:

miniinst-3-16
С одной стороны, в нём присутствуют «именованные» задачи — Ubuntu desktop, Kubuntu desktop и так далее. Выбор их приведёт к тем же результатам, что и уставновка с одноимённого desktop-диска — то есть к типовой системе Ubuntu, Kubuntu etc., с тем же самым набором софта. Правда, тут добавляются некоторые степени свободы в виде облегчённых (Kubuntu actice, Lubuntu minimal) или, наоборот, более полных (Kubuntu full) вариантов инсталляции соответствующих дистрибутивов.

Другие задачи предназначены для инсталляции специализированных систем, таких, как Basic Server, LAMP Server или, скажем, Ubuntu на флэшке (Ubuntu desktop USB).

Наконец, некоторые задачи представляют собой не законченные системы, а наборы софта для определённых сфер деятельности — редактирования графики, работы с аудиоматериалами, издательской деятельности. Они могут быть добавленны к любой «именованной» или специализированной системе — множественный выбор задач отнюдь не запрещён.

Выбор определённых задач для применителя, знающего, что ему нужно, с одной стороны, существенно увеличивает гибкость инсталляции системы, с другой — не существенно условжняет её. Но есть ещё и пункт Manual Package selection — индивидуальный выбор пакетов:

miniinst-3-17
И вот тут-то и происходит самый охмурёж, начинающийся с запуска менеджера пакетов aptitude в интерактивном режиме.

Программа aptitude — это менеджер пакетов, работающий во всех deb-based дистрибутивах. Однако в Ubuntu и всех её разновидностях главным средством управления пакетами в командной строке является семейство утилит APT, а aptitude рассматривается как дополнительное средство.

Поэтому я не буду в деталях описывать приёмы работы с aptitude, а дам краткий обзор доступных через неё возможностей на стадии выбора пакетов при инсталляции с MinimalCD. После чего читатель сам решит, стоит ли углубляться в эти материи, или нет: вполне вероятно, что с aptitude ему никогда более сталкиваться не придётся. Однако её возможности по управлению пакетами шире, чем у apt‘а, и потому для заинтересованных лиц со временем будет подготовлено её более подробное описание.

Итак, для начала нажав Enter, дабы убрать сообщение об отсутствии решений, мы видим список категорий пакетов — установленные и неустановленные, виртуальные и задачи.

miniinst-3-18
С первой категорией всё ясно. Неустановленные пакеты — пакеты, отсутствующие в системе, но доступные из ранее подключённых нами репозиториев. Виртуальные пакеты — взаимозаменяемые наборы пакетов определенного назначения, например, агенты доставки почты, разноязычные словари для проверки орфографии, и так далее. Ну а про Задачи (Tasks) мы только что говорили.

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

miniinst-3-19

miniinst-3-20
Виртуальные пакеты и задачи тоже представляют собой своего рода группы, выводимые едиными списками, включающими списки индивидуальных пакетов:

miniinst-3-21

miniinst-3-22
Пакеты имеют основной статус (i — установленный, p — не установленный, и так далее), и статус дополнительный. Из последних для нас сейчас важен статус A — автоматически установленный пакет, который может быть удалён только вместе с зависимостями. Этот статус получают пакеты, инсталлированные при установке задачи. Пакеты, не имеющие статуса A, считаются установленными вручную, и могут быть удалены индивидуально.

Действия над пакетами могут выполняться через меню (активизируется комбинацией клавиш Control+T) или горячими клавишами: + — отметить для установки, и _ — отметить для удаления с сохранением конфигов и полного, соответственно, m — снять дополнительный статус A, и так далее. Подчёркиваю — тем самым мы только отмечаем пакеты для выполнения указанных действий. Чтобы действие осуществилось, нужно выбрать в меню Действия -> Установить/удалить пакеты. Или нажать горячую клавишу g. Это следует сделать по завершении выбора пакетов для установки и удаления.

Выход из aptitude и возврат в меню инсталлятора — через меню Действия -> Выход или горячей клавишей q, после подтверждения серъёзности своих намерений:

miniinst-3-23
Построение полноценной системы с Иксами, десктопом и необходимыми приложениями поверх чистой Core System — занятие кропотливое, очень затратное по времени и не исключающее ошибок. Поэтому в большинстве случаев целесообразней на предыдущей стадии выбрать метапакет с наиболее близкой по потребностям задачей, а уж его корректировать в обе стороны (установки и удаления) через индивидуальный выбор пакетов.

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

Установка загрузчика и завершение

После завершения развёртывания системы остаётся последний штрих — установка системного загрузчкиа, каковых инсталлятор предлагает два на выбор, GRUB или LILO:

miniinst-4-01
Основным системным загрузчиком во всех вариантах Ubuntu является GRUB2 — именно он безальтернативно устанавливается при инсталляции с desktop-образов, при инсталляции с MinimalCD идёт первым номером программы.

В случае единственного физического диска установка GRUB2 очень проста. Сначала устанавливаются соответствующие пакеты

miniinst-4-02
Затем нам радостно сообщается, что Ubuntu — единственная система на данном компьютере, и потому GRUB (точнее, его stage1) можно безбоязненно записать в MBR:

miniinst-4-03
С чем не будем спорить, так что GRUB исталлируется уже окончательно:

miniinst-4-04
А вот если в системе имеется более одного диска, да ещё и с установленными на других дисках более иными системами (не подумайте плохого, дистрибутивами Linux или BSD какими-нибудь), надо быть очень внимательным. Потому что, на какой бы по счёту винчестер ни устанавливали Ubuntu, и какой бы из них не определяли в BIOS/UEFI в качестве первого загрузочного устройства, по умолчанию её инсталлятор норовит записать stage1 GRUB’а в MBR диска на первом SATA-канале. И если на нём стоял уже какой-то другой Linux, со своим загрузчиком, то последний будет испорчен.

Конечно, ничего страшного в этом нет — GRUB2 от Ubuntu с вероятностью 150% найдёт вторую установленную ОС и внесёт её загрузку отдельным пунктом в своё меню. Но всё равно, это некрасиво — при установке разных ОСей на собственные винчестеры я предпочитаю, чтобы они были полностью автономны. Дабы можно было выбирать систему для загрузки не только через меню GRUB’а, но и через BIOS/UEFI.

Надо сказать, что такой непорядок тянется с первых версии Ubuntu, когда в ней использовался ещё GRUB Legacy. Правда, его легко избежать — нужно только минимум внимания. И при установке GRUB’а от Ubuntu в качестве устройства для его установки принудительно назначить тот же диск, на который устанавливается она сама.

Поясню на реальном примере. У меня в машине на двух первых каналах SATA висят два SSD по 120 ГБ. На первом из них, /dev/sda, была установлена openSUSE. Второй же, /dev/sdb предназначался для Ubuntu. Перед установкой последней я поменял в своём UEFI’шном setup’е порядок загрузки, сделав первым загрузочным устройством /dev/sdb. Тем не менее, инсталлятор Ubuntu упорно хотел прописать stage1 от её GRUB’а в MBR устройства /dev/sda. Благо, возможность поменять целевой устройство для установки GRUB’а была, и я, наученный опытом прежнего общения с Ubuntu, её не упустил.

Однако вернёмся к нашим загрузчикам. Как уже было сказано, в качестве альтернативы GRUB’у инсталлятор Ubuntu предлагает редко используемый в наши дни LILO. Но, поскольку нынешний GRUB2 усложнился до неприличия, кому-то эта альтернатива покажется привлекательной. Так что рассмотрим и её.

Выбрав соответствующий пункт в главном меню инсталлятора, мы видим варианты установки LILO:

  • в MBR первого диска, то есть /dev/sda (опять же вне зависимости от их количества и целевого устройства для Ubuntu);
  • в загрузочный сектор раздела с Ubuntu, например, в /dev/sda2;
  • в более иное место.

miniinst-4-05
Первый вариант — выбор по умолчанию, и на нём нужно остановиться, если Ubuntu будет единственной системой на единственном же в машине диске. Второй вариант следует выбрать, если на том же диске уже установлена другая система, загрузчик которой желательно сохранить. Наконец, третий вариант позволяет вручную прописать имя файла устройства, в загрузочный раздел которого LILO должен быть установлен:

miniinst-4-05a
Вне зависимости от выбранного для LILO устройства, следующий шаг — вопрос о включении параметра large-memory. Как явствует из сопроводительного текста, отказываться от него не нужно:

miniinst-4-06
Столь же положительно следует ответить на вопрос о преобразовании имён загрузочного и корневого устройства в файле конфигурации LILO:

miniinst-4-07
Наконец, аналогичный ответ нужно дать и на вопрос о немедленном перезапуске /sbin/lilo — иначе сделанные только что изменения не обретут силы:

miniinst-4-08
После этого происходит собственно установка LILO

miniinst-4-09
За которой следует предложение завершить установку:

miniinst-4-10
Оно, безусловно, будет принято, но сначала я хочу сказать ещё пару слов о загрузчиках. Во-первых, на монстроидальном GRUB2 свет клином не сошёлся: и если он не устраивает, а LILO не нравится, то после инсталляции из репозиториев можно будет заменить его на GRUB Legacy. А во-вторых, я не проверял работоспособность LILO на современном реальном железе — только в виртуальной машине, где с проблемами не столкнулся. Но есть подозрение, что они не исключены на нынешних материнках с UEFI. Но на сей предмет в репозитории имеется пакет elilo, специально для них предназначенный. Правда, до него у меня руки не дошли тем более.

Возвращаюсь, однако, к завершению устновки. Она сводится к дозаписи мелких деталей, типа внесения данных о созданном пользовательском аккаунте:

miniinst-4-11
Затем — вопросу о том, установлены ли часы по Гринвичу (самое время):

miniinst-4-12
И, наконец, предложений перезагрузить машину:

miniinst-4-13
Каковая проходит (надеюсь) успешно, выводя сначала меню загрузчика — для разнообразия пусть это будет LILO:

miniinst-4-14
А затем — приглашение к авторизации:

miniinst-4-15
Уж совсем в заключение добавлю, что установка только базовой системы релиза 13.04 заняла чуть боле 780 МБ:

miniinst-4-16
Не много по сравнению с полной установкой любого из desktop-вариантов — но и весьма немало для чисто консольной системы. Нажатие табулятора в пустой командной строке показывает, что в систем при этом имеется несколько более 800 исполняемых файлов:

miniinst-4-17
Главное, в их числе присутствуют apt и, как ни странно, aptitude. Так что возможности наращивания системы по собственному желанию границ не имеют.

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