Дополнительные действия в kickstart-сценариях

В kickstart-сценарий могут быть добавлены дополнительные команды, которые выполняются после завершения основной установки. Это позволяет автоматизировать первоначальную настройку Системы при массовом развёртывании.

Для выполнения действий в установленной Системе (в chroot) используется секция %post:

%post
<команды>
%end

Пример: запись даты и времени установки в файл /var/log/installtime со следующими параметрами в секции:

%post
LC_ALL=C date > /var/log/installtime
%end

Для выполнения команд в окружении установочного образа (LiveCD) применяется параметр:

%post --nochroot
<команды>
%end

В этом режиме путь к установленной Системе указывается через переменную ${INSTALL_ROOT}.

Пример:

%post --nochroot
LC_ALL=C date > "${INSTALL_ROOT}/var/log/installtime"
%end

Примечание – Дополнительно возможно загрузить внешние файлы с помощью утилит curl, wget и других средств сетевого доступа, при наличии доступа к локальному или внешнему веб-серверу.

Удаление и установка пакетов могут быть выполнены также внутри секции %post:

  • Удаление ненужных пакетов:
  %post
  sudo dnf -q -y remove firefox-esr52
  %end
  • Установка дополнительных пакетов:
  %post
  dnf -q -y install sconfigs-detailed-audit
  %end

В данной конфигурации установка пакетов через секцию %packages не поддерживается.

Для тестирования сценария автоматизированной установки можно воспользоваться встроенным HTTP-сервером на машине оператора:

  1. Определить IP-адрес оператора:
  ip a
  1. Перейти в директорию с файлом сценария (например, a.ks) и запустить сервер:
  python3 -m http.server

Примечание – В качестве альтернативы возможно использование других веб-серверов, например, nginx или Apache httpd.

  1. На целевой машине при загрузке LiveCD в командную строку ядра необходимо добавить:
  systemd.unit=anaconda.target inst.ks=http://192.168.1.173:8000/a.ks

где:

  • 192.168.1.173 — IP-адрес машины оператора,
  • 8000 — порт запущенного HTTP-сервера.

Также рекомендуется добавить параметр inst.text.

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