Documentação
Visão geral
O objetivo é fornecer uma forma simples em que um appliance pode ser personalizado e estendido.
Ajustes de exemplo
- Ajustando um arquivo de configuração
- Adicionando arquivos de dados
- Adicionar um pacote
- Criando um appliance novo em uma appliance genérica, como Core, LAMP, Rails, etc.
Objectivos de concepção
- Mecanismo bem projetado (simples, genérico e poderoso)
- Muito simples, tecnicamente, para reduzir os obstáculos à entrada
- Incentive os desenvolvedores a publicarem seus patches facilmente
- Incorpore bons desenvolvimentos a montante para TurnKey appliances
- Estabelecer um ecossistema de patches em código aberto
- Satisfação longa cauda de necessidades especiais
Utilização
Aplicando um patch a uma imagem appliance ISO (a imagem remendada será chamada de imagem patched.iso)
tklpatch image.iso patch.tar.gz
Aplicando um patch para alterar uma instância appliance instalada (de dentro do appliance):
Techado: O sistema em execução deve ser configurado de acordo com o estado esperado do tklpatch, a menos que o patch gere discrepâncias (por exemplo, servidores em execução, senhas, etc.)
tklpatch-apply / patch.tar.gz
Olá, exemplo mundial
- Baixar qualquer TurnKey appliance (por exemplo, TurnKey Core)
- Gerar e aplicar o exemplo de patch:
tklpatch-example helloworld tklpatch path/to/turnkey-core.iso helloworld - Ajustar e personalizar o modelo de patch de exemplo para atender às suas necessidades.
Sintaxe de comando
O TKLpatch foi desenhado na tradição Unix como uma coleção modular de sub- scripts simples. O comando tklpatch em si é apenas o script de alto nível de topo, que chama:
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.
Anatomia de um sistema transdérmico
Um patch é um diretório (que pode ser empacotado como um tarball gzipped) que pode conter qualquer um dos seguintes arquivos e diretórios:
patch/
debs/ # custom debian packages (installed with dpkg -i *.deb)
overlay/ # overlay applied to root filesystem
conf # configuration script to execute in chroot (rootfs)
Além disso, patch/ pode conter uma pasta/ patches, que pode conter patches aninhados (não embalados ou embalados como uma bola de tarzipped). Os patches aninhados serão instalados na ordem alfanumérica de seus nomes anterior no sistema que os contém (ativando o sistema de correcção do sistema).
patch1/
patches/
patch2/
patch3.tar.gz
patch4.tar.gz
patches/
patch5/
Os patches aninhados facilitam o design modular, pois as mudanças não precisam ser agrupadas.