Ubuntu 20.04 自动安装:打印后期命令输出

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在自动安装配置部分打印安装错误error-commands

#cloud-config
autoinstall:
  late-commands:
    - echo "This is the error to debug" && exit 125
  error-commands:
    - tail -200 /var/log/syslog

怎么运行的

subiquity代码处理early-commandslate-commandserror-commandshttps://github.com/CanonicalLtd/subiquity/blob/a76581cd2b973b55e55c6ac05b5bf47168493140/subiquity/server/controllers/cmdlist.py#L77-L120

这些自动安装键如何处理输出:

  • early-commands–回显+系统日志
  • late-commands–系统日志
  • error-commands– 如果是自动安装,则 echo+syslog,否则 syslog

因此,late-commands我无法在 中回显到控制台。但我可以从 中回显error-commands,前提是我正在运行非交互式自动安装。我使用它来打印 syslog 的最后几行,其中包含完整的错误消息:This is the error to debug

相关内容