Документация COREmanager : Автоматическая установка приложений
Документация
/
Документация COREmanager
/
Настройка панели управления
/
Автоматическая установка приложений
Введение
Требования к автоматической установке приложений:
- может использоваться только в ОС семейства Unix;
- поддерживается COREmanager версии 5.11 и выше.
Процесс установки осуществляется в два этапа:
- Подготовка файла ответов.
- Установка COREmanager и приложения на новые серверы.
Подготовка файла ответов
Для создания файла ответов установите COREmanager. Подробнее см. Установка COREmanager.
Далее начните установку требуемого приложения:
- На первом шаге мастера установки приложения включите опцию Подготовить файл ответов.
Обратите внимание!
Выбирайте тип версии приложения в соответствии с типом версии COREmanager, который планируется устанавливать на втором этапе.
- Затем пройдите по всем шагам мастера до финальной формы, выбирая необходимые параметры установки. На последнем шаге мастера в нижней части формы появится уведомление о том, что файл ответов подготовлен и сохранён с указанным именем. Путь к файлу ответов указан относительно корневого каталога COREmanager.
- На этом подготовка файла ответов завершена. Устанавливать приложение не требуется, на последнем шаге мастера установки можно нажать кнопку Отмена.
- Сохраните указанный файл ответов для использования на втором этапе.
Обратите внимание!
Используйте файл ответов только в гомогенных средах. Если файл ответов создан в ОС Debian, его можно использовать для установки приложения только в ОС Debian. Тип архитектуры системы, как правило, роли не играет.
Установка COREmanager и приложения с использованием файла ответов
Для автоматической установки используется скрипт install.sh (см. статью Установка COREmanager ) со следующими параметрами:
- —release ;
- —unattended .
Пояснения
Необязательные параметры скрипта:
- —path ;
- —activatekey xxxx-xxxx.
Нажмите здесь для раскрытия…
Обратите внимание!
Лицензия активируется автоматически перед началом установки приложения. Если активировать лицензию в автоматическом режиме не удается по каким-то причинам (к примеру, сервер имеет «серый» IP-адрес), используйте этот параметр.
- —wait — при указании этого параметра, скрипт установки завершится только после завершения всех фоновых заданий COREmanager, то есть после окончания установки приложения. Перед завершением скрипт проверит список фоновых заданий на наличие ошибок и сообщит о результате установки приложения.
Пример вызова скрипта:
sudo /bin/sh install.sh --release beta --unattended /tmp/unattended.install.ISPmanager_Lite.Debian_7.2-x86_64.xml --wait
Последовательность выполнения
Установка COREmanager и приложения в автоматическом режиме включает в себя следующие шаги:
- Загрузка информации о доступных версиях COREmanager и проверка на доступность указанного типа версии.
- Загрузка дистрибутива COREmanager, проверка контрольной суммы и развертывание дистрибутива.
- Различные проверки и настройки ОС (наличие cron, отключение SElinux и пр.).
- Установка, регистрация и запуск сервиса ihttpd.
- Вызов функции API COREmanager product.install.unattended с указанными параметрами.
- Контроль результата выполнения функции.
Autoinstall — ALT Linux Wiki
Дистрибутив ALT Linux можно установить в автоматическом режиме. Для этого нужно иметь установочный диск и доступный по сети каталог с несколькими файлами.
Данное руководство проверено на установке Альт Сервер 9.1 (FalcoRusticolus).
Содержание
- 1 Требования к дистрибутиву
- 2 Запуск установки
- 3 Содержимое каталога metadata
- 4 Делаем «собственный» дистрибутив
- 5 Формат файла autoinstall.scm
- 6 Формат файла vm-profile.scm
- 7 Формат файла pkg-groups.tar
- 8 Автоустановка в UEFI
- 8. 1 Настройка установки по ipxe
- 9 alterator-postinstall
- 9.1 Примечание по chroot
- 10 Профили
- 10.1 Альт Образование 9.2
- 11 Советы и секреты
- 12 Примечания
Требования к дистрибутиву
Для работы автоустановки в образ установщика необходимо включить пакет curl — в случае mkimage-profiles это цель use/install2/net или непосредственно:
@$(call add,INSTALL2_PACKAGES,curl)
Если используется постустановочная доводка, включите в базовые пакеты alterator-postinstall[1]:
@$(call add,BASE_PACKAGES,alterator-postinstall)
Запуск установки
Для включения режима автоматической установки ядру инсталятора операционной системы необходимо передать параметр загрузки ai (без значения). Сделать это можно в меню загрузки диска или в приглашении boot: при загрузке по сети. Автоустановка поддерживается в следующих режимах установки: http, ftp, cdrom, disk, nfs.
Для автоустановки требуется диск с дистрибутивом (в приводе или с сетевого ресурса) и набор из четырёх файлов, описывающих процесс установки. Все четыре файла нужно поместить в каталог, доступный по сети по протоколам HTTP или FTP, и указать путь к нему в параметрах загрузки curl.
Формат адреса в curl должен быть представлен в виде URL. Пример параметров загрузки:
ai curl=ftp://192.168.0.1/metadata/
Примечание: Для этого достаточно создать на сервере каталог /srv/public/metadata и положить туда файлы. Параметры загрузки образа можно прописать в файле конфигурации /var/lib/tftpboot/pxelinux.cfg/default.
Внимание! По умолчанию сервер отдаёт по протоколу https:// с самоподписанным сертификатом, поэтому лучше использовать протокол ftp://
При невозможности получения из указанного источника по сети, программа установки будет смотреть в следующих местах:
- на диске в каталоге /Metadata/
- в образе установщика в каталоге /usr/share/install2/metadata/
Внимание! Автоустановка работает со штатными дистрибутивами пока только при сетевой установке. При запуске с диска сеть недоступна. Подробности: altbug #26813.
Содержимое каталога metadata
В каталоге 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. Каждая строка скрипта — команда для модуля программы установки. Рассмотрим в качестве примера стандартный скрипт автоматической установки операционной системы:
Внимание! Не нужно без оглядки применять этот рецепт на любом дистрибутиве. Рекомендуем сначала установить дистрибутив, потом посмотреть лог выполняемых команд в /root/.install-log/wizard.log
; установка языка операционной системы (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/workstation" 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" device "/dev/sda" passwd #f passwd_1 "*" passwd_2 "*") ; настройка сетевого интерфейса на получение адреса по DHCP ("/net-eth" action "write" reset #t) ("/net-eth" action "write" name "eth0" configuration "dhcp" default "" search "" dns "" computer_name "c245") ; настройка сетевого интерфейса на статический IPv4 ; ("/net-eth" action "write" name "eth0" configuration "static" default "192.168.1.1" search "localhost.com" dns "192.168.1.1" computer_name "c245" ipv "4" ipv_enabled #t) ; ("/net-eth" action "add_iface_address" name "eth0" addip "192.168.1.2" addmask "24" ipv "4") ("/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 имя узла (computer_name) не должно содержать точку, иначе это может вызвать сбой установки. Подробности: altbug #27017
Формат файла vm-profile.scm
Файл /var/cache/alterator/vm-profile.scm содержит сценарий на языке scheme, описывающий формат автоматической разбивки жёсткого диска. Рассмотрим его на примере:
((workstation (title . "Setup for workstation") (action . trivial) (actiondata ("swap" (size 1024000 . 1024000) (fsim . "SWAPFS") (methods plain)) ("/" (size 20971520 . 20971520 ) (fsim . "Ext2/3") (methods plain)) ("/home" (size 1024000 . #t) (fsim . "Ext2/3") (methods plain)))) )
Обратите внимание: числовые константы не закавычиваются! Типичным следствием такой ошибки является оценка «требуется 0 MB».
Все числа указаны в виде 512-байтных блоков, поэтому чтобы получить размер в байтах, нужно умножить значения на 512.
В примере указана разбивка:
- подкачка (swap) — 512 МБ;
- корневой раздел (/) — 10 ГБ;
- /home — всё остальное, но не меньше 500 МБ.
Вы можете не указывать этот профиль вообще, возложив автоматическую разметку на профиль в составе дистрибутива (куда он может попасть из сборочного профиля либо в результате выполнения скрипта из пакета вроде volumes-profile-* или installer-distro-*; вариант по умолчанию содержится в alterator-vm).
Имя профиля (workstation) указывается в autoinstall. scm:
("/evms/profiles/workstation" action apply commit #f clearall #t exclude ())
См. тж.:
- письмо, про
size
; - письмо, про
methods
— судя по alterator-vm.git, начиная от alterator-vm-0.4.1-alt8, помимо(methods plain)
есть поддержка и(methods raid plain)
.
Формат файла 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
Внимание! Учтите, что в качестве источника пакетов при установке выступает сам диск, поэтому указание не лежащих на нём пакетов приведёт к сбою установки. Если хотите добавить новые пакеты, пересоберите диск дистрибутива или используйте скрипты, выполняющиеся после установки.
Автоустановка в UEFI
В файле autoinstall.scm поменять установку загрузчика с /dev/vda на efi:
("/grub" action "write" language ("ru_RU") device "efi" passwd #f passwd_1 "*" passwd_2 "*")
В файле vm-profile. scm добавить разбивку диска для /boot/efi:
("/boot/efi" (size 1024000 . 1024000 ) (fsim . "FAT32") (methods plain))
Настройка установки по ipxe
Перейти в каталог /var/lib/tftpboot.
Создать файл grub.cfg со следующим содержимым:
set timeout=5 menuentry "Start autoinstall" { linuxefi /vmlinuz fastboot live lowmem ramdisk_size=871661 showopts ai curl=ftp://192.168.1.100/metadata/ automatic=method:cdrom quiet splash stagename=altinst automatic=method:nfs,network:dhcp,server:192.168.1.100,directory:/srv/public/netinst/mnt/ initrdefi /full.cz }
Скопировать файлы full.cz и vmlinuz из /srv/public/netinst/mnt/syslinux/alt0/ в /var/lib/tftpboot/:
# cp /srv/public/netinst/mnt/syslinux/alt0/{full.cz,vmlinuz} /var/lib/tftpboot/
Извлечь файлы из rpm-пакета shim-signed-*.rpm и скопировать shimx64.efi в папку /var/lib/tftpboot:
# rpm2cpio /srv/public/netinst/mnt/ALTLinux/RPMS. main/shim-signed-15-alt1.x86_64.rpm | cpio -idmv # cp usr/lib64/efi/shimx64.efi /var/lib/tftpboot/
Перейти в папку /var/lib/tftpboot и скачать файл grubx64.efi:
# rpm2cpio /srv/public/netinst/mnt/ALTLinux/RPMS.main/grub-efi-2.02-alt29.x86_64 | cpio -idmv # cp usr/lib64/efi/grubx64.efi /var/lib/tftpboot/
Для nfs-установки добавить в файл /etc/exports следующую строчку:
/srv/public/netinst/mnt -ro,insecure,no_subtree_check,fsid=1 *
Применить изменения:
# exportfs -r
В файле /etc/dhcp/dhcpd.conf строчку filename изменить на:
filename "shimx64.efi"
Перезапустить сервис dhcpd:
# systemctl restart dhcpd
alterator-postinstall
С апреля 2015 года появился пакет alterator-postinstall[1], который позволяет выполнить в конце установки или при первом запуске команду или скрипт, скачиваемый по сети. Этот пакет должен устанавливаться вместе с другими пакетами, так как запускается во второй стадии установки.
Пример использования:
("/postinstall/firsttime" script "http://server/post.sh")
Уровни запуска (указываются после префикса /postinstall/:
- laststate
- Скрипт запускается при завершении Alterator (перед перезагрузкой после установки)
- firsttime
- Скрипт запускается во время первого запуска ОС
Типы команд:
("/postinstall/laststate" script "http://server/script.sh")
Скрипт скачивается с сервера и выполняется
("/postinstall/laststate" run "command arg1 arg2")
Запуск команды и аргументов. Возможно указание перенаправления.
Примечание по chroot
На уровне laststate для работы с установленной системой требуется указывать пути с $destdir или выполнять команды через run_chroot: post.sh
#!/bin/sh a= . install2-init-functions run_chroot sh -c "date > /root/STAMP_1" date > $destdir/root/STAMP_2
Профили
Альт Образование 9.2
Все группы, диск разбивается на два раздела: 1 ГиБ — подкачка (swap), от 30 ГиБ и до конца диска — /.
Часовой пояс: Europe/Moscow, пароли — 123 для root и для пользователя user.
Имя хоста: host-229.
autoinstall.scm
("/sysconfig-base/language" action "write" lang ("ru_RU")) ("/sysconfig-base/kbd" action "write" layout "alt_sh_toggle") ("/datetime-installer" action "write" commit #t name "RU" zone "Europe/Moscow" utc #t ctime "") ("/evms/control" action "write" control open installer #t) ("/evms/control" action "write" control update) ("/evms/profiles/workstation" action apply commit #f clearall #t exclude ()) ("/evms/control" action "write" control commit) ("/evms/control" action "write" control close) ("pkg-init" action "write") ;;; Установить все группы, но требуется около 21 ГиБ ;;; ("/pkg-install" action "write" lists "education/base education/preschool education/gradeschool education/highschool education/secondary_vocational education/university education/kde5 education/teacher education/server-apps-edu education/video-conferencing" auto #t) ;;; Минимальная установка с графической средой (6,6 ГиБ) ("/pkg-install" action "write" lists "" auto #t) ("/preinstall" action "write") ("/grub" action "write" device "/dev/sda" passwd #f passwd_1 "*" passwd_2 "*") ("/net-eth" action "write" name "" ipv "4" configuration "dhcp" default "" search "" dns "" computer_name "host-229" ipv_enabled #t) ("/net-eth" action "write" commit #t) ("/root/change_password" passwd_auto "*" passwd_2 "123" passwd_1 "123") ("/users/create_account" new_name "user" gecos "" allow_su #t auto #f passwd_auto "*" passwd_1 "123" passwd_2 "123" autologin #f)
vm-profile. scm
((workstation (title . "Setup for workstation") (action . trivial) (actiondata ("swap" (size 2048000 . 2048000) (fsim . "SWAPFS") (methods plain)) ("/" (size 62914560 . #t ) (fsim . "Ext2/3") (methods plain)) )))
Советы и секреты
Примечания
- ↑ https://github.com/sergelogvinov/alterator-postinstall
Программное обеспечение
Alternatives • Appimage • Autoinstall • Epm • Folding@Home • RPM-repair • SoftwareCenter • Synaptic • Vim учебник • Vim-подключение плагинов • Где и как искать программы • Замена • Карманы • Неактуальные уязвимости • Управление пакетами
HOWTO
32й-OpenGL на 64x • 389-ds • ActiveDirectory/DC • ActiveDirectory/FileShare • ActiveDirectory/Squid • Adobe Flash • AHCI • Участник:Alehander/Монтирование каталогов • Android-devel • Apache Kafka • Appimage • Arepo In Hasher • Asciidoc • Autoinstall • BugTracking/BugzillaMiniHowto • CDEmu и все-все-все • Chroot • PostgreSQL/Cluster • Cpufreq • CreateMdRAID1onLiveSystem • CUDA • Cлайд-шоу фоновых рисунков рабочего стола • D Programming Language • DB2 • Dconf • Tools/Distribute • DPMS • DualBoot в картинках • DualBoot в картинках new • X11/DualSeat • Dynflow • Ed • EDID • ElasticSearch • EnterpriseWine • Etckeeper • EterTips • Fdisk • FFmpeg • Fleet Commander • Folding@Home • FreeIPA • FreePascal HOWTO • Giter • GoogleTalkPlugin • Hasher/parallel • Hitachi StarBoard • Incoming/HOWTO • I2p • IconsPackaging • IPTV • ITalc • Участник:IvanZakharyaschev/Что делать, если забыл имена пользователей • Участник:IvanZakharyaschev/Что делать, если забыл пароли (в т. ч. пароль root-а) • Участник:IvanZakharyaschev/Что делать, если затёр загрузчик системы • JaCarta • JaCarta/PKI • Java-applet • Java/OracleSDK/Install • JavaPlugin • JeOS VM noDHCP • KVM/Helper • LAME • ActiveDirectory/Login • PVE/LXC • Mailman and lighttpd • DotFiles/Shells/MC • Microsoft Access • MIDI • MsgToEml • MultiSeat systemd • Multistation • NetInstall • Nextcloud • NTFS readonly • OpenMeetings • Otrs • OwnCloud9 • Pam mount • Pcsxr • PepperFlash в Chromium • Perfect Desktop • Участник:Petr-akhlamov/Заметки по Avconv • Pidgin • Pipelight • Dovecot/Plugins • PostgreSQL • Prelink • PstToMbox • Puppet • Puppetserver • PyVFS • Rdesktop keymap fix • Recoll • Replace disk online • Rescue manuals • Rescue/Launcher • Rescue/Recovery • Roundcube • Ruby Packaging mini-HOWTO • Rujel • Rujel HOWTO • RunaWFE • SambaADClient и клонирование диска • SAP GUI for Java • SCOM • Shared Library Symbol Versioning HOWTO • SharedFolderHowTo • Smart Proxy • Smart proxy dynflow-core • Socket race conditions • SOGo • OpenOffice. org/SSL-сертификат • SSSD/AD • Swap • Synaptic • Task • Telegram • Telegram Desktop • Thunderbird • Tips • TLP • Unity • LTSP/UpstreamMigration • USBIP • Veyon • Viber • Video streaming vlc • VipNet Client • ViPNet Coordinator/СПТ7 • VirtualBox • VNC • VPN c динамической маршрутизацией (GRE Racoon OSPF) • WebDav • Wi-fi • Wicd • WINE • XCAT • Xfce/Ограничения • Автологин с блокировкой сеанса • Автоматический вход • Виртуальная клавиатура в ALT Workstation • Виртуальная флешка • Включение TRIM на (внешнем) SSD • Воссоздание пользователя на отдельном home-разделе • Восстановление • Где и как искать программы • ГОСТ в Caja • ГОСТ в OpenSSL • Гостевой сеанс • Двухфакторная аутентификация Google Authenticator • Диагностика оборудования и системы • ЕАВИИАС • ЕСПД • Загрузочная USB Flash • Загрузочные флешки • Запуск typo3 • Запуск ПО без пароля • Заставка — слайд-шоу • Зеркала • Инструкция по разворачиванию girar-builder • Как Ваш компьютер может дать доступ к себе через туннель средствами ssh, autossh, autosshd • Участник:IvanZakharyaschev/Как дать мне доступ по ssh на Ваш (мобильный) компьютер • Как запускать программы • Как найти пакет по программе • Киоск • КонсультантПлюс • Монтирование образов устройств • Настройка Alt Linux для Raspberry Pi с помощью QEMU • Настройка Fstab • Настройка принтера • Неверный размер шрифтов • О Сообществе ALT Linux • Обновление • Особые действия Thunar • Партионная почта • Перенос программ (backports) • Проверка диска на ошибки • Участник:IvanZakharyaschev/Репликация почтового ящика • Сага о драйверах • Сборка пакетов • Связка Puppet и Foreman • Секционирование (партицирование) БД Zabbix на СУБД PostgreSQL • Синий экран при загрузке с USB • Сканер отпечатков пальцев (fprintd) • Скачивание видео с Яндекс. Дзен • Скачивание сайта • Создание образов устройств • Создание самоподписанных сертификатов • Создание сервиса systemd • Специальные возможности • Oracle/СПТ • Теневое копирование+Точка восстановления • Точка на цифровой клавиатуре • Управление правами • Установка Cisco Packet Tracer 7.3.1 на ALT KWorkstation P9 • Установка и настройка Rujel • Установка корневого сертификата • Установка шрифтов • Что делать, если программа не работает • Шейпер для больших сетей • ЭП • Ярлычки программ • Категория:32x-video-on64x • Категория:Backup • Категория:BootFlash • Категория:Fdisk • Категория:FreePascal • Категория:Rescue manuals • Категория:Upgrade • Категория:WINE
Краткое руководство по установке автоматизированного сервера
| Убунту
Целью этой страницы является предоставление простых инструкций по автоматической установке на виртуальную машину на вашем компьютере.
На этой странице предполагается, что вы хотите установить последнюю доступную версию Ubuntu (22. 10 на момент написания статьи). Для других выпусков вам нужно будет заменить имя образа ISO, но в остальном инструкции должны оставаться прежними.
На этой странице также предполагается, что вы используете архитектуру amd64. Есть версия для s390х тоже.
Предоставление данных автоустановки по сети
Этот метод наиболее легко обобщается для полностью сетевой установки, когда машина загружается по сети, а затем устанавливается автоматически.
Загрузите ISO
Перейдите на страницу загрузки ISO 22.10 и загрузите последнюю версию ISO Ubuntu 22.10 live-server.
Установка ISO
sudo mount -r ~/Загрузки/ubuntu-22.10-live-server-amd64.iso/mnt
Запишите конфигурацию автоустановки
Это означает создание конфигурации cloud-init следующим образом:
mkdir -p ~/www компакт-диск ~/www кошка > пользовательские данные << 'EOF' #cloud-config автоустановка: версия: 1 личность: имя хоста: ubuntu-сервер пароль: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw. b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0" имя пользователя: убунту EOF сенсорные метаданные
Зашифрованный пароль — просто «ubuntu».
Обслуживайте конфигурацию cloud-init через HTTP
Оставьте это запущенным в новом окне терминала:
компакт-диск ~/www python3 -m http.сервер 3003
Создать целевой диск
обрезать -s 10G image.img
Запустить установку!
квм -без перезагрузки -м 2048 \ -drive file=image.img,format=raw,cache=none,if=virtio \ -cdrom ~/Загрузки/ubuntu-22.10-live-server-amd64.iso \ -kernel /mnt/casper/vmlinuz \ -initrd /mnt/каспер/initrd \ -append 'autoinstall ds=nocloud-net;s=http://_gateway:3003/'
Это загрузит, загрузит конфигурацию с сервера, настроенного на предыдущем шаге, и запустит установку. Программа установки перезагружается в конце, но -no-reboot
flag to kvm
означает, что kvm
выйдет, когда это произойдет. Это должно занять около 5 минут.
Загрузите установленную систему
квм -без перезагрузки -м 2048 \ -drive file=image.img,format=raw,cache=none,if=virtio
Это загрузит только что установленную систему, и вы сможете войти в систему как ubuntu
/ ubuntu
.
Использование другого тома для предоставления конфигурации автоустановки
Этот метод используется, когда вы хотите создать носитель, который можно просто подключить к системе для его установки.
Скачать live-сервер ISO
Перейдите на страницу загрузки ISO 22.10 и загрузите последнюю версию ISO Ubuntu 22.10 live-server.
Создайте свои
пользовательские данные
и файлы метаданных
mkdir -p ~/cidata компакт-диск ~/cidata кошка > пользовательские данные << 'EOF' #cloud-config автоустановка: версия: 1 личность: имя хоста: ubuntu-сервер пароль: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw. b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0" имя пользователя: убунту EOF сенсорные метаданные
Зашифрованный пароль — просто «ubuntu».
Создайте ISO-образ для использования в качестве источника данных cloud-init
sudo apt установить облачные изображения-утилиты cloud-localds ~/seed.iso метаданные пользователя
Создать целевой диск
обрезать -s 10G image.img
Запустить установку!
квм -без перезагрузки -м 2048 \ -drive file=image.img,format=raw,cache=none,if=virtio \ -drive file=~/seed.iso,format=raw,cache=none,if=virtio \ -cdrom ~/Загрузки/ubuntu-22.10-live-server-amd64.iso
Это загрузит и запустит установку. Если вы не прервете загрузку, чтобы добавить autoinstall
в командную строку ядра, установщик запросит подтверждение, прежде чем прикасаться к диску.
Программа установки перезагружается в конце, но флаг -no-reboot
для kvm
означает, что kvm
завершит работу, когда это произойдет.
Весь процесс должен занять около 5 минут.
Загрузите установленную систему
квм -без перезагрузки -м 2048 \ -drive file=image.img,format=raw,cache=none,if=virtio
Это загрузит только что установленную систему, и вы сможете войти в систему как ubuntu
/ ubuntu
.
Предыдущий Введение Следующий Быстрый запуск автоустановки на s390x
Ссылка на файл конфигурации установщика автоматизированного сервера
Общий формат
Файл автоустановки — YAML. На верхнем уровне это должно быть сопоставление, содержащее ключи, описанные в этом документе. Нераспознанные ключи игнорируются.
Схема
Конфигурации автоустановки перед использованием проверяются на соответствие схеме JSON.
Списки команд
Несколько ключей конфигурации представляют собой списки команд, которые необходимо выполнить. Каждая команда может быть строкой (в этом случае она выполняется через «sh -c») или списком, и в этом случае она выполняется напрямую. Любая команда, завершающаяся с ненулевым кодом возврата, считается ошибкой и прерывает установку (за исключением команд ошибок, где она игнорируется).
Ключи верхнего уровня
версия
тип: целое число
по умолчанию: нет по умолчанию
Перспективное поле версии файла конфигурации. В настоящее время это должно быть «1».
интерактивных разделов
тип: список строк
по умолчанию: []
Список ключей конфигурации для отображения в пользовательском интерфейсе. Так например:
версия: 1 интерактивные разделы: - сеть личность: имя пользователя: убунту пароль: $crypted_pass
Остановится на экране сети и позволит пользователю изменить значения по умолчанию. Если для интерактивного раздела указано значение, оно используется по умолчанию.
Вы можете использовать специальное имя раздела «*», чтобы указать, что установщик должен задавать все обычные вопросы — в этом случае файл autoinstall.yaml
на самом деле вовсе не файл «автоустановки», а просто способ чтобы изменить значения по умолчанию в пользовательском интерфейсе.
Не все клавиши конфигурации соответствуют экранам пользовательского интерфейса. Эта документация указывает, может ли данный раздел быть интерактивным или нет.
Если вообще есть какие-либо интерактивные разделы, ключ отчета игнорируется.
ранние команды
тип: список команд
по умолчанию: нет команд
может быть интерактивным: нет
Список команд оболочки, которые следует вызывать сразу после запуска программы установки, в частности перед поиском блочных и сетевых устройств. Конфигурация автоустановки доступна по адресу /autoinstall.yaml
(независимо от того, как она была предоставлена), и файл будет перечитан после были запущены ранние команды
, чтобы позволить им изменить конфигурацию, если это необходимо.
локаль
тип: строка
по умолчанию: en_US.UTF-8
может быть интерактивным: да, всегда интерактивен, если какой-либо раздел равен
Локаль для настройки установленной системы.
установщик обновлений
тип: сопоставление
по умолчанию: см. ниже
может быть интерактивным: да
Определяет, будет ли программа установки обновляться до новой версии, доступной в данном канале, прежде чем продолжить.
Отображение содержит ключи:
обновление
тип: логический
по умолчанию: нет
Обновлять или нет.
канал
тип: строка
по умолчанию: "stable/ubuntu-$REL"
Канал для проверки обновлений.
клавиатура
тип: сопоставление, см. ниже
Раскладка любой подключенной клавиатуры. Часто автоматически устанавливаемые системы вообще не имеют клавиатуры, и в этом случае используемое здесь значение не имеет значения.
Ключи сопоставления соответствуют настройкам в файле конфигурации /etc/default/keyboard
. Смотрите его справочную страницу для более подробной информации.
Отображение содержит ключи:
макет
тип: строка
по умолчанию: "нас"
Соответствует настройке XKBLAYOUT
.
вариант
тип: строка
по умолчанию: ""
Соответствует настройке XKBVARIANT
.
переключатель
тип: строка или ноль
по умолчанию: ноль
Соответствует значению grp: опция
из настройки XKBOPTIONS
. Приемлемые значения (но учтите, что установщик их не проверяет): caps_toggle
, toggle
, rctrl_toggle
, rshift_toggle
, rwin_toggle
, 90 043 menu_toggle , alt_shift_toggle
, ctrl_shift_toggle
, ctrl_alt_toggle
, alt_caps_toggle
, lctrl_lshift_toggle
, lalt_toggle
, lctrl_toggle
, lshift_toggle
, lwin_toggle
, sclk_toggle
Версия Subiquity, выпущенная с 20.04 GA, не принимает null
для этого поля из-за ошибки.
источник
тип: сопоставление, см. ниже
по умолчанию: см. ниже
может быть интерактивным: да
search_drivers
тип: логический
по умолчанию: истина
Должен ли установщик искать доступные сторонние драйверы. При установке на false
отключает экран и раздел драйверов.
идентификатор
тип: строка
по умолчанию: идентификатор первого доступного источника.
Идентификатор источника для установки (например, "ubuntu-server-minimized"
).
сеть
тип: отображение в формате netplan, см. ниже
по умолчанию: DHCP на интерфейсах с именами eth* или en*
может быть интерактивным: да
Конфигурация сети в формате Netplan. Это будет применяться во время установки, а также в установленной системе. По умолчанию используется интерпретация конфигурации для установочного носителя, который запускает DHCPv4 на любом интерфейсе с именем, совпадающим с «eth*» или «en*», но затем отключает любой интерфейс, который не получает адрес.
Например, для запуска DHCPv6 на определенной сетевой карте:
сеть: версия: 2 Ethernet: enp0s31f6: DHCP6: да
Обратите внимание, что из-за ошибки версия Subiquity, выпущенная с 20.04 GA, заставляет вас писать это с дополнительным ключом network:
, например:
сеть: сеть: версия: 2 Ethernet: enp0s31f6: DHCP6: да
Более поздние версии также поддерживают этот синтаксис для совместимости, но если вы можете использовать более новую версию, вам следует использовать первую.
прокси
тип: URL или ноль
по умолчанию: без прокси
может быть интерактивным: да
Прокси для настройки как во время установки, так и для apt
и для snapd
в целевой системе.
ап
тип: сопоставление
по умолчанию: см. ниже
может быть интерактивным: да
Apt, используемая как во время установки, так и после загрузки в целевую систему.
Этот раздел исторически использовал тот же формат, что и curtin, который задокументирован здесь. Тем не менее, были введены некоторые ключевые отличия от формата, поддерживаемого curtin:
- Subiquity поддерживает альтернативный формат для основного раздела
первичный раздел
заключен в разделзеркального выбора
. - Клавиша
резервного копирования
управляет тем, что должно делать подмножество, если нельзя использовать основное зеркало. - Ключ
geoip
определяет, выполняется ли поиск по географическому IP-адресу для определения правильного зеркала страны.
Значение по умолчанию:
кв: save_sources_list: ложь зеркальный выбор: начальный: - дачное зеркало - арки: [i386, amd64] URI: "http://archive. ubuntu.com/ubuntu" - арки: [s390x, arm64, armhf, powerpc, ppc64el, riscv64] uri: "http://ports.ubuntu.com/ubuntu-ports" запасной вариант: прервать IP-адрес: правда
выбор зеркала
, если первичный раздел
содержится в разделе выбора зеркала , автоматический выбор зеркала включен. Это значение по умолчанию для новых установок.
первичный (при размещении внутри секции
зеркального выбора
):тип: заказной, см. ниже
В новом формате основной раздел
ожидает список зеркал, который может быть выражен двумя разными способами:
- особая ценность
страна-зеркало
- сопоставление со следующими ключами:
-
uri
: URI используемого зеркала, например, «http://fr.archive.ubuntu.com/ubuntu» -
archs
: необязательный список архитектур, поддерживаемых зеркалом. По умолчанию этот список содержит текущую архитектуру ЦП.
-
запасной вариант
тип: строка (перечисление)
по умолчанию: отмена
Управляет тем, что должно делать подмножество, если нельзя использовать главное зеркало.
Поддерживаемые значения:
-
прервать
-> прервать установку -
offline-install
-> вернуться к автономной установке -
продолжить в любом случае
-> попытаться установить систему в любом случае (не рекомендуется, установка заведомо не удастся)
геоИП
тип: логический
по умолчанию: : истина
Если значение geoip истинно и одно из основных зеркал-кандидатов имеет специальное значение country-mirror
, выполняется запрос на https://geoip.ubuntu.com/lookup
. Затем Subiquity устанавливает URI зеркала на http://CC.archive.ubuntu.com/ubuntu
(или аналогичный для портов), где CC
— это код страны, возвращаемый поиском. Если этот раздел не является интерактивным, время запроса истекает через 10 секунд.
Если используется устаревшее поведение (т. е. без выбора зеркала), запрос geoip выполняется, если используемое зеркало используется по умолчанию, и его URI в конечном итоге заменяется на URI зеркала соответствующей страны.
Если вы просто хотите указать зеркало, вы можете использовать такую конфигурацию:
кв: зеркальный выбор: начальный: - uri: YOUR_MIRROR_GOES_HERE - дачное зеркало - ури: http://archive.ubuntu.com/ubuntu
Чтобы добавить ppa:
кв: источники: куртин-ппа: источник: ppa:curtin-dev/test-archive
хранилище
тип: сопоставление, см. ниже
по умолчанию: использовать макет «lvm» в однодисковой системе, нет по умолчанию в многодисковой системе
может быть интерактивным: да
Конфигурация хранилища — сложная тема, и описание желаемой конфигурации в файле автоустановки также может быть сложным. Установщик поддерживает «макеты», простые способы выражения общих конфигураций.
Поддерживаемые макеты
Два поддерживаемых макета на момент написания: «lvm» и «direct».
хранилище: макет: имя: лвм хранилище: макет: название: прямой
По умолчанию они будут установлены на самый большой диск в системе, но вы можете указать соответствующую спецификацию (см. ниже), чтобы указать, какой диск использовать:
хранилище: макет: имя: лвм соответствовать: серийный номер: CT* хранилище: макет: имя: диск соответствовать: твердотельный накопитель: да
(можно просто сказать « match: {}
”для соответствия произвольному диску)
При использовании макета «lvm» шифрование LUKS можно включить, указав пароль.
хранилище: макет: имя: лвм пароль: LUKS_PASSPHRASE
По умолчанию используется макет lvm
.
политика размеров
Макет lvm по умолчанию попытается оставить место для моментальных снимков и дальнейшего расширения. Для управления этим поведением может быть предоставлен ключ политики изменения размера.
тип: строка (перечисление)
по умолчанию: масштабировано
Поддерживаемые значения:
-
масштабируется
-> отрегулируйте пространство, выделенное для корневого LV, на основе пространства, доступного для VG -
all
-> выделить все оставшееся пространство VG корневому LV
В настоящее время система масштабирования выглядит следующим образом:
- Менее 10 ГиБ: использовать все оставшееся пространство для корневой файловой системы
- От 10 до 20 ГиБ: корневая файловая система 10 ГиБ
- От 20 до 200 ГиБ: используйте половину оставшегося пространства для корневой файловой системы
- Более 200 ГиБ: корневая файловая система 100 ГиБ
Конфигурация на основе действий
Для обеспечения полной гибкости установщик позволяет выполнять настройку хранилища с использованием синтаксиса, который является надмножеством поддерживаемого curtin, описанного по адресу https://curtin. readthedocs.io/en/latest/topics/storage.html.
Если для настройки дисков используется функция «разметка», раздел «config» использоваться не будет.
Помимо размещения списка действий под ключом «config», сюда можно поместить элементы конфигурации grub и swap curtin. Таким образом, раздел хранилища может выглядеть так:
.хранилище: менять: размер: 0 конфигурация: - тип: диск идентификатор: диск0 серийный номер: ADATA_SX8200PNP_XXXXXXXXXXX - тип: перегородка ...
Расширения синтаксиса curtin касаются выбора диска и размера раздела/логического тома.
Расширения выбора диска
Curtin поддерживает идентификацию дисков по серийному номеру (например, Crucial_CT512MX100SSD1_14250C57FECE
) или по пути (например, /dev/sdc
), и установщик сервера также поддерживает это. Установщик дополнительно поддерживает «спецификацию сопоставления» для дискового действия, которое поддерживает более гибкое сопоставление.
Действия в конфигурации хранилища обрабатываются в том порядке, в котором они указаны в файле автоустановки. Любому действию с диском назначается соответствующий диск, выбранный произвольно из набора неназначенных дисков, если их несколько, и приводящий к сбою установки, если нет неназначенного соответствующего диска.
Спецификация соответствия поддерживает следующие ключи:
-
модель: foo
: соответствует диску, где ID_VENDOR=foo в udev, поддержка подстановки -
путь: foo
: соответствует диску, где DEVPATH=foo в udev, поддерживающем подстановку (поддержка подстановки отличает это от указания пути: foo непосредственно в действии диска) -
серийный номер: foo
: соответствует диску, где ID_SERIAL=foo в udev, поддерживающем подстановку (поддержка подстановки отличает это от указания серийного номера: foo непосредственно в действии диска) -
ssd: да | нет
: соответствует диску, который является или не является SSD (по сравнению с вращающимся диском) -
размер: наибольший|наименьший
: взять наибольший или наименьший диск, а не произвольный, если есть несколько совпадений (поддержканаименьших
добавлена в версии 20. 06.1)
Особый тип ключа — install-media: yes
, который возьмет диск, с которого был загружен установщик (селекторы ssd
и размера
никогда не вернут этот диск). При установке на установочный носитель, очевидно, необходимо соблюдать осторожность, чтобы не перезаписать сам установщик!
Так, например, для сопоставления произвольного диска это просто:
- тип: диск идентификатор: диск0
Для соответствия самому большому SSD:
- тип: диск id: большой-быстрый-диск соответствовать: твердотельный накопитель: да Размер: самый большой
Для соответствия диску Seagate:
- тип: диск id: диск данных соответствовать: модель: Сигейт
Расширения раздела/логического тома
Размер раздела или логического тома в curtin указывается в байтах. Конфигурация автоустановки более гибкая:
- Вы можете указать размер, используя синтаксис «1G», «512M», поддерживаемый в пользовательском интерфейсе установщика.
- Вы можете указать размер в процентах от содержащего диска (или RAID), например. «50%».
- Для последнего раздела, указанного для конкретного устройства, вы можете указать размер «-1», чтобы указать, что раздел должен заполнить оставшееся пространство.
- тип: перегородка id: загрузочный раздел устройство: корневой диск размер: 10% - тип: перегородка id: корневой раздел размер: 20 г - тип: перегородка id: раздел данных устройство: корневой диск размер: -1
тождество
тип: сопоставление, см. ниже
по умолчанию: нет по умолчанию
может быть интерактивным: да
Настройте начального пользователя для системы. Это единственный ключ конфигурации, который должен присутствовать (если не присутствует раздел пользовательских данных, в этом случае он необязателен).
Отображение, которое может содержать ключи, все из которых принимают строковые значения:
настоящее имя
Настоящее имя пользователя. Это поле является необязательным.
имя пользователя
Имя пользователя для создания.
имя хоста
Имя хоста системы.
пароль
Пароль для нового пользователя, зашифрованный. Это необходимо для использования с sudo
, даже если настроен доступ по SSH.
Строка зашифрованного пароля должна соответствовать ожиданиям passwd. В зависимости от специальных символов в хэше пароля может потребоваться заключение в кавычки, поэтому безопаснее всегда заключать хеш в кавычки.
Несколько инструментов могут генерировать зашифрованный пароль, например mkpasswd
из пакета whois
или openssl passwd
.
Пример:
личность: настоящее имя: «Пользователь Ubuntu» имя пользователя: убунту пароль: «$6$wdAcoXrU039hKYPd$508Qvbe7ObUnxoj15DRCkzC3qO7edjH0VV7BPNRDYK4QR8ofJaEEF2heacn0QgD.f8pO8SNp83XNdWG6tocBM1» имя хоста: убунту
активный каталог
тип: сопоставление, см. ниже
по умолчанию: нет по умолчанию
может быть интерактивным: да
Принимает данные, необходимые для присоединения целевой системы к домену Active Directory.
Отображение, которое может содержать ключи, все из которых принимают строковые значения:
имя-администратора
Имя учетной записи домена с правами на выполнение операции присоединения. Пароль этой учетной записи будет запрошен во время выполнения.
доменное имя
Присоединяемый домен Active Directory.
убунту-про
тип: сопоставление, см. ниже
по умолчанию: см. ниже
может быть интерактивным: да
токен
тип: строка
по умолчанию: нет токена
Токен контракта для подключения к существующей подписке Ubuntu Pro.
сш
тип: сопоставление, см. ниже
по умолчанию: см. ниже
может быть интерактивным: да
Настройте SSH для установленной системы. Отображение, которое может содержать ключи:
сервер установки
тип: логический
по умолчанию: ложь
Следует ли устанавливать сервер OpenSSH в целевой системе.
авторизованные ключи
тип: список строк
по умолчанию: []
Список открытых ключей SSH для установки в исходной учетной записи пользователя.
разрешить-pw
тип: логический
по умолчанию: истина
, если author_keys
пусто, false
иначе
кодеки
тип: сопоставление, см. ниже
по умолчанию: см. ниже
может быть интерактивным: нет
Укажите, следует ли устанавливать общие ограниченные пакеты (включая кодеки) из [multiverse].
установить
тип: логический
по умолчанию: ложь
Нужно ли устанавливать пакет ubuntu-restricted-addons.
водителей
тип: сопоставление, см. ниже
по умолчанию: см. ниже
может быть интерактивным: да
установить
тип: логический
по умолчанию: ложь
Следует ли устанавливать доступные сторонние драйверы.
защелки
тип: список
по умолчанию: установка без дополнительных снимков
может быть интерактивным: да
Список оснасток для установки. Каждая привязка представлена как сопоставление с требуемым именем
и необязательным каналом
(по умолчанию стабильный
) и классическим (по умолчанию ложным
) ключами. Например:
снимков: - имя: etcd канал: край классика: ложь
debconf-выборы
тип: строка
по умолчанию: нет конфигурации
может быть интерактивным: нет
Программа установки обновит цель с помощью значений выбора набора debconf. Пользователи должны быть знакомы с параметрами пакета debconf. 9 ) и установка определенных версий пакета ( my-package=1-1
).
тип: отображение (взаимоисключающее), см. ниже
по умолчанию: ядро по умолчанию
может быть интерактивным: нет
Какое ядро будет установлено. Необходимо указать либо имя пакета, либо имя вкуса.
упаковка
тип: строка
Имя пакета, например, linux-image-5.13.0-40-generic
вкус
тип: строка
Тип ядра, например, generic
или hwe
.
часовой пояс
тип: строка
по умолчанию: нет часового пояса
может быть интерактивным: нет
Часовой пояс для настройки в системе. Специальное значение «geoip» может использоваться для автоматического запроса часового пояса по сети.
обновлений
тип: строка (перечисление)
по умолчанию: безопасность
может быть интерактивной: нет
Тип обновлений, которые будут загружены и установлены после установки системы.
Поддерживаемые значения:
-
безопасность
-> загрузить и установить обновления из -security pocket -
все
-> также скачать и установить обновления из -updates pocket
выключение
тип: строка (перечисление)
по умолчанию: перезагрузка
может быть интерактивной: нет
Запросите автоматическое отключение или перезагрузку системы после завершения установки.
Поддерживаемые значения:
-
перезагрузка
-
отключение питания
поздние команды
тип: список команд
по умолчанию: нет команд
может быть интерактивным: нет
Команды оболочки для запуска после успешного завершения установки и установки всех обновлений и пакетов непосредственно перед перезагрузкой системы. Они запускаются в среде установщика с установленной системой, смонтированной по адресу /target
. Вы можете запустить curtin in-target -- $shell_command
(в версии subiquity, выпущенной с 20.04 GA, вам нужно указать это как curtin in-target --target=/target -- $shell_command
) для запуска в целевая система (аналогично простой in-target
можно использовать в d-i preseed/late_command
).
команды-ошибки
тип: список команд
по умолчанию: нет команд
может быть интерактивным: нет
Команды оболочки для запуска после сбоя установки. Они запускаются в среде установщика, и целевая система (или та ее часть, которую удалось настроить установщику) будет смонтирована в /target. Журналы будут доступны по адресу /var/log/installer 9.0044 в прямом эфире.
отчетность
тип: сопоставление
по умолчанию: тип: печать
, которая вызывает вывод на tty1 и любые настроенные последовательные консоли
может быть интерактивным: нет
Программа установки поддерживает отправку отчетов о ходе выполнения в различные места назначения. Обратите внимание, что этот раздел игнорируется, если есть какие-либо интерактивные разделы; это относится только к полностью автоматизированным установкам.
Конфиг, да и реализация 90% такой же, как у curtin.
Каждый ключ в , сообщающий о сопоставлении
в конфигурации, определяет пункт назначения, где подраздел типа
является одним из:
Репортер rsyslog еще не существует
- print : распечатать информацию о ходе выполнения на tty1 и любой настроенной последовательной консоли. Другой конфигурации нет.
- rsyslog : сообщать о ходе выполнения через rsyslog. Ключ назначения указывает, куда отправлять выходные данные.
- веб-перехватчик : сообщать о ходе выполнения, отправляя отчеты JSON по URL-адресу. Принимает ту же конфигурацию, что и curtin.
- нет : не сообщать о ходе выполнения. Полезно только для запрета вывода по умолчанию.
Примеры:
Конфигурация по умолчанию:
отчетность: встроенный: тип: печать
Отчет в rsyslog:
отчетность: центральный: тип: rsyslog пункт назначения: @192.168.0.1
Подавить вывод по умолчанию:
отчетность: встроенный: тип: нет
Сообщить вебхуку типа Curtin:
отчетность: крюк: тип: вебхук конечная точка: http://example.com/endpoint/path потребитель_ключ: "ck_foo" потребитель_секрет: "cs_foo" token_key: "tk_foo" token_secret: "tk_secret" уровень: ИНФОРМАЦИЯ
пользовательские данные
тип: сопоставление
по умолчанию: {}
может быть интерактивным: нет
Укажите пользовательские данные cloud-init, которые будут объединены с пользовательскими данными, созданными установщиком.
Ваш комментарий будет первым