Autoinstall

Материал из ALT Linux Wiki

Дистрибутив ALT Linux можно установить в автоматическом режиме. Для этого нужно иметь установочный диск и доступный по сети каталог с несколькими файлами.

Запуск установки

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

Формат адреса должен быть представлен в виде URL. Например:

curl=http://192.168.5.1/installer/metadata/

Содержимое каталога metadata

В каталоге metadata могут быть следующие файлы:

  • autoinstall.scm — сценарий установки на языке scheme
  • vm-profile.scm — схема разбивки жёсткого диска на языке scheme
  • pkg-groups.tar — архив, содержащий дополнительные к базовой системе группы пакетов
  • root.pub — публичный ключ пользователя root, который будет использоваться для авторизации при доступе в установленную систему через сетевой интерфейс

Формат файла autoinstall.scm

Файл autoinstall.scm представляет из себя командный скрипт для программы установки, написанный с использованием языка программирования scheme. Каждая строка крипта — команда для модуля программы установки. Рассмотрим в качестве примера стандартный скрипт автоматической установки операционной системы:

; установка языка операционной системы
(("sysconfig-base" "language") action "write" lang ("ru_RU"))
; установка переключателя клавиатуры
(("sysconfig-base" "kbd") action "write" layout "ctrl_shift_toggle")
; установка временной зоны в Europe/Moscow
(("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" "hpcnode") action apply commit #t clearall #t exclude ())
(("evms" "control") action "write" control commit)
(("evms" "control") action "write" control close)

; установка пакетов операционной системы
(("pkg-init") action "write")
(("pkg-install") action "write" lists "" auto #t)
(("preinstall") action "write")

; установка загрузчика (конфигурация по умолчанию)
(("lilo" "globals") action "write" target "boot" devname #t)
(("lilo" "globals") action "write" target "timeout" timeout "100")
(("lilo" "globals") action "write" target "default" default "ALTLinux")
(("lilo" "commit") action "write" confonly #f)

; настройка сетевого интерфейса на получение адреса по DHCP
(("net-eth") action "write" reset #t)
(("net-eth") action "write" name "eth0" configuration "dhcp" default "" computer_name "localhost")
(("net-eth") action "write" commit #t)

; специфичные для HPC настройки — адрес storage server 
(("hpc-storage") action "write" type "nfs" location "")
; адрес сервера syslog
(("hpc-syslog") action "write" mode "gather" server "")
; установка типа mpi
(("hpc-mpi") action "write" type "openmpi")

; установка пароля пользователя root  ("/root/change_password" passwd_2 "парольroot" passwd_1 "парольroot")

Формат файла vm-profile.scm

Файл vm-profile.svm содержит сценарий на языке scheme, описывающий формат автоматической разбивки жёсткого диска. Рассмотрим его на примере:

; имя профиля
((server

; описание профиля
(title . «Setup for server»)

; тип действия, в данный момент только trivial
(action . Trivial)

; данные для действия. В данном случае создаётся раздел swap с размером 512 мегабайт  (размер указывается в блоках длиной 512 килобайт)
(actiondata  ("swap" (size . 1048576) (fsim . "SWAPFS") (methods raid plain))

; данные для создания корневого раздела, объёмом 1 гигабайт, с файловой системой ext3
("/" (size .  2097152) (fsim . "Ext2/3") (methods raid plain))

; данные для создания раздела /home, объёмом 10 гигабайт, с файловой системой ext3
("/home" (size 20971520 . #t) (fsim . "Ext2/3") (methods raid plain))

; данные для создания раздела /var, объёмом 5 гигабайт, с файловой системой ext3
("/var" (size  10485760. #t) (fsim . "Ext2/3") (methods raid plain))
)))