GNU/Linux >> Linux Esercitazione >  >> Linux

Creazione di una VM Ubuntu da distribuire

Sebbene questa domanda sia in qualche modo basata sull'opinione pubblica:

Sì, questa procedura è praticabile:credo che realizzerebbe ciò che stai cercando ed è qualcosa che ho fatto in passato con altre distribuzioni Linux.

L'unica vera trappola riguarda la spaziatura del disco ... assicurati che le macchine dei tuoi studenti abbiano spazio su disco sufficiente per gestire le dimensioni del disco virtuale. Inoltre, assicurati di conservare una copia offline su almeno una macchina in modo da poter utilizzare il disco modello/di riferimento per ricreare rapidamente un disco quando uno studente interrompe la propria macchina.

Lo svantaggio di un disco dinamico è che il sistema operativo host deve continuare ad allocare sempre più spazio su disco man mano che la VM cresce con dati/aggiornamenti. Ciò ha un sovraccarico di prestazioni che a volte può essere un mal di testa, specialmente se si esegue su una VM a bassa potenza (la potenza della macchina host meno la potenza utilizzata per espandere un disco tende a ritardare un po 'le VM). quindi non portabile (non tutte le macchine nel tuo laboratorio potrebbero avere più di 100 GB una volta che uno studente ha pasticciato con la sua VM)

I componenti aggiuntivi per gli ospiti non sono specifici per la macchina ... sono praticamente un set di driver. Quando importi la VM in un nuovo host, i driver della VM rileveranno e modificheranno il tuo hardware in modo che funzioni sul nuovo host.

Creazione utente elegante:non sono sicuro, forse uno script che viene eseguito al primo avvio e chiede a un utente di creare un nuovo account prima che lo script si autodistrugga? Scaverò un po' e ti ricontatterò quando avrò 5 minuti liberi.

Spero che questo aiuti almeno in parte.


Rispondendo esattamente alla tua domanda, se devi personalizzare la VM e consegnare loro una VM VirtualBox consegnabile, ti consiglio di utilizzare Packer per preconfezionare la VM con tutte le dipendenze richieste. È costruito proprio per questo scopo e ti consente di creare un'immagine da un ISO, eseguire qualsiasi provisioning desideri su quell'immagine e quindi creare un'immagine VirtualBox VM consegnabile. Questo è un bene anche per te perché documenta esattamente ciò che è stato fatto al deliverable nel caso tu voglia riprodurlo/aggiungervi qualcosa. Inoltre, puoi archiviare il progetto in un sistema di controllo del codice sorgente e apportare modifiche. Ecco un esempio di ciò che viene fatto per iniziare.

Tuttavia, se desideri che funzionino rapidamente, ti consiglio di utilizzare Vagrant e di distribuire ai tuoi studenti un file Vagrant che esegue il provisioning desiderato richiesto su un'immagine Ubuntu standard. Questo ha diversi vantaggi:

  • Vagrant lavora fuori dagli schemi con VirtualBox e gestirà tutte le parti difficili per gli studenti come l'impostazione di cartelle condivise in modo che possano copiare facilmente i file tra la VM e la macchina host, configurare la rete in modo da consentire l'accesso a Internet al box per loro, ecc. Questo ti fa anche risparmiare il tempo di dover documentare/debuggare i problemi di installazione di VirtualBox per loro.
  • Un Vagrantfile è molto più piccolo di una VM consegnabile. Se vuoi modificare/aggiungere qualcosa alla VM a metà del corso, non devi ricostruire una nuova VM, basta dare loro un Vagrantfile aggiornato.
  • Se incasinano qualcosa oltre la loro capacità di ripararlo, possono distruggere/ridistribuire di nuovo la VM senza dolore
  • Un Vagrantfile mostrerà ai tuoi studenti esattamente cosa è stato fatto alla VM in modo che quando arrivano al punto in cui capiscono abbastanza, possono vedere cosa sta succedendo sotto il cofano e possibilmente imparare anche da quello.

Ecco un esempio di Vagrantfile che mostra come eseguire il provisioning su un'immagine Ubuntu 14.04.


Perfettamente fattibile. L'alternativa sarebbe Vagrant, Puppet, Chef o qualcosa di simile per costruire le VM da zero, ma è molto lavoro da configurare.

Il team di sviluppo su uno dei miei siti fa lo stesso per rendere rapidamente operativi i nuovi sviluppatori.
1 account preimpostato (con diritti sudo) nell'immagine e un breve documento di istruzioni con i passaggi che devono eseguire per creare il proprio account personale.

Nota:molto probabilmente è necessario l'accesso alla rete/a Internet all'interno della VM. Questo può essere collegato a ponte o NAT sull'host. Indipendentemente da quale scegli, dovrai istruire i tuoi studenti su come configurare il lato host di questo. Basta configurare la scheda NIC all'interno della VM come dispositivo DHCP. Questo è un punto di partenza sicuro per la maggior parte delle configurazioni, anche se successivamente l'utente dovrà configurare manualmente un indirizzo IP statico.
Mettere un indirizzo IP statico nella VM è davvero un problema. È vincolato a essere già in uso da un'altra VM in linea sulla stessa LAN...


Linux
  1. Come controllare lo spazio su disco su Ubuntu 20.04

  2. Come controllare lo spazio su disco in Ubuntu 20.04 e 20.10?

  3. Esegui la finestra mobile nel disco live di Ubuntu

  4. errore di input/output di ubuntu

  5. Rendi la copia disco/disco più lenta

5 modi per controllare lo spazio su disco su Ubuntu

Come liberare spazio su disco in Ubuntu 20.04 LTS

Come risolvere l'errore di montaggio del disco in Ubuntu

Installare Ubuntu su un mini PC da 3,5 GB?

Ubuntu 19.04:Per iniziare

Come controllare la dimensione totale del disco rigido nel terminale Ubuntu