文档
概览
目的是提供一个简单的方法,使应用设备可以被定制和扩展.
示例调整
- 正在调整配置文件
- 添加数据文件
- 添加软件包
- 打造全新的应用设备,发挥Core,LAMP,铁路等通用应用设备的作用.
设计目标
- 设计完善的机制(简单、通用和有力)
- 技术上非常简单,可以减少进入壁垒
- 鼓励开发者轻松发布补丁
- 将良好的发展纳入上游至TurnKey 应用设备
- 建立补丁的开源生态系统
- 满足特殊需求的长尾巴
使用量
将补丁应用到 应用设备 ISO 图像上(补丁图像将称为图像加码.iso)
tklpatch image.iso patch.tar.gz
应用补丁来更改已安装的 应用设备 实例( 从 应用设备 内部) :
抓取: 运行系统必须按照 tklpatch 的预期状态配置, 除非补丁管理差异( 例如运行的服务器, 密码等) 。
tklpatch-apply / patch.tar.gz
以世界为例
- 下载任意 TurnKey 应用设备(例如 TurnKey Core)
- 生成并应用示例补丁 :
tklpatch-example helloworld tklpatch path/to/turnkey-core.iso helloworld - 调整并自定义示例补丁模板,以适应您的需要.
命令语法
TKLpatch在Unix传统中被设计为简单的下标的模块集,tklpatch命令本身只是顶级高阶脚本,它称:
1) tklpatch-extract-iso
Disassemble the ISO to extract its contents
1) cdroot: ISO filesystem - contains bootloader and compressed rootfs
2) rootfs: uncompressed root filesystem
2) tklpatch-apply
Apply the patch to the root filesystem.
Patch structure:
patch-dir/
debs/ # custom debian packages (installed with dpkg -i *.deb)
overlay/ # overlay applied to root filesystem
conf # configuration script to execute in chroot (rootfs)
3) tklpatch-prepare-cdroot
Prepare cdroot for ISO creation. This mainly compresses the extracted
root filesystem.
4) tklpatch-geniso
Generate an ISO from the cdroot.
补丁解剖
补丁是一个目录(可以包装为gziped tarball),它可能包含以下任何文件和目录: .
patch/
debs/ # custom debian packages (installed with dpkg -i *.deb)
overlay/ # overlay applied to root filesystem
conf # configuration script to execute in chroot (rootfs)
再说, 补丁/ 补丁 它可以包含一个补丁/文件夹,其中可能包含嵌套补丁(未包装或作为gziped tarball捆绑). 将按姓名的字母顺序安装嵌入补丁 上一个 以到包含它们的补丁(允许补丁补丁).
patch1/
patches/
patch2/
patch3.tar.gz
patch4.tar.gz
patches/
patch5/
嵌套补丁可以促进模块化设计,因为变化不需要捆绑在一起.