如何使用Kiwi创建多种类型的镜像文件

  • Kiwi-ng是一个主要用于创建和定制Linux发行版镜像的工具。
  • 它不限于任何特定的 Linux 发行版,而是可以与各种发行版一起使用。
  • Kiwi-ng 使用称为 Kiwi 配置文件的描述性 XML 文件来定义系统配置、包选择和要应用的任何自定义。
  • 它提供了一种将系统配置、软件包和自定义组合到可启动映像文件中的方法。
  • Kiwi-ng 提供了灵活且自动化的构建流程来创建自定义 Linux 映像。 它支持不同的构建环境,例如 chroot、虚拟机和云实例。
  • 系统管理员和开发人员经常使用 Kiwi-ng 来创建用于特定目的的定制操作系统映像,例如虚拟设备、嵌入式系统或云实例。

主要功能

Kiwi NG (Next Generation) 是一个用于创建操作系统镜像的工具,Kiwi NG的主要功能包括:

  • Flexible Configuration: Kiwi使用XML文件进行配置,可以灵活地定义要包含的软件包,配置文件,引导设置等。
  • Two-Step Image Creation: Kiwi首先创建一个未打包的镜像树(包含所有文件和目录的文件系统),然后基于这个镜像树创建最终的镜像。这使得在创建最终镜像之前可以进行定制和调试。
  • Support for Multiple Profiles: 在同一配置文件中,可以定义多个配置文件,每个配置文件可以有不同的设置和软件包。
  • Integration with OBS: Kiwi可以与Open Build Service(OBS)集成,使得可以自动化构建和发布镜像。
  • Support for Multiple Architectures: Kiwi可以创建用于多种硬件架构的镜像,包括x86,x86_64,ARM,和 PowerPC等。
  • Support for Multiple Linux Distributions: Kiwi可以创建用于多种Linux发行版的镜像,包括openSUSE,SUSE Linux Enterprise,和其他基于RPM的发行版。

支持多种类型的镜像文件

它支持多种类型的镜像文件,包括但不限于:

  1. Live ISOs: 这些是可以从CD或USB驱动器引导的完整操作系统镜像。它们通常用于试用或安装操作系统。
  2. Virtual Machine Images: Kiwi可以创建用于各种虚拟化技术(如KVM,Xen,和 VMware)的镜像。
  3. Docker and OCI Images: Kiwi可以创建Docker和OCI(开放容器标准)兼容的容器镜像。
  4. Disk Images: Kiwi可以创建硬盘镜像,这些镜像可以写入物理硬盘驱动器或USB驱动器,并用作启动设备。
  5. PXE Boot Images: Kiwi可以创建用于网络引导的镜像。

Image创建过程

KIWI NG通过两步过程创建镜像:

  • 第一步,准备操作,使用config.xml配置文件中提供的信息生成所谓的未打包的镜像树(目录)(参见镜像描述)

  • 第二步,创建操作,基于未打包的镜像树和config.xml配置文件中提供的信息,创建指定格式的打包镜像或镜像。

一个简单例子(分两步走)

假设我们有一个用于SLES15 SP4 ISO镜像的基本配置。配置目录位于 /home/user/kiwi-config。

  • 准备镜像:第一步是准备镜像。这将为镜像创建一个根文件系统,安装指定的包,并应用任何指定的配置。运行以下命令:

kiwi-ng --type=iso system prepare --description=kiwi-descriptions/suse/x86_64/suse-leap-15.4 --root=/home/user/kiwi-root

这个命令告诉Kiwi使用位于 /home/user/kiwi-config 的配置来准备ISO镜像。准备好的根文件系统将在 /home/user/kiwi-root 中创建。

  • 创建镜像:准备好镜像后,你可以使用Kiwi来创建镜像。这一步将准备好的根文件系统和包打包成ISO镜像。运行以下命令:

sudo kiwi-ng --type=iso system create --root=/home/user/kiwi-root --target-dir=/home/user/kiwi-output

这个命令告诉Kiwi从位于 /home/user/kiwi-root 的准备好的根文件系统创建ISO镜像。生成的ISO镜像将被放置在 /home/user/kiwi-output 中。

更简单的例子 (一步完成)

一步构建镜像。build命令结合了kiwi的准备和创建步骤,以便通过只调用一条命令就能构建一个镜像。构建命令在/build/image-root下创建镜像的根目录,并且如果没有指定不同的话,会写入日志文件/build/image-root.log。结果镜像文件将在指定的target-dir中创建。

kiwi-ng --type=iso system build --description=kiwi-descriptions/suse/x86_64/suse-leap-15.4 --target-dir==/home/user/kiwi-output

相关推荐
codelife32120 分钟前
在Docker容器中执行命令
容器
petaexpress28 分钟前
常用的k8s容器网络模式有哪些?
网络·容器·kubernetes
小黑爱编程30 分钟前
【LInux】HTTPS是如何实现安全传输的
linux·安全·https
BeyondESH35 分钟前
Linux线程同步—竞态条件和互斥锁(C语言)
linux·服务器·c++
wn53136 分钟前
【Go - 类型断言】
服务器·开发语言·后端·golang
鱼饼6号1 小时前
Prometheus 上手指南
linux·运维·centos·prometheus
Asher Gu1 小时前
Linux系统编程入门 | 模拟实现 ls -l 命令
linux
希冀1231 小时前
【操作系统】1.2操作系统的发展与分类
后端
c无序1 小时前
【Linux进程控制】进程程序替换
linux
GoppViper1 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理