Documentação
Aplicando um sistema (tutorial)
Terminologia
Pré-requisitos
Instalar o TKLPatch
Transferir o patch
Aplicar um sistema
Utilização mais avançada
Aplicando um patch da fonte GitHub
Aplicando um patch a um modelo OVZ (em vez de ISO)
Terminologia
No uso típico (por exemplo, nos fóruns) "TKLPatch" pode significar uma de duas coisas:
- O nome do script que você usa para aplicar (ou desenvolver) patches.
- A coisa que é aplicada a um ISO ou rodando appliance para personalizar um appliance.
Pré-requisitos
Vais querer começar por... instalar um sistema TurnKey. Qualquer appliance fará mas uma instalação fresca de TurnKey Core é recomendada.
Teoricamente, você pode usar TKLPatch em qualquer distribuição Linux, mas não é tão fácil de instalar e não foi bem testado. Às vezes, as coisas quebram.
Instalar o TKLPatch
TurnKey permite que você instale tklpatch através do sistema de gerenciamento de pacotes:
apt-get update apt-get install tklpatch
Transferir o patch
Normalmente os patches serão anexados como arquivos compactados ao tópico anunciando um novo TKLPatch no Fórum geral. Você pode baixar este arquivo de dentro de um appliance usando wget:
wget /files/...
Aplicar um sistema
Normalmente, um patch é desenhado para ser aplicado a um appliance específico (por exemplo, TurnKey LAMP). Você precisará baixar o ISO para este appliance.
Você então tem duas opções:
- Correcção do ISO: isto personaliza o ISO para criar um novo ISO "patched" que você pode então instalar como um appliance. Esta é a maneira recomendada e mais bem testada de usar TKLPatch.
tklpatch example-appliance.iso example-patch.tar.gz
- Instale o ISO e aplique o patch no sistema de execução a partir de dentro: isso personaliza o sistema de execução em tempo real. Você precisará instalar tklpatch dentro do sistema em execução (não recomendado, mas possível - dependendo do patch, as coisas podem quebrar).
tklpatch-apply / example-patch.tar.gz
Nota para patch atrás de um proxy: Se você estiver por trás de um proxy, os patches podem não se aplicar corretamente (devido a uma incapacidade de baixar de dentro do chroot). Para escrever em torno disto, você precisará extrair o patch e editar o arquivo conf para incluir
export http_proxy=http://yourproxy:yourport/etc...
Utilização mais avançada
Aplicando um patch da fonte GitHub
Ao invés de ser um arquivo tar.gz agradável para download a partir do relevante post do fórum TKL, alguns patches podem ser hospedados no GitHub e/ou ter versões de desenvolvimento mais recentes hospedadas no GitHub. Estes não são muito difíceis de usar, mas podem parecer inicialmente assustadores para os não iniciados. Aqui estão os passos.
- Instale o TKLPatch como acima e cd para sua pasta pessoal
cd ~
- Clone o repo GitHub relevante. Este endereço pode ser obtido da página GitHub relevante (se o patch estiver hospedado no GitHub, haverá um link no post do fórum de patch). No seu navegador, a página GitHub deve ser algo como github.com/exemplo-usuário/exemplo-patch. O endereço de repo git real deve ser algo como git: / /github.com/example-user/example-patch.git então vá em frente e clone o repo assim:
git clone git://github.com/example-user/example-patch.git
Isto irá criar uma nova pasta na sua casa chamada exemplo-patch (ou seja, o nome do patch) e o patch real será uma subpasta disso. Você precisará saber o nome desta subpasta. Esta informação estará na página GitHub, ou você poderá navegar na pasta local em si.
- O mesmo que para um patch normal (acima), você pode aplicar um ISO (1 - abaixo) ou diretamente no sistema instalado (2 - abaixo - geralmente não é aconselhável, mas teoricamente possível - YMMV). Então armado com o nome da sub-pasta dentro do repo GitHub você acabou de clonar e assumindo que você está de volta em sua pasta pessoal ('~') (e se usando o método 1, você tem o relevante O patch do ISO baixado lá também) é tão simples quanto:
tklpatch example-appliance.iso example-patch/subfolder
OU
tklpatch-apply / example-patch/subfolder
Aplicando um patch a um modelo OVZ (em vez de ISO)
Idealmente, TKLPatch poderia ser estendido para incluir outros formatos de imagem como alvos para patching (ou seja, não apenas ISOs). Atualmente, isso não é o caso, embora. Enquanto isso, é relativamente fácil de corrigir um modelo OVZ e o processo é um pouco semelhante ao acima. Aplicar o patch no modelo em execução é por normal (acima) - isto é aplicar um patch em um modelo antes do lançamento.
Todos os passos anteriores são iguais aos anteriores, exceto a aplicação do patch no modelo. Obviamente, você precisará do modelo (e patch) relevante baixado para sua pasta de trabalho. Então desfaça o modelo, aplique o patch e retará-lo. Assim:
mkdir template-temp-folder tar xfz tkl-ovz.template.tar.gz -C template-temp-folder/ tklpatch-apply template-temp-folder/ tklpatch.tar.gz #or tklpatch-dir/ cd template-temp-folder tar cfz template-patched.tar.gz *
Se tudo correr bem agora você tem um modelo OVZ remetido (template-patched.tar.gz)