我正在努力从旧的 Debian 风格安装程序迁移到使用 subiquity 的较新的 Ubuntu 服务器自动安装系统。我们对当前系统所做的一件事是运行 late_command 脚本,该脚本将机器注册到我们的网络。这涉及一个基于 debconf 的对话框,管理员可以在其中输入一些凭据。在 subiquity 中是否有类似的方法让 late-command 脚本查询管理员以回答一些问题?
谢谢,
史蒂芬
答案1
是的,这是可能的。诀窍是使用 openvt 切换到另一个虚拟控制台。同样的技巧也适用于用户数据 runcmd。然而,这不符合 cloud-init 的精神。也许在这种特殊情况下,您可以使用 debconf-selections,如文档
autoinstall:
version: 1
debconf-selections: |
bind9 bind9/run-resolvconf boolean false
late-commands:
- - curtin
- in-target
- --target=/target
- --
- openvt
- -f
- -c
- "14"
- -s
- -w
- --
- env
- TERM=linux
- PATH=/usr/bin:/usr/sbin
- LANG=C.utf8
- LC_ALL=C.utf8
- USER=root
- SHELL=/bin/bash
- HOME=/root
- bash
- -c
- |
echo 'Hello, this is an interactive bash script!'
read -p 'Your name: ' name
echo "bye-bye $name, it's been a pleasure."
sleep 10