Tengo estudiantes con Mac y Windows. Cada semestre, siempre hay muchas preguntas sobre cómo instalar la herramienta "X". Me gustaría crear una sola máquina virtual Linux (he probado VirtualBox) y distribuir la imagen. De esa manera, todas las herramientas están preinstaladas y todos usan Linux.
La pregunta es, dado que las personas tienen hardware gráfico diferente, ¿cómo funciona? ¿O funciona? Y si lo hace, ¿cómo lo distribuyo? ¿Tienen que instalar VirtualBox, luego cargar algunos archivos que les doy, o puedo crear un único instalador fácilmente?
virtualbox
Dov
fuente
fuente
Respuestas:
Me gusta la respuesta centrada en Vagrant de mperrin , pero como puede ver en los comentarios allí, mi opinión personal es "mantenerlo simple" y recomendaría una exportación simple de un VirtualBox OVA como lo configuró y se lo pasó a sus estudiantes .
Dicho esto, preguntas esto:
Virando hacia DevOps
No estoy muy seguro de lo que estás enseñando o haciendo o de lo que esperas que tus estudiantes salgan de todo este ejercicio, pero muchas de las preocupaciones que estás transmitiendo se desvían al ámbito de DevOps (desarrollo y operaciones) y es posible que quieras considerar mezclar ese concepto en sus enseñanzas.
Ahora no creo que deba transmitirse todo el concepto de DevOps, pero en mi opinión su creación de un VirtualBox OVA estable que luego pasa a los estudiantes y les pide que usen en las máquinas de su hogar / escuela definitivamente abriría una puerta a preguntas sobre cómo se debe tratar con diferentes configuraciones de hardware / sistema y cómo se puede adaptar.
Por lo tanto, mi recomendación para usted es recomendar encarecidamente que los estudiantes usen el VirtualBox OVA que configuraría, pero que también esté abierto a permitir que los estudiantes simplemente instalen herramientas por su cuenta. Mi instinto me dice que el 95%, o más, de los estudiantes usaría feliz y fácilmente el método VirtualBox OVA, pero no puede esperar que sea 100% perfecto.
Quizás al final debería tener algunos requisitos básicos para el uso de la herramienta del curso y ser flexible en su implementación.
Sea flexible con respecto a cómo se usan las herramientas
Por ejemplo, desarrollo mucho PHP y administro / DevOps de sistemas relacionados con el desarrollo PHP. Y como estoy en una Mac, prefiero usar MAMP para el desarrollo local. Pero trabajo con desarrolladores que usan Linux o Windows para su desarrollo. Diablos, a algunos les gusta usar Vagrant junto con VirtualBox para sus necesidades de desarrollo de LAMP. Y mi actitud es que no me importa cuál es su configuración básica del sistema operativo. Mientras su versión PHP esté en línea con las versiones que usan mis clientes, estoy bien con lo que sea.
Ocasionalmente, un desarrollador indicará que un error se debe a que, por ejemplo, el código que he probado en MAMP "no es el mismo" que lo que sería en una configuración de Linux LAMP. Y digo con 100% de confianza, que siempre he demostrado que el problema no es el sistema operativo base sino la codificación PHP en sí.
Entonces, todo esto es básicamente transmitir lo siguiente: simplemente sea flexible en su explicación del uso de una configuración de VirtualBox a los estudiantes y no espere que un sistema operativo alimente con cuchara simplemente termine todos los problemas. Podría eliminar el 95% de sus problemas del parque, pero ese 5% restante siempre tendrá que abordarse de alguna manera. Por lo tanto, mire una configuración de VirtualBox, y tal vez un script Vagrant, como una herramienta que se puede usar en un arsenal para facilitar la vida de algunos, pero no necesariamente la solución final para todos los problemas.
fuente
Deberías echar un vistazo a Vagrant .
Vagrant es compatible con VirtualBox y le permite:
Será mucho más fácil compartir un solo archivo de texto que una gran exportación de imagen de VirtualBox. Especialmente si quieres gestionar actualizaciones.
Una vez que VirtualBox y Vagrant están instalados, simplemente:
Será:
vagrant ssh
.Un solo Vagrantfile también puede manejar las especificidades de los hosts de Windows o Mac.
fuente
No importaría en absoluto: virtualbox (y bueno, cualquier otro software de virtualización) emula su propio adaptador de video (lógica cirrus IIRC). Si bien el archivo virtualbox tradicional se divide en diferentes archivos para la configuración y el almacenamiento, puede exportarlo a un archivo ovf como se sugiere. Si sus alumnos pueden instalar virtualbox o vmware, debería ser trivial. Si no, necesitan aprender.
Instalar virtualbox es bastante trivial (suponiendo que tenga soporte de hardware).
Hay algunas cosas que sugeriría: mantenga la VM en 32 bits (para que no tenga que preocuparse por el soporte de VT-X en el host), creando un tutorial para instalar virtualbox en los 2 sistemas operativos grandes (Windows es sencillo, Linux necesita algunos pasos adicionales) e importar el archivo OVF. Esto también significa que si los estudiantes quieren usar vmware player o similares, pueden hacerlo. Use NAT para la creación de redes a menos que necesite ejecutar un servidor accesible desde el exterior.
Si el rendimiento no es un problema, probablemente podría agrupar todo en una instancia de QEMU (se pueden configurar para que se ejecuten de forma autónoma) y secuencias de comandos de inicio adecuadas. Consideraría que este es el último recurso.
Me gustaría señalar que muchas universidades realmente proporcionan una máquina virtual con las herramientas adecuadas ( IIRC lo cumple con CS 50 y es un curso de edx disponible gratuitamente), por lo que podría valer la pena ver cómo lo hacen.
fuente
Como alternativa a la mayoría de la tecnología de virtualización, Linux (por ejemplo, Ubuntu) se puede instalar en una unidad de disco USB. Casi todas las computadoras arrancarán con una memoria USB, y la mayoría de los instaladores modernos detectarán tarjetas gráficas / tarjetas de red en el momento del arranque. Si instala un Ubuntu de 32 bits, se ejecutará en casi todo el hardware que las personas puedan tener en casa.
Son fáciles de distribuir y no requieren NINGÚN software adicional instalado. También se pueden mover fácilmente de una máquina a otra: desenchúfelo de la computadora de la escuela y guárdelo en su bolsillo. Cuando llegues a casa, solo conéctalo.
Se pueden obtener a un precio bastante bajo (¡me doy cuenta de que los presupuestos escolares son muy limitados!); dependiendo de qué aplicación se ejecute en la máquina, 4 gb deberían ser suficientes, quizás 8 gb.
fuente
Otra opción a considerar. Si realmente no le preocupa que tengan una GUI, puede usar algo como terminal.com .
Puede crear su propia instantánea pública y simplemente mantenerla disponible para sus alumnos. Es similar al enfoque de VirtualBox, pero en lugar de instalar las máquinas virtuales en su propia máquina, está en
la nube dela máquina de otra persona.Entonces todo lo que necesitan es un navegador web suficientemente moderno. Y si están interesados, pueden configurarlo para que puedan usar SSH / Putty / etc.
Según sus cifras, si los estudiantes usan la microinstancia (256 MB de RAM, un par de GB de espacio en disco), si pausan la VM cuando no la usan, les costaría $ 9 / año ejecutarla durante 8h / día. No puedo hablar por terminal.com, pero sospecho que si los contactó, podrían ofrecerle algún tipo de descuento educativo.
fuente