Vagrant Box 镜像准备:Packer 打包 Centos 7.9 系统
@TOC
前言
使用 vagrant 的前提是要有 box 镜像盒子来初始化系统,网上有很多 box 可以下载,但是用自己的不是更香吗?自己动手,丰衣足食!
环境准备
软件准备
首先需要安装 vagrant + virtualbox + packer ,具体安装教程,请参考文章:☀️ 福利向:⚡️万字图文⚡️ 带你 Vagrant 从入门到超神!❤️
下载系统镜像
下载 centos 7.9 安装包,下载地址:精心整理Linux各版本安装包(包括Centos、Redhat、Oracle Linux),附下载链接🔗
这里使用最小的镜像源即可,在 https://mirrors.edge.kernel.org/centos/7.9.2009/isos/x86_64/ 可以直接下载。

这里的校验码记录一下: 07b94e6b1a0b0260b94c83d6bb76b26bf7a310dc78d7a9c7432809fb9bc6194a
下载打包源码
下载打包模板源码:
1 | git clone https://hub.fastgit.org/chef/bento.git |

将系统镜像文件拷贝至 bento/packer_templates/centos 目录下:

确认环境准备好之后,可以开始进行打包。
开始打包
自定义json文件
使用目录中的 centos-7.9-x86_64.json 文件,复制为 centos79.json ,进行自定义修改:
1 | { |
📢 注意:以下修改两个脚本,提前排坑。
修改 networking.sh 脚本
脚本位于 centos 中,../centos/scripts/networking.sh,由于无法访问 github ,因此 /etc/hosts 需要增加 github ip:
1 | # modify by luciferliu for github raw.githubusercontent.com:443; Connection refused |

修改 vagrant.sh 脚本
脚本位于 bento/packer_templates/_common 目录下,由于未关闭防火墙,443端口无法访问,因此一直报错,手动关闭防火墙:
1 | pubkey_url="https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub"; |

启动 packer 进行打包
1 | packer build -only=virtualbox-iso centos79.json |

显示如上,即已经打包成功,box 位置存放在:../../builds/centos7.9.virtualbox.box 。

上传 box 镜像
不做演示,比较简单。

box镜像下载地址:luciferliu/centos7.9
写在最后
为什么要打包 box 镜像盒子? 以后可以使用 vagrant 直接初始化创建 linux 系统,不需要再一步步创建,为自动化奠定基础。
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
技术交流可以 关注公众号:Lucifer三思而后行
