通过 subiquity late-command 与用户交互?

通过 subiquity late-command 与用户交互?

我正在努力从旧的 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

相关内容