文档
补丁开发
如果你还没有读到 概览文件请现在就去
你好,世界实例补丁
tklpatch-example helloworld
这执行 tklpatch- 实例, 在 helloworld/ 目录中创建一个实例补丁 。 如果在您的补丁中需要更多的精细的控件, 那么可以使用此选项创建高级示例 。 --advanced 密码 切换。
当此补丁被应用到 ISO 时, 它会创建一个新的 ISO, 其中 哈啰 软件包已安装, 更改了当天的消息。 让我们在 turnkey- core.iso (我们早些时候下载了它) 上尝试一下, 并看到 tklpatch 正在操作 :
tklpatch turnkey-core.iso helloworld
在幕后, tklpatch 应用了我们的 Helloworld 补丁时, 它遵循了补丁“ conf” 文件中的指令 :
$ cat helloworld/conf
#!/bin/bash -ex
install()
{
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y \
-o DPkg::Options::=--force-confdef \
-o DPkg::Options::=--force-confold \
install $@
}
# installs hello - a highly useful package
install hello
# tell the world what we've done!
echo 'Hello world - I just patched TurnKey!' >> /etc/issue
Drupal5 实例补丁
为了教育目的,tklpatch包含一个更复杂的示例补丁,将TurnKey LAMP变成Drupal5 应用设备. 补丁位于 /usr/share/tklpatch/examples 密码 tklpatch 通过apt-get安装时,或 /usr/local/share/tklpatch/examples 密码 。示例补丁也可以在 github 密码 以供参考。
从零开始创建新补丁的骨架
mkdir mypatch mkdir mypatch/debs mkdir mypatch/overlay touch mypatch/conf; chmod +x mypatch/conf
现在,你需要想出你的补丁应该如何改变补丁的应用设备,以获得你想要的结果. 在"活"系统中通过试和误读,往往很容易交互地找出来. 您可以安装您想要在 VM 中补丁的 应用设备 来设置这样的测试环境, 然后进行实验, 以找到您需要做出哪些改变 。 也可以在铬化环境下进行实验.
发展技巧和技巧
TKLPatch有一个模块化设计,允许您在安装的虚拟 应用设备 实例或 ISO 提取的根文件系统中,逐步开发您的补丁 图像。一个快速连续的调整和测试的开发周期,往往比一个反馈循环长的周期更有成效。
如何在绿色环境中设置和实验:
tklpatch-extract-iso path/to/image.iso
这将从 ISO 中提取 应用设备 的文件系统及 cdroot。 您可以先将 chroot 切入 应用设备 的文件系统 。 在chroot内部,很容易进行实验来发现您的补丁应该做什么。例如,你可以手动安装包,使调制器切换到配置等. 当您知道需要做什么时, 更新 mypatch 以反映它( 例如, 在 conf 中添加指令, 文件到 覆盖 中等) 。
tklpatch-chroot path/to/image.rootfs
一旦完成,您可以删除您在其中实验的临时rootf和cdrot目录,并通过将补丁应用到您的 ISO 测试您的补丁(最好是在虚拟机中) 选择 :
tklpatch path/to/image.iso path/to/mypatch
下一个 发表吧.