本文将介绍如何构建定制化系统,使用命令和浏览器建立系统镜像
Image Builder能够建立RHEL定制系统,经过模板定义文件构建本身须要的系统镜像,Image Builder能够经过Composer-cli命令行工具来构建镜像,也能够经过web console使用图形化界面操做。
Image Builder以系统服务lorax-composer运行,能够经过Image Builder构建出多种格式的系统镜像,好比iso,tar,img,vmdk等。html
首先添加RHEL8的DNF软件源linux
wget -O /etc/yum.repos.d/rhel-9-beta.repo https://mirrors.tuna.tsinghua.edu.cn/redhat/rhel/rhel-8-beta/rhel-8-beta.repo
经过vim修改源文件web
:%s/enabled=0/enabled=1/g
$ dnf clean all $ dnf makecache
修改/etc/selinux/config为disabledshell
$ yum install lorax-composer composer-cli cockpit-composer bash-completion
配置开机启动vim
$ systemctl enable lorax-composer.socket $ systemctl enable cockpit.socket
配置防火墙浏览器
$ firewall-cmd --add-service=cockpit && firewall-cmd --add-service=cockpit --permanent
加载命令行补全bash
$ source /etc/bash\_completion.d/composer-cli
如今composer-cli命令行工具就能够使用了app
imagebuilder的工做流以下:composer
1.建立模板blueprint定义文件ssh
name = "BLUEPRINT-NAME" description = "LONG FORM DESCRIPTION TEXT" version = "0.0.1" modules = [] groups = [] [[packages]] name = "package-name" version = "package-version" [[customizations.user]] name = "USER-NAME" description = "USER-DESCRIPTION" password = "PASSWORD-HASH" key = "ssh-rsa (...) key-name" home = "/home/USER-NAME/" shell = "/usr/bin/bash" groups = ["users", "wheel"] uid = NUMBER gid = NUMBER [[customizations.kernel]] append = "nosmt=force"
blueprint是以TOML格式定义的,能够有许多定制选项,imagebuilder会根据blueprint中的定义来构建系统。
2.将模板文件保存为BLUEPRINT-NAME.toml
3.使用命令行工具导入blueprint
$ composer-cli blueprints push BLUEPRINT-NAME.toml
4.查看已导入的blueprint
$ composer-cli blueprints list
5.检查组件依赖
$ composer-cli blueprints depsolve BLUEPRINT-NAME
6.检查blueprint内容
$ composer-cli blueprints show BLUEPRINT-NAME
7.列出支持的输出类型
$ composer-cli compose types
8.开始构建
$ composer-cli compose start BLUEPRINT-NAME IMAGE-TYPE
IMAGE-TYPE为支持的输出类型
9.查看构建进度
$ composer-cli compose status
10.构建完成后导出镜像
$ composer-cli compose image UUID
镜像存放路径为/var/lib/lorax/composer/results/UUID/
其余命令:
导出blueprint
$ composer-cli blueprints save BLUEPRINT-NAME
删除blueprint
$ composer-cli compose delete BLUEPRINT-NAME
取消正在进行中的构建
$ composer-cli compose cancel COMPOSE-UUID
删除已完成的构建
$ composer-cli compose delete COMPOSE-UUID
由于imagebuilder是以服务运行,所以默承认以经过本地浏览器访问
https://localhost:9090/
经过web页面的可视化操做能够达到经过命令操做一样的效果。
Image Builder on Red Hat Enterprise Linux 8