我有一个自动安装配置:
#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-commands
、late-commands
和error-commands
:
https://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
。