Ir para o conteúdo
TURNKEYGNU / LINUX
AplicativosDocumentaçãoBlogCapturas de telaGitHubTurnKey Hub
文Português
EnglishEspañol中文日本語PortuguêsDeutsch
Principal/Como construir um TurnKey appliance ISO a partir da fonte usando TKLDev

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
      • Especificações e configurações recomendadas da VM
      • Baixar
    • Instalar na VM
  • Trabalhando com TKLDev
    • Ligando- se a TKLDev VM
      • Linux e Mac
      • Janelas
    • Compilar o seu primeiro ISO
    • Obter o ISO fora de sua VM TKLDev
    • Compilar outro ISO
    • Testando seu ISO
    • Se uma compilação falhar
  • Dicas
    • Manter o comum actualizado
    • Completação da aba
    • Mover em torno do sistema de arquivos
    • Construindo múltiplos appliances
    • Erro conhecido: Instalar não reinicia

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.

TURNKEYGNU / LINUX

Controle sua infraestrutura sem começar do zero.

Explorar o TurnKey
SobreDocumentaçãoPerguntas frequentesBlogGitHub
Livre e de código abertoSeguro por padrãoPronto para implantar