Documentação
Como construir um TurnKey appliance ISO a partir da fonte usando TKLDev
Eu originalmente escrevi isso como um post do blog, mas eu adicionei aqui com links de conteúdo para conveniência. Isso também foi atualizado desde o post original do blog.
Índice
Configuração do TKLDev
Criar uma VM
Sugiro que você instale TKLDev em uma máquina virtual. Estou assumindo que você vai usar algo como VirtualBox ou um produto VMware. Como eu estou mais familiarizado com VBox eu usarei sua terminologia. VMware produtos devem todos funcionar bem embora.
Se você instalar a partir da VM (OVA) construir sua VM será automaticamente alocado recursos. Os recursos padrão são um mínimo nu, então ajuste-os conforme apropriado para uma melhor experiência.
Especificações e configurações recomendadas da VM:
- A maioria appliances vai construir bem com menos.
- 2- 5% de appliance pode requerer até 2x RAM.
- Mais armazenamento pode ser necessário para construir vários appliances sem remover product.iso cada vez.
vRAM: 1024MB (mais é melhor)
núcleos vCPU: 2 (mais é melhor)
vHDD: 10GB min (mais é melhor)
Tipo de sistema operacional: x64 Debian (qualquer Linux de 64 bits deve funcionar)
Rede: Conexão (ver docs. para mais informações sobre isso)
Nota: Poderá necessitar de seleccionar 'PAE' nas configurações do VBox; não tenho certeza do equivalente VMware.
Baixar
Baixe a última VM (OVA) ou ISO a partir do Página TKLDev appliance
Instalar na VM
Estas são instruções passo a passo no procedimento de instalação do TurnKey. Infelizmente, faltam algumas imagens, mas você deve ter a ideia. A compilação VM (OVA) é ligeiramente diferente, uma vez que já está "pré-instalada". Os utilizadores OVA podem saltar directamente para passo 8.
01) «Instalar no disco rígido»: <Enter>
02) 'Ok': <Enter> (ou )<Tab> para mover entre opções; <Enter> para selecionar)
03) 'Sim' (<Tab> para mover entre opções; <Enter> para selecionar)
04) Espere enquanto copia dados...
05) 'Sim' (<Tab> para mover entre opções; <Enter> para selecionar) screenshot faltando
06) 'Sim' (<Tab> para mover entre opções; <Enter> para selecionar) screenshot faltando
07) BUG: Em ocasiões o sistema pode não completar o reinício automaticamente (pode ficar preso no 'Desligar alvo em 'Reached.'). Se isso acontecer, você precisará reiniciar manualmente a VM
08) Permitir iniciar, em seguida, digite a senha de usuário desejada para 'root' (Linux admin); <Enter>
09) Espere enquanto se configura (isso vai demorar um pouco)...
10) 'Skip' (<Tab> para mover entre opções; <Enter> para selecionar)
11) «Instalar» (<Enter>)
Trabalhando com TKLDev
Ligando- se a TKLDev VM
Eu recomendo que você use uma sessão SSH para se conectar à VM. Você também tem a opção de usar a janela VM, mas IMO é muito melhor apenas usar uma sessão SSH. Além disso, como um usuário Linux, eu prefiro apenas uma janela de terminal nativa que apenas funciona como eu espero que ele...
Linux e Mac
No Linux e Mac eu recomendo usar o ssh comando (fornecido pelo OpenSSH). Eu não tenho certeza sobre Mac, mas eu espero que a maioria Linuxes (Linui?) teria instalado por padrão.
Abra o seu emulador de terminal da escolha e conecte-se assim:
ssh root@<ip-address>
Provavelmente perguntará se deseja adicionar a impressão digital da tecla ECDSA (que pode ser usada). Depois, indique a sua senha e carregue em <Enter>. Por isso, para mim, uma primeira sessão parece com esta:
Por exemplo, para mim seria:
# ssh root@192.168.1.143 The authenticity of host '192.168.1.143 (192.168.1.143)' can't be established. ECDSA key fingerprint is ef:e4:65:dc:b0:a5:21:23:2d:c6:f4:81:3b:ea:1c:28. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.143' (ECDSA) to the list of known hosts. root@192.168.1.143's password:
Janelas
Vais precisar de algo como PuTTY para conectar ao seu servidor. Não tenho certeza sobre a configuração exata OTTOMH mas conecte-se a <ip-endereço> na porta 22. Então username 'root' e senha que você definir.
Nota: Ao contrário do Windows, o Linux não exibe nenhum caractere quando você digita sua senha, então não pense que há algo errado quando parece que anotar está acontecendo quando você Digite sua senha.
Compilar o seu primeiro ISO
Para demonstração (e para verificar tudo de novo funciona contra um alvo conhecido) vamos construir o 'Core' appliance (isso é o que todos os outros são construídos sobre).
Mudar a pasta para /turnkey/fab/products:
cd products
Clone o código de compilação 'Core' appliance:
git clone https://github.com/turnkeylinux-apps/core.git
Digite o diretório principal:
cd core
Fazer o ISO:
make
Quando isso estiver terminado, deverá ter produzido um ISO chamado 'product.iso'. Verifique para ver com 'ls':
ls build
Sugiro que o mude de nome agora. Isto é o que eu usaria para que produza um nome de arquivo com data-pasta no diretório /turnkey/fab/products:
mv build/product.iso ../$(basename $(pwd))_$(date --utc +%Y-%m-%d_%H-%MUTC).iso
Assumindo que tudo tenha corrido como deveria, isto deverá produzir um ficheiro semelhante a este (data e hora diferentes):
/turnkey/fab/products/core_2015-05-22_07-51UTC.iso
Agora você pode sair do ambiente de shell.
Obter o ISO fora de sua VM TKLDev
A maneira mais fácil de tirar o ISO é conectar-se à sua TKLDev VM via SFTP.
Para os amantes GUI eu recomendo Filezilla (um excelente cliente FTP da plataforma cruzada de código aberto). Para aqueles com uma preferência de terminal, você provavelmente vai querer sftp ou scp, mas você provavelmente já sabe disso! :)
Independentemente disso, qualquer aplicativo que suporte SFTP ou SCP deve ser ótimo (a maioria dos clientes FTP atualmente deve suportar SFTP). Nota: você precisa do SFTP; não do FTP simples, não do FTPS.
Conectar- se à sua VM (usando a & senha do utilizador IP e 'root'). Terá de indicar SFTP e/ou porta 22 (dependerá do seu cliente; o Filezilla está satisfeito com ambos ou com ambos).
Em seguida, navegue para /turnkey/fab/products/. Seu appliance, <appliance-name-&-datestamp>.iso deve estar lá, em seguida, basta baixá-lo...
Compilar outro ISO
Essencialmente, o processo é o mesmo que construir o Core appliance acima. A única diferença real é que você clona um repo git diferente para o /turnkey/fab/products. Você pode encontrar todos os acordos de recompra no GitHub Aqui ou cada página appliance tem um link para o repo nele ao lado de "TKLDEV SOURCE:". Página LAMP appliance há uma ligação para o seu Recuperação GitHub. Como regra geral, os acordos de recompra serão https://github.com/turnkeylinux-apps/<appliance-name>.git.
Então, para construir o LAMP appliance:
cd products git clone https://github.com/turnkeylinux-apps/lamp.git cd lamp make
Testando seu ISO
Para testar o seu ISO basta instalá-lo em uma nova VM como você fez com o próprio TKLDev (como por "Instalar para VM" instruções acima).
Qualquer bug que você experimentar, por favor, nos avise. Rastreador de Problemas é o lugar ideal, ou se você não tem certeza (se for um bug ou um PEBKAC erro) apenas postar abaixo.
Se uma compilação falhar
Como estamos em modo de desenvolvimento, há uma chance de que uma construção falhará. As construções falhando podem ser causadas por várias razões. Uma delas pode ser que o código esteja quebrado (quer precisa de atualização ou um novo bug foi introduzido devido a testes insuficientes). Outro pode ser a sua configuração de rede e / ou conexão à internet. Atualmente TKLDev requer uma conexão de internet ao vivo sólida. Às vezes (se for relacionado à internet) simplesmente re-execução make resolverá o problema.
Se você tem azar o suficiente para ter uma falha de construção, então por favor nos avise (especialmente se você tentar novamente e ele falhar continuamente). Você pode postar abaixo, iniciar um novo tópico ou apresentar um problema em nosso localizador. Idealmente é ótimo se você pode postar o stacktrace (as últimas ~20-30 linhas +/- do que está logado para a tela deve ser ótimo). Assim podemos sentir o que pode estar causando o erro sem precisar tentar reproduzi-lo imediatamente.
Se você tentar novamente a construção (por repetição make) e apenas obter o mesmo erro, em seguida, talvez tentar limpar os arquivos de compilação no repo antes de tentar uma terceira vez.
Também se você planeja construir outro appliance, uma compilação falhada pode interferir com ele. Então eu sugiro que você tenha o hábito de limpar construções falhadas. Se você está desenvolvendo (ou seja, quer tentar corrigir o código e nos ajudar) então há melhores maneiras de limpar, mas eu vou deixar isso para outro post do blog...
A maneira mais fácil de limpar uma construção quebrada é correr:
make clean
Se por alguma razão isso também falhar, então eu sugiro reiniciar e tentar novamente. Para reiniciar a partir da linha de comando:
reboot
Dicas
Manter o comum actualizado
Enquanto cada appliance tem seu próprio código de compilação individual (em seu repositório próprio), há também um código de compilação significativo que é compartilhado entre appliances. Por exemplo, a maioria dos appliances são construídos em cima de nossa LAMP appliance. Ter que manter todo esse código separadamente e individualmente parece um pouco bobo, então combinamos tanto código compartilhado quanto possível em um repo chamado frequentes.
O repo comum é auto configurado em TKLDev v14.0 (você teve que instalar manualmente o script para fazê-lo, ou cloná-lo manualmente em v13.0). Independentemente de ser um clone do repositório comum TurnKey GitHub. Isto significa que, a menos que você o atualize, ele está congelado no momento em que você configurar seu servidor TKLDev. Não se preocupe, é fácil de atualizar.
Em circunstâncias normais, o comum não é alterado com muita frequência. No entanto, atualmente estamos fazendo algum desenvolvimento pesado, por isso é uma boa idéia para ter certeza de que você tem uma versão atualizada do comum. Verificar o que é comum para uma atualização é muitas vezes uma boa ideia se você tiver uma compilação quebrada.
Para atualizar o comum, use este processo simples:
cd common git pull
A primeira linha deve levá-lo para /turnkey/fab/common e a segunda linha deve baixar qualquer alteração do GitHub e fundi-los com o código existente.
Completação da aba
Completação <Tab> está habilitado no TKLDev para salvar alguma digitação!
Mover em torno do sistema de arquivos
O TKLDev também tem alguns caminhos de ajuda predefinidos, por isso mover- se pelo sistema de ficheiros é mais rápido e fácil. Por exemplo:
cd products
Leva-o ao /turnkey/fab/products, não importa onde esteja.
cd core
vai levá-lo para /turnkey/fab/products/core
Construindo múltiplos appliances
Apenas um appliance pode ser construído de cada vez em TKLDev. Se você quiser construir vários ISOs ao mesmo tempo, você precisará de várias VMs TKLDev. Se você está apenas descobrindo isso agora, então em seu appliances falhou, execute
tornar limpo
Erro conhecido: Problemas intermitentes reiniciando após a instalação (deverá ser fixado)
Esta nota é histórica e não deve ocorrer com o lançamento atual. No entanto, vamos deixar isso aqui, só por precaução. Houve um erro onde, particularmente após a instalação; appliances rodando em uma VM seria pendurado em 'Reached target Shutdown.' em vez de desligar / reiniciar limpo. Na hipótese de que isto lhe aconteça, basta forçar um "desligar" ou "reboot"/"reset". Enquanto o appliance estiver exibindo 'Desligar alvo Treached.', então isso é completamente seguro e não vai causar qualquer corrupção.