Deseja distribuir a máquina virtual Linux para os alunos trabalharem

24

Eu tenho alunos executando Mac e Windows. Todo semestre, sempre há muitas perguntas sobre como instalar a ferramenta “X”. Eu gostaria de criar uma única máquina virtual Linux (eu tentei o VirtualBox) e distribuir a imagem. Dessa forma, todas as ferramentas são pré-instaladas e todos usam o Linux.

A questão é, dado que as pessoas têm hardware gráfico diferente, como isso funciona? Ou isso funciona? E se isso acontecer, como eu distribuo? Eles precisam instalar o VirtualBox, depois carregar algum arquivo que eu lhes forneço, ou posso criar um único instalador facilmente?

    
por Dov 30.08.2015 / 19:24

5 respostas

24

Eu gosto da resposta centrada no Vagrant de mperrin , mas como você pode ver pelos comentários lá, minha opinião pessoal é “Simplifique” e eu recomendaria uma simples exportação de um VirtualBox OVA como você configurou e passou para os seus alunos.

Dito isto, você pergunta isto:

The question is, given people have different graphics hardware, how does this work? Or does it work? And if it does, how do I distribute it? Do they have to install VirtualBox, then load some file I give them, or can I create a single installer easily?

Entrando no DevOps

Eu não tenho muita certeza do que você está ensinando ou fazendo ou o que você espera que seus alunos saiam de todo este exercício, mas muitas das preocupações que você está veiculando estão no reino de DevOps (desenvolvimento e operações) e você pode querer considerar a mistura desse conceito em seus ensinamentos.

Agora eu não acho que todo o conceito de DevOps precisa ser transmitido, mas em minha mente a criação de um VirtualBox OVA estável que você passa para os alunos e pede que eles usem em suas máquinas de casa / escola definitivamente abriria uma porta para perguntas sobre como se deve lidar com diferentes configurações de hardware / sistema e como se pode adaptar.

Portanto, minha recomendação para você é: recomendo enfaticamente que os alunos usem o OVA do VirtualBox que você configuraria, mas também esteja aberto para permitir que os alunos simplesmente instalem ferramentas por conta própria. Meu instinto me diz que 95% - ou mais - dos alunos usariam com alegria e facilidade o método VirtualBox OVA, mas você não pode esperar que ele seja 100% perfeito.

Talvez, no final, você deva ter apenas alguns requisitos básicos para o uso da ferramenta do curso e ser flexível em sua implementação.

Seja flexível em relação a como as ferramentas são usadas

Por exemplo, eu faço muito desenvolvimento PHP e administração de sistemas / DevOps relacionados ao desenvolvimento de PHP. E como estou em um Mac, prefiro usar MAMP para desenvolvimento local. Mas eu trabalho com desenvolvedores que usam Linux ou Windows para o desenvolvimento deles. Heck, alguns gostam de usar Vagrant juntamente com o VirtualBox para as suas necessidades de desenvolvimento LAMP. E minha atitude é que eu não me importo com a configuração básica do sistema operacional. Contanto que a versão do PHP esteja alinhada com as versões que meus clientes usam, estou bem com o que quer que seja.

Ocasionalmente, um desenvolvedor afirma que um bug é causado porque, por exemplo, o código que testei no MAMP não é igual ao que estaria em uma configuração do Linux LAMP. E eu digo com 100% de confiança, que eu sempre provei que o problema não é o sistema operacional básico, mas sim a própria codificação PHP.

Assim, todo esse desentendimento é basicamente transmitir o seguinte: Apenas seja flexível em sua explicação sobre o uso de uma configuração do VirtualBox para os alunos e não espere que um SO seja alimentado por uma colher para simplesmente acabar com todos os problemas. Ele pode derrubar 95% dos seus problemas fora do parque, mas os 5% restantes sempre terão que ser resolvidos de alguma forma. Então olhe para uma configuração do VirtualBox - e talvez um script Vagrant - como uma ferramenta que pode ser usada em um arsenal para facilitar a vida de alguns, mas não necessariamente a solução final para todos os problemas.

    
por 31.08.2015 / 00:17
18

Você deve dar uma olhada no Vagrant .

O Vagrant suporta o VirtualBox e permite que você:

Create and configure lightweight, reproducible, and portable development environments.

Será muito mais fácil compartilhar um único ou vários arquivos de texto do que uma grande exportação de imagem do VirtualBox. Especialmente se você quiser gerenciar atualizações.

Uma vez que o VirtualBox e o Vagrant estão instalados, é simples:

vagrant up

Um único Vagrantfile também pode lidar com especificidades de hosts Windows ou Mac.

    
por 30.08.2015 / 23:25
8

Não importaria nada - o virtualbox (e bem todos os outros software de virtualização) emula seu próprio adaptador de vídeo (lógica cirrus IIRC). Enquanto o arquivo virtualbox tradicional é dividido em arquivos diferentes para configurações e armazenamento, você pode exportá-lo para um arquivo ovf conforme sugerido. Se seus alunos podem instalar o VirtualBox ou VMware, ele deve ser trivial. Se não, eles precisam aprender.

Instalar o VirtualBox é bastante trivial (supondo que você tenha suporte de hardware).

Há algumas coisas que eu sugiro - manter a VM em 32 bits (para que você não precise se preocupar com o suporte do VT-X no host), criando um howto para instalar o VirtualBox nos dois grandes sistemas operacionais (janelas é simples, o linux precisa de alguns passos adicionais) e importar o arquivo OVF. Isso também significa que os alunos querem usar o vmware player ou o que puderem. Use NAT para redes, a menos que você precise executar um servidor acessível a partir do exterior.

Se o desempenho não for , provavelmente você poderia agrupar tudo em uma instância do QEMU (eles podem ser configurados para serem executados de forma independente) e scripts de inicialização adequados. Eu consideraria isso um recurso último .

Eu notaria que muitas universidades realmente fornecem uma VM com ferramentas adequadas ( IIRC stanfords CS 50 d faz isso, e é um curso disponível gratuitamente na edx), então vale a pena observar como eles fazem isso.

    
por 31.08.2015 / 02:33
3

Como uma alternativa à maioria das tecnologias de virtualização, o Linux (por exemplo, o Ubuntu) pode ser instalado em um thumbdrive. Praticamente todos os computadores inicializam um thumbdrive, e os instaladores mais modernos detectam placas gráficas / placas de rede no momento da inicialização. Se você instalar um Ubuntu de 32 bits, ele será executado em quase todo o hardware que as pessoas provavelmente terão em casa.

Eles são fáceis de distribuir e não requerem QUALQUER software instalado adicionalmente. Eles também podem ser facilmente movidos de uma máquina para outra - desconecte-se do computador da escola e coloque-o no bolso. Quando chegar em casa, basta ligá-lo.

Eles podem ter um preço razoavelmente baixo (percebo que os orçamentos escolares são muito limitados!); dependendo de qual aplicativo seria executado na máquina, 4gb deveria ser suficiente, talvez 8gb.

    
por 31.08.2015 / 02:13
1

Outra opção a considerar. Se você não está realmente preocupado com a possibilidade de ter uma GUI, você pode usar algo como terminal.com .

Você pode criar seu próprio instantâneo público e mantê-lo disponível para seus alunos. É semelhante à abordagem do VirtualBox, mas em vez de instalar as VMs em sua própria máquina, ele está na máquina da outra pessoa.

Em seguida, todos eles precisam é um navegador da Web suficientemente moderno. E, se estiverem interessados, podem configurá-lo para que possam usar SSH / Putty / etc.

De acordo com os números, se os alunos estiverem usando a micro instância (256 MB de RAM, alguns GB de espaço em disco), se pausarem a VM quando não a estiverem usando, ela custará US $ 9 / ano por 8h / dia. Não posso falar pelo terminal.com, mas suspeito que, se você os contatou, eles poderão oferecer algum desconto educacional.

    
por 31.08.2015 / 11:18

Tags