GNU/Linux >> Tutoriales Linux >  >> Linux

Creación de una VM de Ubuntu para distribuir

Si bien esta pregunta es algo basada en opiniones hasta cierto punto:

Sí, este procedimiento es viable. Creo que lograría lo que está buscando y es algo que he hecho en el pasado con otras distribuciones de Linux.

El único escollo real es el espacio en disco... asegúrese de que las máquinas de sus estudiantes tengan suficiente espacio en disco para manejar el tamaño del disco virtual. Además, asegúrese de mantener una copia fuera de línea en al menos una máquina para que pueda usar la plantilla/disco de referencia para recrear rápidamente un disco cuando un estudiante mata su máquina.

Las desventajas de un disco dinámico es que el sistema operativo host tiene que seguir asignando más y más espacio en disco a medida que la VM crece con datos/actualizaciones. Esto tiene una sobrecarga de rendimiento que a veces puede ser un dolor de cabeza, especialmente si se está ejecutando en una VM de baja potencia (la potencia de la máquina host menos la energía que se usa para expandir un disco tiende a hacer que las VM se retrasen un poco). luego no portátil (no todas las máquinas en su laboratorio pueden tener más de 100 GB una vez que un estudiante se ha metido con su VM)

Los complementos invitados no son específicos de la máquina... son más o menos un conjunto de controladores. Cuando importa la VM a un nuevo host, los controladores de la VM detectarán y modificarán su hardware para que funcione en el nuevo host.

Creación de usuario elegante:no estoy seguro, ¿tal vez un script que se ejecuta en el primer lanzamiento y le pide al usuario que cree una nueva cuenta antes de que el script se autodestruya? Investigaré un poco y te responderé cuando tenga 5 minutos libres.

Espero que esto ayude, al menos en parte.


Respondiendo a su pregunta exactamente, si necesita adaptar la VM y entregarles una VM VirtualBox entregable, recomiendo usar Packer para preempaquetar la VM con todas las dependencias requeridas. Está diseñado solo para este propósito y le permite activar una imagen desde un ISO, realizar cualquier aprovisionamiento que desee contra esa imagen y luego crea una imagen de máquina virtual VirtualBox entregable. Esto también es bueno para usted porque documenta exactamente lo que se hizo con el entregable en caso de que alguna vez quiera reproducirlo o agregarle algo. Además, puede registrar el proyecto en un sistema de control de código fuente y realizar cambios. Aquí hay un ejemplo de eso que se está haciendo para que pueda comenzar.

Sin embargo, si desea que se ejecuten rápidamente, le recomiendo usar Vagrant y distribuir a sus alumnos un Vagrantfile que realice el aprovisionamiento deseado que necesita en una imagen estándar de Ubuntu. Esto tiene varias ventajas:

  • Vagrant funciona de forma inmediata con VirtualBox y se encargará de todas las partes difíciles para los estudiantes, como la configuración de carpetas compartidas para que puedan copiar archivos fácilmente entre la VM y la máquina host, la configuración de redes para permitir el acceso a Internet a la box para ellos, etc. Esto también le ahorra el tiempo de tener que documentar/depurar los problemas de configuración de VirtualBox para ellos.
  • Un Vagrantfile es mucho más pequeño que una máquina virtual entregable. Si desea cambiar/agregar algo a la VM a la mitad del curso, no tiene que reconstruir una nueva VM, solo proporcione un Vagrantfile actualizado.
  • Si estropean algo más allá de su capacidad para repararlo, pueden destruir o volver a implementar la VM sin problemas
  • Un archivo Vagrantfile les mostrará a sus alumnos exactamente lo que se hizo en la máquina virtual para que, cuando lleguen al punto en que entiendan lo suficiente, puedan ver lo que sucede debajo del capó y posiblemente también aprender de eso.

Aquí hay un archivo Vagrant de ejemplo que muestra cómo hacer algo de aprovisionamiento en una imagen de Ubuntu 14.04.


Perfectamente factible. La alternativa sería Vagrant, Puppet, Chef o algo similar para construir las máquinas virtuales desde cero, pero eso es mucho trabajo de configuración.

El equipo de desarrollo de uno de mis sitios hace lo mismo para que los nuevos desarrolladores se pongan en marcha rápidamente.
1 cuenta preestablecida (con derechos de sudo) en la imagen y un breve documento de instrucciones con los pasos que deben seguir para crear su cuenta personal.

Tenga en cuenta:lo más probable es que necesite acceso a la red/internet dentro de la máquina virtual. Eso puede conectarse en puente o NAT en el host. Independientemente de cuál elija, deberá instruir a sus alumnos sobre cómo configurar el lado del host de este. Simplemente configure la NIC dentro de la máquina virtual como dispositivo DHCP. Ese es un punto de partida seguro para la mayoría de las configuraciones, incluso si el usuario luego debe configurar manualmente una dirección IP estática.
Poner una dirección IP estática en la VM es realmente un problema. Está obligado a estar en uso por otra máquina virtual que se conecta en la misma LAN...


Linux
  1. Cómo verificar el espacio en disco en Ubuntu 20.04

  2. Ubuntu – ¿Crear archivos de unidad en Ubuntu 16.04?

  3. Linux:¿hace que la copia de disco/disco sea más lenta?

  4. Etiqueta de disco no reconocida al crear una partición

  5. error de entrada/salida de ubuntu

5 formas de comprobar el espacio en disco en Ubuntu

Cómo liberar espacio en disco en Ubuntu 20.04 LTS

Cómo resolver el error de montaje del disco en Ubuntu

¿Instalar Ubuntu en una mini PC de 3.5 gb?

Ubuntu 19.04:Primeros pasos

Cómo verificar el tamaño total del disco duro en la terminal de Ubuntu