Documentación
Sinopsis
El objetivo es proporcionar una manera sencilla en la que se puede personalizar y ampliar un appliance.
Ejemplos de pinzas
- Ajuste de un archivo de configuración
- Agregar archivos de datos
- Agregar un paquete
- Creando una nueva marca appliance aprovechando un appliance genérico como Core, LAMP, Rails, etc.
Objetivos de diseño
- Mecanismo bien diseñado (simple, genérico y potente)
- Técnicamente muy simple para reducir las barreras a la entrada
- Alentar a los desarrolladores a publicar sus parches fácilmente
- Incorporar los buenos desarrollos hasta TurnKey appliances
- Establecer un ecosistema de código abierto de parches
- Satisfecho largo cola de necesidades especiales
Usage
Aplicar un parche a una imagen appliance ISO (la imagen parcheada se llamará imagen-patched.iso)
tklpatch image.iso patch.tar.gz
Aplicar un parche para cambiar una instancia appliance instalada (desde dentro del appliance):
Gotcha: El sistema de funcionamiento debe configurarse según el estado esperado tklpatch a menos que el parche administre discrepancias (por ejemplo, servidores de ejecución, contraseñas, etc.)
tklpatch-apply / patch.tar.gz
Hola ejemplo mundial
- Descargar cualquier TurnKey appliance (por ejemplo, TurnKey Core)
- Generar y aplicar el parche de ejemplo:
tklpatch-example helloworld tklpatch path/to/turnkey-core.iso helloworld - Desenrolla y personaliza la plantilla de parche de ejemplo para adaptarse a tus necesidades.
Sintaxis de comandos
TKLpatch está diseñado en la tradición Unix como una colección modular de sub-scripts simples. El comando tklpatch es sólo el script de alto nivel, que llama:
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.
Anatomía de un parche
Un parche es un directorio (que puede ser empaquetado como un tarball con gzipped) que puede contener cualquiera de los siguientes archivos y directorios:
patch/
debs/ # custom debian packages (installed with dpkg -i *.deb)
overlay/ # overlay applied to root filesystem
conf # configuration script to execute in chroot (rootfs)
Además, parche/ puede contener parches/ carpeta, que pueden contener parches anidados (desempaquetados o empaquetados como un alquitrán picado). Los parches anidados se instalarán en el orden alfa-numeric de sus nombres anteriores al parche que los contiene (pertura de parche de parche de habilitación).
patch1/
patches/
patch2/
patch3.tar.gz
patch4.tar.gz
patches/
patch5/
Los parches anidados facilitan el diseño modular, ya que los cambios no necesitan ser agrupados juntos.