如何使用自动安装进行最小安装?

如何使用自动安装进行最小安装?

我正在尝试构建一个自定义的 Ubuntu 镜像自动安装使用 Ubuntu 服务器 20.04 LTS AMD64 iso 映像。我该如何配置才能user-data执行最小安装?

答案1

通过比较/var/log/installer/autoinstall-user-data自动安装和手动安装的 22.04 服务器,可以发现没有显示这样的选择。它似乎是安装程序的内部选项。

安装大小仍为 2.3GB,而正常大小为 2.7GB,因此“最小”是相对的。例如,snap在 minimal 中仍然存在,但less已被删除,因此它绝不是必需的软件包。

值得记住的是,内核和相关位占用约 1.5GB。最小选项对具有微小内核的容器和 VM 确实有很大影响。

答案2

旧帖子,但它是谷歌搜索如何使用自动安装(用户数据)进行最小安装时出现的第一个帖子。所以我将在这里发布它。

我想我找到了如何做到这一点的方法。使用 22.04 LTS 进行了测试。如何测试?完整安装会安装“nano”,而 Minimal 则不会。极简安装甚至没有“ping”。是的,不是很科学,但对我来说已经足够了。

autoinstall:
  source:
    id: ubuntu-server-minimal

答案3

抱歉,这不是答案(如果您找到答案,请回复),但一个糟糕的解决方法是使用自动安装用户数据中的 late-command 删除尽可能多的内容,以便在安装后最小化。文档中似乎没有任何内容,源代码中只有一个引用,在一个我无法解读的示例文件中:https://github.com/canonical/subiquity/blob/206b7ae678bc1993e1eef46c74efb12f30dbbb43/examples/install-sources.yaml

答案4

这是我后期命令的一个示例。我在安装后首次启动时使用有效载荷的 post_install.sh 进行了扩展配置,这肯定会在运行后删除 rc.local 中的行。文件夹 /addfiles 之前已添加到 iso 中。

后期命令: - echo ‘admin* ALL=(ALL) NOPASSWD:ALL’ > /target/etc/sudoers.d/admin - cp /cdrom/server/addfiles/post-install.sh /target/root/ - cp /cdrom/server/addfiles/z.tar /target/root/ - curtin in-target --target=/target -- chmod +x /root/post-install.sh - curtin in-target --target=/target -- echo -e “#!/bin/bash -e\n/bin/bash /root/post-install.sh\nexit 0” > /target/etc/rc.local - curtin in-target --target=/target -- chmod 700 /etc/rc.local

相关内容