Documentação
Construir um novo appliance com TKLDev
A TKLDev docs são ótimos, mas eles também são uma grande leitura. O objetivo desta página é criar uma visão geral simples de criar um novo appliance.
Isto pressupõe que você leu através do Documentos TKLDev, ter uma instância de TKLDev em execução e ter confirmado que tudo funciona como deveria por construindo um Núcleo ISO.
Pré-requisitos
O uso da linha de comando será necessário, mas de especial relevância são:
- apt; por exemplo, apt- get; apt- cache etc - essencial para instalar pacotes
- git; p. ex., git clone; git commit; git push - essencial para trabalhar com o controle de versão git
- GitHub - Obtenha uma conta GitHub gratuita Se já não tiveres um.
- Se você é novo para git/GitHub, configure seu TKLDev para GitHub:
- Configurar git no seu servidor TKLDev por definindo um nome de usuário e e- mail (utilize o mesmo email que a sua conta GitHub).
- Então você tem 2 opções para autenticação; as URLs que você usa para seu repo GitHub dependerá de qual escolha você faz:
- SSH A minha preferência e recomendação. gerar um keypair SSH (ignorar outras secções dessa página) & adicionar a sua chave pública ao GitHub); Ou
- HTTPS - Isto também deve funcionar, mas eu já usei, por isso, estás um pouco por tua conta.
Vai!
Este processo funciona para desenvolver um novo applianceEmbora não seja o único fluxo de trabalho.
git clone https://github.com/turnkeylinux-apps/<base-appliance-name>.git mv <base-appliance-name> <new-appliance-name> cd <new-appliance-name> rm -rf .git git-init
- Investigação seu software e instalá-lo em uma instalação limpa de o appliance que é o melhor ponto de partida. Faça funcionar como deveria, enquanto documentando cuidadosamente cada passo. Eu faço isso em uma VM e minha documentação é geralmente bash comandos.
- Decida um nome para o seu novo applianceMuitas vezes isso será evidente; outras vezes não tanto...
- No seu TKLDev appliance, clone a base appliance (que você decidiu no passo 1) e renomeie o diretório resultante (de acordo com sua decisão no passo 2) para o seu novo nome appliance (sem espaços). Então (re)inicialize-o como um repo git.
- Criar um novo repo no GitHub nomeou o mesmo que o seu novo nome appliance; ou seja, o nome do novo repo.
- Sincronize seu repositório local e seu GitHub (remote) um (e commit).
- Note que os pacotes que instalam a partir dos acordos de recompra padrão (ou seja, TurnKey e Debian stable repos) devem ser adicionados ao plano; por exemplo. Plano LAMP (e commit)
- Crie um script de instalação a partir da documentação feita no passo 1 e coloque-o em um script no diretório conf.d; por exemplo. Conf.d. principal do LAMP (e commit).
- E/ou arquivos podem ser adicionados ao diretório de sobreposição; por exemplo. Sobreposição LAMP (e commit).
- Atualização me readme (por exemplo LAMP README.rst com informações relevantes para o seu novo appliance. Você pode usar o existente como um modelo, mas você provavelmente vai querer fazer uma revisão importante.
- Atualizar o changelog (por exemplo: Changelog LAMP. Novamente, você pode querer usar alguns dos que está lá como um modelo (embora se livrar de todas as informações antigas, como este será o primeiro lançamento de um novo appliance). Se você quiser acompanhar o progresso do seu trabalho não use o changelog, criar outro arquivo para isso.
- Você pode usar a seção de problemas do seu repo GitHub para bugs e recursos planejados, se quiser. Isto funciona muito bem se várias pessoas estiverem trabalhando juntas.
- Desenvolver o seu ganchos de init. Todos os fatores únicos, como senhas, devem ser gerados automaticamente (por exemplo, aplicação MySQL senha de usuário) ou interativo (por exemplo, uma senha de usuário). Note que inithooks interativo requer a capacidade de ser preseed.
- Inicialmente faço root.patched', em seguida, 'fab-chroot build/root.patched' para testar e ajustar. Continue trabalhando no appliance até que ele compila sem acompanhamento e sem erro. e funciona como esperado na caixa de areia (comprometendo-se ao fazer alterações).
- Compilação final ('make') e teste ISO (em uma VM).
- Celebrar!
Sugiro que se comprometam muitas vezes. Então é fácil ver o que foi feito e em que ordem. Você pode limpar o histórico git mais tarde, se quiser. Normalmente eu só push para GitHub de vez em quando (uma vez que uma sessão). Embora às vezes usando o GitHub WebUI para visualizar seu código pode ser uma maneira útil de ver tudo em um só lugar.