Autoinstall: различия между версиями
Строка 13: | Строка 13: | ||
<pre>ai curl=ftp://192.168.0.1/metadata/</pre> | <pre>ai curl=ftp://192.168.0.1/metadata/</pre> | ||
{{Note|Для этого достаточно создать на сервере каталог {{path|/var/srv/public/metadata}} и положить туда файлы}} | {{Note|Для этого достаточно создать на сервере каталог {{path|/var/srv/public/metadata}} и положить туда файлы. Параметры загрузки образа можно прописать в файле конфигурации {{path|/var/lib/tftpboot/pxelinux.cfg/default}}.}} | ||
{{Attention|По умолчанию сервер отдаёт по протоколу https:// с самоподписанным сертификатом, поэтому лучше использовать протокол ftp://}} | {{Attention|По умолчанию сервер отдаёт по протоколу https:// с самоподписанным сертификатом, поэтому лучше использовать протокол ftp://}} |
Версия от 15:08, 30 января 2014
Дистрибутив ALT Linux можно установить в автоматическом режиме. Для этого нужно иметь установочный диск и доступный по сети каталог с несколькими файлами.
Данное руководство проверено на установке Альт Линукс 6.0 Кентавр.
Запуск установки
Для включения режима автоматической установки ядру инсталятора операционной системы необходимо передать параметр загрузки ai (без значения). Сделать это можно в меню загрузки диска или в приглашении boot: при загрузке по сети. Автоустановка поддерживается в следующих режимах установки: http, ftp, cdrom, disk, nfs.
Для автоустановки требуется диск с дистрибутивом (в приводе или с сетевого ресурса) и набор из четырёх файлов, описывающих процесс установки. Все четыре файла нужно поместить в каталог, доступный по сети по протоколам HTTP или FTP, и указать путь к нему в параметрах загрузки curl.
Формат адреса в curl должен быть представлен в виде URL. Пример параметров загрузки:
ai curl=ftp://192.168.0.1/metadata/
При невозможности получения из указанного источника по сети, программа установки будет смотреть в следующих местах:
- на диске в каталоге /Metadata/
- в образе установщика в каталоге /usr/share/install2/metadata/
Содержимое каталога metadata
В каталоге metadata могут быть следующие файлы:
- autoinstall.scm — сценарий установки на языке scheme. Файл:Autoinstall.scm
- vm-profile.scm — схема разбивки жёсткого диска на языке Scheme. Файл:Vm-profile.scm
- pkg-groups.tar — архив, содержащий дополнительные к базовой системе группы пакетов (можно просто взять с диска из подкаталога Metadata/
cp /srv/public/netinst/mnt/Metadata/pkg-groups.tar /srv/public/metadata/
Делаем «собственный» дистрибутив
При автоустановке по сети (например, через alterator-netinst) есть возможность править состав и скрипты автоустановки «вживую».
- Распакуйте содержимое установочного диска в /srv/public/netinst/mnt.
- Добавьте autoinstall.scm в каталог в /srv/public/netinst/mnt/Metadata.
- Можете добавить свои пакеты в состав пакетов в подкаталоге ALTLinux/RPMS.main. После этого запустите
genbasedir --topdir=/srv/public ALTLinux main
Формат файла autoinstall.scm
Файл autoinstall.scm представляет из себя командный скрипт для программы установки, написанный с использованием языка программирования scheme. Каждая строка крипта — команда для модуля программы установки. Рассмотрим в качестве примера стандартный скрипт автоматической установки операционной системы:
; установка языка операционной системы (ru_RU)
("/sysconfig-base/language" action "write" lang ("ru_RU"))
; установка переключателя расладки клавиатуры на Ctrl+Shift
("/sysconfig-base/kbd" action "write" layout "ctrl_shift_toggle")
; установка часового пояса в Europe/Moscow, время в BIOS будет храниться в UTC
("/datetime-installer" action "write" commit #t name "RU" zone "Europe/Moscow" utc #t)
; автоматическая разбивка жёсткого диска
("/evms/control" action "write" control open installer #t)
("/evms/control" action "write" control update)
("/evms/profiles/server" action apply commit #f clearall #t exclude ())
("/evms/control" action "write" control commit)
("/evms/control" action "write" control close)
; установка пакетов операционной системы
("pkg-init" action "write")
; установка только базовой системы (дополнительные группы пакетов из pkg-groups.tar указываются по именам через пробел)
("/pkg-install" action "write" lists "" auto #t)
("/preinstall" action "write")
; установка загрузчика GRUB в MBR на первый жёсткий диск
("/grub" action "write" language ("ru_RU") device "/dev/sda")
; настройка сетевого интерфейса на получение адреса по DHCP
("/net-eth" action "write" reset #t)
("/net-eth" action "write" name "eth0" configuration "dhcp" default "" search "" dns "" computer_name "c245")
("/net-eth" action "write" commit #t)
; установка пароля суперпользователя root '123'
("/root/change_password" language ("ru_RU") passwd_2 "123" passwd_1 "123")
; задание первого пользователя 'test' с паролем '123'
("/users/create_account" new_name "test" gecos "" allow_su #t auto #f passwd_1 "123" passwd_2 "123")
Внимание!
При установке пакета alterator-net-domain (например, в Альт Линукс 6.0 Кентавр) имя узла (computer_name) не должно содержать точку, иначе это может вызвать сбой установки. Подробности: altbug #27017
Формат файла vm-profile.scm
Файл /var/cache/alterator/vm-profile.scm содержит сценарий на языке scheme, описывающий формат автоматической разбивки жёсткого диска. Рассмотрим его на примере:
((server
(title . "Setup for server")
(action . trivial)
; данные для действия. В данном случае создаётся раздел swap с размером 8 ГБ (размер указывается в блоках длиной 512 байт)
(actiondata ("swap" (size . 16174080) (fsim . "SWAPFS") (methods raid plain))
; данные для создания корневого раздела, объёмом 7,3 ГБ с файловой системой ext4
("/" (size . 15000000) (fsim . "Ext2/3") (methods raid plain))
; данные для создания раздела /var, объёмом от 2 ГБ с заполнением всего доступного места с файловой системой ext4
("/var" (size 4194304 . #t) (fsim . "Ext2/3") (methods raid plain))))
(workstation
(title . "Setup for workstation")
(action . trivial)
(actiondata ("swap" (size . 8087040) (fsim . "SWAPFS") (methods plain))
("/" (size 22000000) (fsim . "Ext2/3") (methods plain))
("/home" (size 4194304 . #t) (fsim . "Ext2/3") (methods plain))))
)
Обратите внимание: числовые константы не закавычиваются! Типичным следствием такой ошибки является оценка "требуется 0 MB".
Вы можете не указывать этот профиль вообще, возложив автоматическую разметку на профиль в составе дистрибутива.
См. тж. это письмо.
Формат файла pkg-groups.tar
Файл pkg-groups.tar представляет собой tar-архив с двумя подкаталогами: groups (содержащий описание групп программного обеспечения в файлах .desktop) и lists (содержащий файлы со списками пакетов для каждой группы). В подкаталоге lists находится скрытый файл .base, содержащий список пакетов «базовой системы» (то есть те пакеты, которые устанавливаются в любом случае). Описание форматов указания групп описано в Alterator-pkg.
Файл pkg-groups.tar проще всего взять с диска из каталога /Metadata/ и доработать, если необходимо.
Для изменения списка пакетов распакуйте архив командой
tar xf pkg-groups.tar
После этого перейдите в подкаталог lists и добавьте или измените файл группы. Имена пакетов указываются по одному в каждой строке. Имя файла используемой группы затем указывается через пробел в autoinstall.scm:
(("pkg-install") action "write" lists "group-1 group-2" auto #t)
где group-1 и group-2 — имена файлов со списками пакетов из подкаталога lists.
После исправлений упакуйте снова в архив командой:
tar cf pkg-groups.tar groups lists
Советы и секреты
- При запуске модуля Alterator "/preinstall" (пакет alterator-preinstall) локальный alteratord выключается и запускается alteratord в chroot /mnt/destination