В третьей главе описываются особенности установки Salix по вариантам BASIC и CORE, режим автоматической разметки диска и, напротив, выполнение её вручную вне инсталлятора, в среде командной (например, с целью создания программного RAID). Вкратце затронута также специфика установки дистрибутива на SSD и на ноутбуки. В заключение предполагается, в каких случаях целесообразно использовать те или иные способы установки.
Из второй главы настоящей книжки было видно, что в процессе установки дистрибутива Salix есть две «точки ветвления» его основной линии. Первая – это выбор между режимами INSTALL и AUTOUNSTALL, вторая – выбор между вариантами установки FULL, BASIC и CORE. Но на самом деле есть ещё и «нулевая точка» – выход из программы инсталляции на втором её шаге. Но о нём я скажу в самом конце, потому что рассматривать боковые ответвления (то есть те, которые не отмечены по умолчанию) целесообразно в обратном порядке. В том числе и потому, что все они, в конце концов, вливаются в основную линию процесса установки.
Установка вариантов BASIC и CORE протекает точно так же, как и FULL, включая конфигурирование загрузчика – вплоть до настроек времени, связанных с часовыми поясами. В этот момент требуется единственное за всю инсталляцию обращение к сети для синхронизации локальных часов с мировым временем. А для управления сетью в Salix по умолчанию применяется программа Wicd, которая устанавливается только в полном варианте. Поэтому в вариантах BASIC и CORE после настройки LILO следует предложение настроить сеть.
Рисунок 3-1. Приглашение к настройке сети
В каких случаях отказываться от этого предложения не следует, а в каких лучше сразу вернуться к выбору вариантов установки и сменить её на FULL, становится ясным не сразу, поэтому я забегу вперёд. В инсталляторе Salix поддерживаются следующие типа настройки сетевого соединения:
• проводное соединение с использованием сервера DHCP;
• проводное соединение со статической IP-адресацией;
• «петлевое» (loopback) соединение внутри локальной машины;
• автоматическое конфигурирование с иcпользованием NetworkManager.
В первом варианте (а он применяется всеми «нормальными» провайдерами, за редким исключением) настройки сети проходят легко и безболезненно, в чём читатель скоро убедится. Статическая адресация нынче используется почти исключительно в локальных сетях (домашних или малых офисов), и все необходимые параметры будущий применитель Salix либо знает, либо может легко получить у администратора. «Петлевое» соединение настраивается на компьютере без подключения к сети – для локального тестирования сетевых служб, например, либо, в некоторых случаях, при установке системы в виртуальной машине как один из способов взаимодействия с host-компьютером.
А вот для настройки сети с подключением по WiFi, через VPN или при DSL-подключении теоретически следовало бы использовать NetworkManager. Почему «теоретически» – скоро станет ясно.
Так что для начала я рассмотрю самый простой и случай – проводное подключение с использованием DHCP-сервера. Первым шагом в этом направлении будет указание имени целевой машины. В большинстве случаев оно задаётся произвольно, но задаётся обязательно, иначе программа инсталляции не позволит перейти к следующим шагам.
Рисунок 3-2. Определение имени машины
То же самое относится и к указанию имени домена. Оно также может быть произвольным, хотя я обычно указываю домен своего провайдера.
Рисунок 3-3. Определение имени домена
Если данная комбинация не проходит – следует обратиться к провайдеру за соответствующими сведениями. Хотя выяснится это только после установки.
Следующим шагом будет то, с чего следовало бы начать всё это предприятие – выбор типа настройки соединения. Как только что было сказано, сейчас мы рассматриваем сетевое соединение с использованием сервера DHCP.
Рисунок 3-4. Выбор настройки с сервером DHCP
Далее предлагается задать имя сервера DHCP. В большинстве случаев используется автоматическое его определение, так что это поле нужно оставить пустым. Если это не так – следует обратиться к провайдеру.
Рисунок 3-5. Имя сервера DHCP (опционально)
Наконец, выводится конфигурация сети и запрашивается согласие с ней. При выполнении указанных выше условий его можно давать смело – с сетью всё будет нормально.
Рисунок 3-6. Конфигурация сети
То есть при «нормальном» подключении никаких неожиданностей в настройке сети не будет. Однако похоже, что ныне «нормой» становятся как раз «извращённые формы» сетевого соединения. И в этом случае логичным кажется обращение к пункту NetworkManager. Что, на первый взгляд, подтверждается: почти мгновенно выдаётся сообщение, что сеть была сконфигурирована с использованием этого менеджера соединений.
Рисунок 3-7. Сконфигурирована ли сеть с помощью NetworkManager?
Однако радоваться рано. После завершения установки системы и перезагрузки машины обнаружится, что никакого сетевого соединения нет и в помине. Что не удивительно, потому что в ходе инсталляции не был установлен не только апплет для управления сетью, но и сам NetworkManager. Программы Wicd, разумеется, нет тоже. Так что можно либо заниматься ручной настройкой сети, либо установить один из менеджеров соединений с локальной машины, скачав заблаговременно нужные пакеты. Но проще всего – во всех сомнительных случаях выбирать вариант полной установки.
В противоположность «нетрадиционным» способам подключения к сети, настройка «петлевого» соединения происходит очень просто. На первых шагах в качестве имени хоста и домена целесообразно указать localhost и local.domain, соответственно. После чего будут автоматически установлены IP и маска подсети, зарезервированные для «локального» использования.
Рисунок 3-8. Настройка «петлевого» соединения
Рассмотрение настройки сети со статической адресацией оставляю заинтересованным лицам.
Вне зависимости от выбора типа настройки сети и успешности этой процедуры, по её завершении происходит возврат к генеральной линии установки – к определению часового пояса, локали и так далее, вплоть до перезагрузки машины.
В первой статье цикла я говорил, что инсталлятор Salix, упрощая и облегчая установку системы, всё-таки не освобождает своего будущего применителя от необходимости кое-что знать, например, о дисковой разметке и файловых системах. Однако был не совсем прав: режим AUTOINSTALL как раз позволяет обойтись без этого. Правда, для этого необходимо в качестве целевого носителя располагать «чистым» диском (или таким, всем содержимым которого можно пожертвовать. Потому что после выбора автоматического режима последует предложение выбрать диск целиком (а не какой-либо его раздел).
Рисунок 3-9. Выбор диска для автоматической инсталляции
А вслед за тем – предупреждение, что все данные на диске будут уничтожены. Если на это согласиться – целевой носитель будет размечен и отформатирован так, как показано на рисунке 3-10.
Рисунок 3-10. Результат автоматической разметки диска
При этом под корневой раздел будет отведено примерно 10 ГБ, под раздел подкачки – половина объёма оперативной памяти, а всё остальное отдаётся под каталог /home.
После автоматической разметки диска предлагается выбрать источник установки – и далее процесс протекает точно так же, как и при инсталляции обычной.
На стадии выбора режима инсталляции будущему применителю предоставляется ещё один вариант выбора – пункт Exit Installation с выходом из программы установки в командную оболочку. Командой
root@salix64:/#echo $SHELL
она определяется как /bin/sh, то есть POSIX Shell, однако на самом деле представляет собой оболочку Альмквиста (ash) из набора Busybox. Она предоставляет такие возможности для комфортной интерактивной работы, как автодополнение команд и путей, историю команд, контроль заданий. В сборку Busybox включено более 500 утилит командной строки, преимущественно административного назначения. А из вида приглашения командной строки можно заключить, что запущена оболочка с правами суперпользователя.
Таким образом, в руках будущего применителя Salix фактически оказывается весьма полная консольная система. Зачем она ему может понадобиться? Ответить нетрудно: хотя инсталлятор этого дистрибутива и позволяет использовать более одного целевого диска, например, подмонтировав второй в качестве /home, но по-настоящему мультидисковых конфигураций не поддерживает. То есть на стадии установки штатно нельзя задействовать ни программный RAID, ни менеджер томов LVM. Так что если в таковых есть потребность – их надо настроить до запуска инсталлятора, вручную.
Конечно, подготовить диски для softRAID или LVM можно с помощью специализированных LiveCD, вроде Image Magic, причём сделать это в «культурной» обстановке графического режима, с помощью наглядной графической утилиты GParted. Однако это было бы умножением сущностей – установочный носитель Salix позволяет проделать всю ту же работу и, на мой взгляд, гораздо проще. Всё необходимое для этого – поддержку в ядре мультидисковых устройств и набор утилит из пакетов mdadm и lvm2 (для работы с программным RAID и LVM, соответственно) командная среда дистрибутива Salix предоставляет.
Подготовку дисков для установки на LVM остаётся для рассмотрения заинтересованными лицами. Я же ниже опишу процесс создания программного RAID для целей десктопного (не серверного!) применения. В дискуссию о том, нужен ли RAID на десктопе, и если нужен — зачем, какого уровня и какие ветви файловой иерархии на нём размещать, я вступать не буду, ибо ранее неоднократно высказывался по этому поводу. А потому буду исходить из следующих постулатов:
• при наличии в машине двух и более дисков программный RAID в ряде случаев оказывается целесообразным;
• на типичном применительском десктопа имеет смысл использовать softRAID Level 0;
• размещаться на нём должна ветка /home файлового древа.
Подготовка дисков к созданию RAID начинается с их разметки. Это можно сделать с помощью одной из пары утилит:
1. fdisk или cfdisk при использовании таблицы разделов MBR;
2. gdisk или cgdisk – при разметке в стиле GPT.
Кроме того, в командной среде Salix доступна и универсальная утилита parted, позволяющая оперировать обоими стилями разметки, а также создавать файловые системы. Но, на мой взгляд, она неоправданно усложнена. Чего совершенно нет у утилиты GNOME Disks (о которой написано здесь).
На вопросе выбора между стилями разметки останавливаться не буду – в условиях настольной системы практического значения он не имеет, за одним исключением: применение таблицы MBR (именуемой также не вполне точно разметкой в стиле MSDOS) проще, поэтому далее будет рассматриваться именно она.
Так или иначе, на одном из дисков требуется создать раздел под будущий корень файловой иерархии (размером около 10 ГБ или немного больше), а затем на обоих – по разделу примерно одинакового объёма, которые будут объединяться в RAID. Я в случае двухдисковых конфигураций создаю обычно два обычных раздела – на один устанавливается система для практической работы, на другой – для экспериментов, раздел же под /home на RAID Level 0 для них оказывается общим.
В принципе, никто не запрещает и корень файловой иерархии разместить на программном RAID Level 0. Но, поскольку загрузка ядра Linux с последнего невозможна, в этом случае придётся создавать на одном из дисков небольшой (несколько десятком мегабайт) раздел под будущий каталог/boot. Выигрыша же в быстродействии от размещения корня на RAID я не наблюдал, особенно если система устанавливается не на традиционные винчестеры, а на SSD.
Вне зависимости от используемых для разметки инструментов, важный момент – правильное определение идентификаторов типа файловой системы создаваемых разделов. Если для разделов под корень (или под /boot) его следует сохранить присвоенный по умолчанию тип 83 (Linux native), то для разделов под RAID он должен быть изменён на fd (Linux raid autodetected).
Закончив с разметкой диска, приступаем к созданию программного RAID'а. Это делается с помощью утилиты mdadm, которая в рассматриваемом случае запускается в такой форме:
# mdadm --create /dev/md0 --auto=yes --level=0 --raid-devices=2 /dev/sd[a,b]2
Здесь --create (или -C) – субкоманда создания массива, в качестве аргумента которой указывается имя его файла устройства, --level – определение его уровня, --raid-devices – число входящих в массив устройств с указанием их имён (/dev/sda2 и /dev/sdb2). Опция же --auto=yes предписывает создать устройство именно с указанным в примере именем. Иначе после перезагрузки оно может оказаться чем-нибудь вроде /dev/md127, что потребует дополнительных действий по редактированию /etc/fstab. И, разумеется, имена файлов устройств должны быть указаны в соответствие с реалиями целевой машины.
После создания RAID'а результат выполненных действий может быть проверен такой командой:
# mdadm --detail /dev/md0
Если всё было сделано правильно, вывод её должен выглядеть примерно так:
1 8 18 1 active sync /dev/sdb2
Вместо субкоманды --detail можно использовать её сокращённую форму -D. А подробную справку по субкомандам mdadm и её опциям можно получить с помощью общей директивы:
$ mdadm --help
Которая может детализироваться для отдельных субкоманд:
$ mdadm --create --help
Из вывода последней можно узнать о таких дополнительных параметрах, как указание размера блока «распараллеливания» (Chunk Size), который теоретически должен влиять на быстродействие (чем больше, тем лучше), Однако сведений, насколько это чувствительно в десктопной обстановке, я не нашёл, и потому проще положиться на умолчание mdadm; как можно видеть из вывода субкоманды -D, оно составляет 512 Кбайт.
Завершив создание RAID, на нём (и на обычных разделах) можно создать и файловые системы одной из команд семейства mkfs (mkfs.ext4, mkfs.xfs и так далее – в зависимости от того, какие из них предполагается использовать). Но это вполне возможно выполнить и из инсталлятора, который запускается командой setup. Единственный момент, требующий внимания – после определения корневого раздела (например, /dev/sda1) и его форматирования не забыть выбрать для форматирования и монтирования устройство программного RAID (в примере – /dev/md0).
До недавнего времени широко обсуждался вопрос об особенностях установки Linux на SSD. Это было связано с необходимостью выравнивания разделов на твердотельных накопителях по границам так называемых «блоков стирания». Невыполнение этого требования угрожало как снижением быстродействия дисковых операций, так и повышенным износом накопителей.
Ныне вопрос этот потерял актуальность. Во-первых, современные версии всех утилит дисковой разметки, перечисленных в предыдущем разделе статьи, выравнивают границы дисковых разделов оптимальным образом. Во-вторых и главных, совершенствование контроллеров SSD «массового уровня» увеличило ресурс записи на них до величин, практически недостижимых в условиях десктопного применения. В промышленных же серверах, где эта проблема по-прежнему может возникать, разумными людьми применяются накопители другого уровня (и другой стоимости).
За последние годы через мои руки прошло немало твердотельных накопителей разных производителей, моделей и даже интерфейсов (от SATA II до PCI-E). Некоторые из них использовались в обстановке, для десктопа близкой к экстремальной. И потому могу заявить со всей ответственностью: ныне применитель может не ломать себе голову над спецификой SSD, а устанавливать на них систему (и в дальнейшем работать с ней), как на любой традиционный винчестер.
Ещё один вопрос, который часто рассматривается как имеющий специфику – установка Linux вообще (и дистрибутива Salix в частности) на ноутбуки. На самом деле здесь есть два момента, которые могут существенно осложнить жизнь будущему применителю.
Первый специфичен для моделей, сочетающих в себе встроенную процессорную и внешнюю дискретную видеподсистемы. Правда, на самой по себе установке Salix, происходящей в текстовом режиме, это не сказывается. Но может вызвать осложнения после установки и перезагрузки машины: по умолчанию Salix стартует в графическом режиме, и некорректная работа видеоподсистемы может этому помешать.
Дать какой-либо рецепт в этом случае невозможно – проблема определяется не спецификой дистрибутива (инсталлятор Salix никаких проприетарных драйверов для чипов Nvidia или AMD не устанавливает), а типом дискретного видео. Так что единственное, что может быть некоторой страховкой от неудачи первого запуска – отключение, если возможно, последнего в BIOS, с последующим разбирательством в спокойной обстановке.
Второй момент связан с подключением сети. Очевидно, что ныне в ноутбуках для этого почти всегда используется WiFi. Который, как было сказано выше, при вариантах установки BASIC и CORE просто не настраивается. Так что для ноутбука целесообразно выбирать полную установку. А с учётом того, что диск в нём обычно один, и, как правило, не требует изощрённой разметки, то и выбор режима AUTOINSTALL тут напрашивается.
Правда, даже при полной установке WiFi в Salix после его первого запуска сам собой не подхватывается (как, например, в Ubuntu). Однако в этом случае доступен инструмент для настройки беспроводного подключения – программа Wicd, имеющая графический интерфейс. Всю информацию, необходимую для успешной работы с ней (такую, как тип шифрования), придётся выяснять у провайдера.
Кратко резюмирую, в каких случаях целесообразно использовать тот или иной режим и вариант установки:
• при необходимости использования мультидисковых устройств (softRAID и LVM) всю подготовительную работу, связанную с разметкой дисков, придётся выполнять в режиме командной оболочки «руками»;
• машина с единственным «чистым» или «очищаемым» накопителем, и при отсутствии претензий к разметке, располагает к рехиму AUTOINSTALL;
• при желании нарастить систему собственноручно интерес представляет вариант CORE;
• если страсть к «мануальной терапии» ограничивается установкой собственных любимых приложений в рамках заданной рабочей среды (Xfce), удовлетворить её можно установкой по варианту BASIC.
Наконец, в большинстве случаев обычного десктопного применения вариант FULL часто оказывается оптимальным с точки зрения баланса между индивидуализацией системы и затраченным на это временем. В следующейглаве, рассматривая итоги установки, я покажу, что разница между базовым и полным вариантами не так уж велика. А «очистка» последней от ненужных компонентов может оказаться быстрее, чем доукомплектация первой.