@ Карта сайта News Автора!

Bog BOS: anaconda - программа установки дистрибутивов Red Hat

Последние изменения:
2024.05.03: sysadmin: От CentOS 7 к Rocky Linux 8

Последнее изменение файла: 2024.04.03
Скопировано с www.bog.pp.ru: 2024.05.28

Bog BOS: anaconda - программа установки дистрибутивов Red Hat

При установке дистрибутива семейства Red Hat (RHEL, Fedora, CentOS, CentOS Stream, Rocky Linux, Oracle Linux, AlmaLinux, VzLinux, SUSE Liberty, EuroLinux) используется система Anaconda, которая представляет собой специализированную систему Linux, запускаемую непосредственно с установочного носителя (live). Anaconda также позволяет отремонтировать установленную систему (Rescue).

Оператор может выбрать устройство и образ загрузки. Загрузчик BIOS (ISOLINUX) или UEFI (GRUB2) использует выбранное устройство и образ для загрузки и запуска ядра Linux, которому предоставляется корневая файловая система в формате initrd. Корневая файловая система должна содержать все необходимые для работы с оборудованием модули и окружение периода выполнения, в частности может обеспечивать работу клиента X и сервера VNC. Предустановленная в корневую файловую систему Anaconda позволяет указать

Далее форматируются указанные оператором файловые системы (поддерживается программный RAID, LVM2, iSCSI, multipath) и устанавливается указанное ПО из дистрибутива.

Протокол установки записывается в файл /root/anaconda-ks.cfg в виде, готовом для автоматической установки (kickstart), рекомендуется проверять его перед использованием (в частности, вставляет "selinux --enforcing"), в RHEL7 и выше также записывается original-ks.cfg и initial-setup-ks.cfg. В ходе установки пишутся многочисленные журналы (в новом стиле).

Написана на Python 2 (Python 3?) и GTK+ 3, используется dracut (опции обрабатываются там; dracut.cmdline(7)) и systemd.

Изменения (кастомизация) в программе установки доступны в виде изменённых установочных ISO образов (образы DVD ISO и Boot ISO): меню загрузки (фон, цвета, опции по умолчанию), графический интерфейс (лого, фон), дополнения (новые экраны и команды kickstart). Оформляются в виде файла product.img (cpio.gz), который Anaconda загружает из каталога images/ установочного образа. Также его можно указывать с помощью опции загрузки inst.updates (USB, SATA, HTTP, FTP, NFS). При сетевой загрузке установщика с использованием PXE меню загрузки можно сделать самостоятельно (BIOS из BaseOS/x86_64/os/isolinux/isolinux.cfg, UEFI из BaseOS/x86_64/os/EFI/BOOT/grub.cfg).

Также в момент установки можно предоставить модули ядра для нестандартного оборудования в виде ISO образа, содержащего rpm. В основном, это требуется для блочных и сетевых устройств, без которых невозможен доступ к дереву файлов установки или используемому устройству хранения.

При первой загрузке установленной системы может запускаться процедура начальной установки (ранее firstboot): предъявление EULA, создание учётных записей. Также возможно изменение многих настроек ("firstboot --reconfig" в kickstart). Имеются графические и текстовые варианты.

Устройства загрузки

Возможные загрузочные устройства:

Перед установкой необходимо скачать выбранные ISO-образы CD или DVD, проверить контрольные суммы (можно использовать checkisomd5 из пакета anaconda-runtime (пакета isomd5sum), который проверяет встроенную в ISO контрольную сумму, или md5sum/sha1sum и дополнительный файл с сайта производителя) и записать на болванки или USB диск (dd) или развернуть дерево файлов для локального использования или на сервере FTP, HTTP или NFS (образы установщика, пакеты, .treeinfo и repodata).

Интерфейс общения

В RHEL7 ко всем именам опций добавлена приставка "inst.", в RHEL8 она стала обязательной.

Предусмотрены следующие типы интерфеса общения оператора с программой установки

Для использования VNC всё равно нужна консоль на целевой системе.

Методы установки (определение расположения репозитория)

Метод установки по умолчанию определяется загрузочным устройством, может запрашиваться опцией askmethod (удалено в RHEL7).

При использовании kickstart расположение репозитория может задаваться командой url.

Методы установки (repo или inst.repo указывает на репозиторий yum, опция method объявлена устаревшей):

Имена устройств можно задавать в явном виде (/dev/sda1) или по метке файловой системы (LABEL=RHEL8, пробел записывается как "\x20") или по UUID (UUID=...).

Можно задать дополнительный репозиторий: inst.addrepo=имя-репозитория,URL (URL аналогичен inst.repo: http, https, ftp, nfs, file, hd), который не копируется в настройки установленной системы.

При использовании сетевых методов установки запрашиваются сетевые параметры, которые можно задать вручную или с помощью DHCP.

inst.repo не нужен при использовании kickstart.

Параметры установщика и ядра

Опции при загрузке (предваряются командой linux, разделяются пробелами, начиная с RHEL 7 имена опций установщика предваряются строкой "inst."):

Меню загрузки

Начиная с Fedora 7 тип интерфейса задаётся выбором из первоначального текстового (псевдографика) меню: текстовая установка, графическая, восстановление, загрузка с локального диска, memtest. Переход к редактору параметров происходит по нажатию кнопки "Tab". Где-то во времена Fedora 15 (RHEL 7) меню стало вложенным.

Для загрузки используется ISOLINUX для систем с BIOS (isolinux/isolinux.cfg, см. pxelinux) и GRUB2 для систем с UEFI

Позволяет выбрать из меню

Управляющие клавиши (isolinux.cfg):

Управляющие клавиши (grub.cfg):

Старая anaconda (до RHEL 7)

Старая (до RHEL7) версия anaconda последовательно выводит формы для заполнения параметров настройки, имеется возможность вернуться к предыдущей форме (пользоваться с осторожностью - падает), например:

После перезагрузки настройка продолжается (firstboot):

Новая Anaconda (RHEL 7 и новее)

Новая (RHEL 7 и новее) версия Anaconda после выбора языка установки выводит на экран единую приборную доску установки, которая позволяет оператору самостоятельно выбирать порядок решения подзадач установки с подсветкой обязательных и незавершённых частей. При этом система может обрабатывать выбранные настройки параллельно в фоновом режиме. Имеется кнопка Help.

Shift+PrintScreen сохраняет снимок экрана в /tmp/anaconda-screenshots/.

Подзадачи (в разных версиях по разному распределены по группам):

Безмышечная работа: Tab, Shift+Tab, стрелки, пробел или Enter (выбор), Alt-буква (выбор).

Порча дисков начинается только после нажатия кнопки "начать установку". До RHEL 8: во время установки нужно задать пароль root и завести пользователей, с указанием uid, а также группы с указанием gid. Пользователи из группы wheel будут иметь полный контроль над системой с помощью sudo.

До RHEL 7: после перезагрузки настройка продолжается (Initial Setup):

RHEL 7 и новее: при первой загрузке запускается firstboot, который запрашивает лицензию и оформляет подписку на портале Red Hat.

В создаваемое меню загрузки grub2 добавляется строка rescue для загрузки минималистского окружения. В системе с UEFI добавляется строка в аппаратный список загрузки для загрузки GRUB2.

Если включён UEFI Secure Boot, то необходимо побороться с MOK (Machine Owner Key).

Отладка и журналы в старом стиле

В момент установки доступны (только локально) дополнительные виртуальные консоли (переход по Ctrl-Alt-Fx), уровень выводимых сюда сообщений (в файлы пишется всё) задаётся ключом loglevel:

Для отладки в процессе установки создаются файлы (набор варьируется от версии к версии)

После установки отладочные файлы записываются в следующие файлы:

Отладка и журналы в новом стиле

В RHEL 7.1 все консоли установщика сведены в одну (tty1, переход - Ctrl+Alt+F1, обратно - Ctrl+Alt+F6) с помощью tmux, переключение между панелями tty1 производится с помощью Alt+Tab, переход на панель - "Ctrl+b номер"

Для отладки в процессе установки создаются файлы (набор варьируется от версии к версии)

В CentOS7 (Fedora 15) все отладочные файлы записываются в каталог /var/log/anaconda/ (syslog, anaconda.log, dbus.log, ifcfg.log, journal.log, ks-post.log (указан в настройках kickstart), ks-script-wNkstV.log, packaging.log, program.log, storage.log), если при установке не указано inst.nosave=logs.

На удалённый сервер syslog передаётся в режиме TCP, на установленной системе syslog работает как ожидается.

Журнал устанавливаемой гостевой машины может передаваться с помощью virtio.

Ссылки

@ Карта сайта News Автора!

Bog BOS: anaconda - программа установки дистрибутивов Red Hat

Последние изменения:
2024.05.03: sysadmin: От CentOS 7 к Rocky Linux 8



Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru