Ubuntu 何时安装带有预存文件的软件包,何时使用Packer配置软件包?

Ubuntu 何时安装带有预存文件的软件包,何时使用Packer配置软件包?,ubuntu,vagrant,virtualbox,packer,Ubuntu,Vagrant,Virtualbox,Packer,因此,几天来我一直在忙着调整我的打包机Ubuntu配置 我只忙于安装Ubuntu,现在我需要安装我的机器所需的软件包。最终的结果是制作一个带有预装包的流浪者盒子 目前,我将我的所有包配置都放在preseed.cfg文件中,目前我没有配置块。我的理解是,您可以在preseed.cfg或provision块中安装软件包(通过脚本或类似chef的东西) 这是我的preseed.cfg文件中的行: d-i pkgsel/include string build-essential linux-head

因此,几天来我一直在忙着调整我的打包机Ubuntu配置

我只忙于安装Ubuntu,现在我需要安装我的机器所需的软件包。最终的结果是制作一个带有预装包的流浪者盒子

目前,我将我的所有包配置都放在preseed.cfg文件中,目前我没有配置块。我的理解是,您可以在preseed.cfg或provision块中安装软件包(通过脚本或类似chef的东西)

这是我的
preseed.cfg
文件中的行:

d-i pkgsel/include string  build-essential linux-headers-$(uname -r) openssh-server ubuntu-minimal

因此,我的问题是,从打包机的角度来看,什么时候通过preseed.cfg安装软件包合适?什么时候使用provisioner合适?

当您编写配置脚本时,我(我只为自己说话,欢迎其他人发表意见)针对两件事:

  • 我安装软件包,但不仅仅是,通常我会使用一组配置进行安装(例如,我安装Apache,但我想配置virtualhost或其他东西)

  • 我需要跨系统脚本,这样我就可以重复使用它们来配置任何服务器(因此我尽量避免使用shell脚本——如果我需要在开发新的provisionner模块时结束编写shell命令,我会为我可以使用的大多数linux系族使用它)

在我个人使用packer/vagrant之后,我将使用packer创建最小的box,这样我甚至不会将我的配置放在那里(仅在配置步骤花费太长的情况下,我需要经常从头开始创建新的vagrant VM实例)-我将供应步骤放在vagrant中,它将在vagrant旋转新VM时运行

回到你的问题,我会使用preseed for general软件包,它不需要配置,并且是系统工作所必需的;将其余的放在配置中