本文将介绍如何构建定制化系统,使用命令和浏览器创建系统镜像。ImageBuilder介绍ImageBuilder可以创建一个RHEL定制系统,通过一个模板定义文件来构建你需要的系统镜像。ImageBuilder可以通过Composer-cli命令行工具来构建镜像,Web控制台也可以使用图形界面进行操作。ImageBuilder与系统服务lorax-composer一起运行,可以通过ImageBuilder构建各种格式的系统镜像,如iso、tar、img、vmdk等。安装ImageBuilder首先添加RHEL8的DNF软件源wget-O/etc/yum.repos.d/rhel-9-beta.repohttps://mirrors.tuna.tsinghua.edu.cn/redhat/rhel/rhel-8-beta/rhel-8-beta.repo通过vim修改源文件:%s/enabled=0/enabled=1/g$dnfcleanall$dnfmakecache修改/etc/selinux/config为disabled$yum安装lorax-composercomposer-clicockpit-composerbash-completion配置启动$systemctlenablelorax-composer.socket$systemctlenablecockpit.socket配置防火墙$firewall-cmd--add-service=cockpit&&firewall-cmd--add-service=cockpit--permanent加载命令行补全$source/etc/bash\_completion.d/composer-cli现在可以使用composer-cli命令行工具使用imagebuilder命令构建镜像imagebuilder的工作流程如下:构建模板蓝图定义文件修改定义文件重新导入蓝图文件使用蓝图构建镜像导出镜像文件1.创建模板蓝图定义文件name="BLUEPRINT-NAME"description="LONGFORMDESCRIPTIONTEXT"version="0.0.1"modules=[]groups=[][[packages]]name="package-name"version="package-version"[[??customizations.user]]name="USER-NAME"description="USER-DESCRIPTION"password="PASSWORD-HASH"键="ssh-rsa(...)key-name"home="/home/USER-NAME/"shell="/usr/bin/bash"groups=["users","wheel"]uid=NUM??BERgid=NUMBER[[customizations.kernel]]append="nosmt=force"蓝图定义为TOML格式,有很多自定义选项,imagebuilder会根据蓝图中的定义构建系统2.将模板文件另存为BLUEPRINT-NAME.toml3。使用命令行工具导入blueprint$composer-cliblueprintspushBLUEPRINT-NAME.toml4。查看导入的blueprint$composer-cli蓝图列表5。检查组件依赖性$composer-cliblueprintsdepsolveBLUEPRINT-NAME6.检查蓝图内容$composer-cliblueprintsshowBLUEPRINT-NAME7.列出支持的输出类型$composer-clicomposetypes8.开始构建$composer-clicomposestartBLUEPRINT-NAMEIMAGE-TYPE支持IMAGE-TYPE9.查看构建进度$composer-clicomposestatus10.构建完成后导出镜像$composer-clicomposeimageUUID镜像存放路径为/var/lib/lorax/composer/results/UUID/其他命令:exportblueprint$composer-cliblueprintssaveBLUEPRINT-NAMEdeleteblueprint$composer-clicomposedeleteBLUEPRINT-NAMEcancelbuildinprogress$composer-clicomposecancelCOMPOSE-UUIDdeletecompletedbuild$composer-clicomposedeleteCOMPOSE-UUIDImageBuilderwebconsole因为imagebuilder是作为服务运行的,默认可以通过本地浏览器访问https://localhost:9090/,网页可视化操作可以达到和命令一样的效果手术。RedHatEnterpriseLinux8上的映像生成器
