如何使用 cloud-init 设置具有包含 zsh 的多通道的 VM?
How can I use cloud-init to set up a VM with multipass that includes zsh?
我正在学习使用 multipass。我的 multipass 版本是 multipass 1.9.0+mac
。我正在尝试创建一个非常简单的 cloud-init 配置:
package:
- build-essential
- zsh
我从
开始
multipass launch -n test --cloud-init config.yaml
我打开一个shell进入那个环境,但是/bin/里面没有zsh。
为什么没有安装 zsh?
package
不是有效的 top-level 密钥,但 packages
是。请参阅文档 here.
它确实应该警告这个错误,但目前没有。
试试这个:
#cloud-config
packages:
- build-essential
- zsh
上游 cloud-init 正在为此使用 jsonschema 验证来更好地 warnings/errors 配置(即将发布的版本中这方面的许多更改)。然而,目前,顶级密钥目前尚未验证。
此外,看起来 multipass 会自动为您插入 #cloud-config
header,所以我 认为 您在 multipass 上不需要它,但是为了可移植到其他数据源,我会考虑添加它。根据我测试的多通道实例中的用户数据值,我看到了两种方式 header,因此为了便携性,我建议添加它,即使它在多通道上是 no-op。
此外,根据 Brett 的评论 ,sudo cloud-init devel schema --annotate --system
应该报告所提供的 #cloud-config 是否是有效架构。
我正在学习使用 multipass。我的 multipass 版本是 multipass 1.9.0+mac
。我正在尝试创建一个非常简单的 cloud-init 配置:
package:
- build-essential
- zsh
我从
开始multipass launch -n test --cloud-init config.yaml
我打开一个shell进入那个环境,但是/bin/里面没有zsh。
为什么没有安装 zsh?
package
不是有效的 top-level 密钥,但 packages
是。请参阅文档 here.
它确实应该警告这个错误,但目前没有。
试试这个:
#cloud-config
packages:
- build-essential
- zsh
上游 cloud-init 正在为此使用 jsonschema 验证来更好地 warnings/errors 配置(即将发布的版本中这方面的许多更改)。然而,目前,顶级密钥目前尚未验证。
此外,看起来 multipass 会自动为您插入 #cloud-config
header,所以我 认为 您在 multipass 上不需要它,但是为了可移植到其他数据源,我会考虑添加它。根据我测试的多通道实例中的用户数据值,我看到了两种方式 header,因此为了便携性,我建议添加它,即使它在多通道上是 no-op。
此外,根据 Brett 的评论 sudo cloud-init devel schema --annotate --system
应该报告所提供的 #cloud-config 是否是有效架构。