Ubuntu 20.04 AUTOINSTALL: Печать вывода поздних команд

У меня есть конфигурация AUTOINSTALL:

#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"

Есть ли способ сделать его распечатать вывод поздней команды тоже? Я хочу отладки поздних команд .

0
задан 22 February 2021 в 17:33

1 ответ

Мое решение

Я распечатываю /var/log/syslog об ошибке установки в разделе error-comandnds autoinstall config section:

#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

Как эти ключи автоинсталляции обрабатывают вывод:

  • ранние команды - echo+syslog
  • поздние команды - syslog
  • команды ошибок - echo+syslog если автоинсталлировать другой syslog

Так что в поздних командах я не могу эхо-консолировать. Но я могу эхо от -ошибочных команд, при условии, что я запускаю неинтерактивную автоинсталляцию. Я использую его для печати последних строк syslog, которые содержат полное сообщение об ошибке: Это ошибка для отладки .

0
ответ дан 18 March 2021 в 23:32

Другие вопросы по тегам:

Похожие вопросы: