Как сообщить о завершении установки системы

Я хотел бы сделать некоторые сообщения из процесса установки системы для виртуализированных (libvirt / kvm) серверов Ubuntu. Я ожидал, что какая-то такая система уже существует там, но ничего не могла найти. Неужели нет такой вещи?

Для пользовательского решения я нашел, что есть хороший интерфейс, доступный через опцию virt-install --channel . По сути, я могу начать демон, слушая сообщения на хосте и на сообщениях клиентского канала, либо с помощью устройства virtio, либо с предварительно настроенного адреса, используя netcat .

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

Существуют ли другие разумные / проверенные решения?

Я не знаком с развертыванием виртуальных серверов Ubuntu, но я развернул виртуальные серверы CentOS, используя сценарий kickstart с веб-сервера Cobbler. Скрипт устанавливает завиток, а затем использует завиток для «пинга» URL-адреса (уникального для каждой машины) на веб-сервере после каждого этапа установки.

Я не знаком с Vagrant, но я думаю, что у него есть подобные функции.

Ну, гостевая среда KVM полностью изолирована от гостя, и, помимо некоторой последовательной связи, не совсем возможно говорить с хостом как о функции. Вы уже нашли эту часть о настройке канала связи.

Я бы предложил использовать предварительно настроенную конфигурацию и пойти с одним из этих подходов.

  • Выключите питание после установки. Поместите это в файл preseed:

     di cdrom-detect/eject boolean true di finish-install/reboot_in_progress note di debian-installer/exit/poweroff boolean true 

    После установки устройство автоматически отключится. Таким образом, легко получить некоторые указания относительно завершения установки, но не слишком ясно, насколько она успешна. Тем не менее, вы можете проверить, был ли CD извлечен (отключен), и, по крайней мере, это была грубая идея.

  • Запустите команду после установки, также используя предварительную настройку:

     di preseed/late_command string some_command_available_in_installer 

    или

     di preseed/late_command string echo "FINISHED" > /dev/ttyS4 

    (изменить целевое устройство) с помощью Лог-файла устройства на хосте.