Saltar al contenido
TURNKEYGNU / LINUX
AplicacionesDocumentaciónBlogCapturas de pantallaGitHubTurnKey Hub
文Español
EnglishEspañol中文日本語PortuguêsDeutsch
Home/Desarrollo de pares

Documentación

Desarrollo de pares

Si aún no has leído el documentación generalPor favor, hazlo ahora.

Hola, ejemplo de mundo parche

tklpatch-example helloworld

Esto ejecuta tklpatch-example para crear un parche de ejemplo en el directorio holaworld/. Si se necesita un control más fino en el parche, entonces se puede crear un ejemplo avanzado usando el --advanced Cambien.

Cuando este parche se aplica a un ISO creará un nuevo ISO en el que el Hola. El paquete está instalado y el mensaje del día ha sido cambiado. Vamos a probarlo en turnkey-core.iso (que descargamos antes) y ver tklpatch en acción:

tklpatch turnkey-core.iso helloworld

Detrás de las escenas, cuando tklpatch aplicó nuestro parche de holaworld siguió las instrucciones en el archivo 'conf' del parche:

$ 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


Parche de ejemplo Drupal5

Para fines educativos, tklpatch incluye un parche de ejemplo más complejo que convertirá TurnKey LAMP en un Drupal5 appliance. El parche está situado en /usr/share/tklpatch/examples cuando tklpatch se instala a través de apt-get, o /usr/local/share/tklpatch/examples cuando se instala de la fuente. El parche de ejemplo también está disponible github para referencia.

 

Crear el esqueleto de un nuevo parche desde cero

mkdir mypatch
mkdir mypatch/debs
mkdir mypatch/overlay
touch mypatch/conf; chmod +x mypatch/conf

Ahora necesitas averiguar cómo tu parche debe cambiar el appliance parcheado para obtener el resultado que quieras. A menudo es más fácil averiguar esto de forma interactiva en un sistema "en vivo" por ensayo y error. Puede configurar un entorno de prueba instalando el appliance que desea remplazar en un VM y luego experimentar para encontrar los cambios que necesita hacer. También puede experimentar en un ambiente de chroot.

 

Consejos y trucos de desarrollo

TKLPatch tiene un diseño modular que le permite desarrollar su parche gradualmente dentro de una instancia virtual instalada appliance o en el sistema de archivos de raíz extraído de un ISO Imagen. Un ciclo de desarrollo en el que se recorta y prueba en rápida sucesión es a menudo más productivo que uno que tiene un largo bucle de retroalimentación.

Cómo configurar y experimentar en un entorno de chroot:

tklpatch-extract-iso path/to/image.iso

Esto extraerá el sistema de archivos appliance y cdroot del ISO. Luego puede entrar en el sistema de archivos appliance. Dentro del chroot es fácil experimentar para averiguar qué debe hacer su parche. Por ejemplo, puede instalar manualmente paquetes, hacer ajustes a la configuración, etc. Cuando sepas lo que hay que hacer, actualiza mi parche para reflejarlo (por ejemplo, agregando instrucciones para conf, archivos a la superposición, etc.)

tklpatch-chroot path/to/image.rootfs

Una vez completado, puede eliminar los rootfs temporales y directorios de cdroot que experimentó, y probar su parche (preferiblemente en una máquina virtual) mediante la aplicación a su ISO de elección:

tklpatch path/to/image.iso path/to/mypatch

Siguiente, publicarlo.

TURNKEYGNU / LINUX

Controla tu infraestructura sin empezar desde cero.

Explorar TurnKey
Acerca deDocumentaciónPreguntas frecuentesBlogGitHub
Libre y de código abiertoSeguro de forma predeterminadaListo para desplegar