Автоматическая установка Ubuntu 20.04: вывод поздних команд
У меня есть конфигурация автоустановки:
#cloud-config
autoinstall:
version: 1
late-commands:
- curtin in-target --interactive --target=/target -- echo "Hello! This is output from late-commands"
При выполнении поздних команд он будет печатать:
finish: subiquity/Late/run/command_0: curtin in-target --interactive --target=/target -- echo "Hello! This is output from late-commands"
Есть ли способ заставить его также печатать вывод поздней команды? я хочу отлаживать
late-commands
.
1 ответ
Мое решение
я печатаю
/var/log/syslog
при ошибке установки в разделе конфигурации автоустановки:
#cloud-config
autoinstall:
late-commands:
- echo "This is the error to debug" && exit 125
error-commands:
- tail -200 /var/log/syslog
Как это работает
Этот
subiquity
код обрабатывает и:https://github.com/CanonicalLtd/subiquity/blob/a76581cd2b973b55e55c6ac05b5bf47168493140/subiquity/server/controllers/cmdlist.py#L77-L120
Как эти ключи автоустановки обрабатывают вывод:
-
early-commands
- эхо + системный журнал - - системный журнал
- – echo+syslog, если автоматическая установка, иначе syslog
Итак, в
late-commands
Я не могу вывести эхо на консоль. Но я могу эхом от
error-commands
, при условии, что я запускаю неинтерактивную автоустановку. Я использую его для печати последних строк системного журнала, которые содержат полное сообщение об ошибке:
This is the error to debug
.