系统镜像自定义工具浅谈
背景
最近要给一个客户交付一套系统,想做成全自动安装,于是调研了各种系统镜像打包工具,目标操作系统是openEuler,打包工具调研了packer,openEuler专用工具(isocut,imageTailor,oemaker),genisoimage(据说是从mkisofs fork来的),因为第一次接触这个方面,某开源软件推荐了packer,
于是在这上面花的时间最多,过年的前后折腾了两周,但是发现坑也最多。
packer
这个工具是hashicorp出品的,文档看着挺“好看”的,但是该说的细节一句都没说,难道官方认为能用这个工具的人都是linux内核大牛吗,对小白极不友好。而且我提了个bug一个多月了他们公司也没有人认领。我的需求是要做一个裸金属的系统镜像,可是官方以各种车轱辘话解释我们就是不做裸金属的builder,github issues上有3个相关的讨论时隔7、8年了都没有解决。虽然有个俄罗斯的哥们提出了一个hack方法,但是只能以live boot方式启动,没有通用性。看来哈西莫多走了之后这公司是每况愈下了?
openEuler专用工具
openEuler官方还算贴心一口气出了三个自定义工具,但是看文档看的眼睛都痛了也没看出有什么区别。而且文档里的错误很多,也是在gitee提了issue后就进入没人管的境地。我只试了isocut,起初还期待满满,上手挺容易的,后来发现配置有的反人性,第三方rpm包除了在ks package中指明外,还需要写入rpmlist中,而且还不能带版本和架构信息,如果我有上百个rpm要装进iso里,光写配置文件就得写到抓狂!而且如果我有不同版本要求,不让写版本号你让我怎么用啊!
genisoimage
真是相见恨晚的一个工具!只用了一天时间就把自定义镜像搞完了。基本的使用方法很简单,下一篇会讲一下新手会遇到的几个坑。