24

У меня есть студенты под управлением Mac и Windows. Каждый семестр всегда есть много вопросов о том, как установить инструмент «X». Я хотел бы создать одну виртуальную машину Linux (я пробовал VirtualBox) и распространять образ. Таким образом, все инструменты предустановлены, и все используют Linux.

Вопрос в том, как люди работают с разным графическим оборудованием. Или это работает? И если это произойдет, как я могу распространять это? Нужно ли устанавливать VirtualBox, затем загружать какой-то файл, который я им предоставляю, или я могу легко создать один установщик?

5 ответов5

24

Мне нравится ответ mperrin на Vagrant, но, как вы можете видеть из комментариев, мое личное мнение состоит в том, чтобы «сделать его простым», и я бы рекомендовал простой экспорт VirtualBox OVA, как вы настроили, и передать его своим студентам. ,

Тем не менее, вы спрашиваете это:

Вопрос в том, как люди работают с разным графическим оборудованием. Или это работает? И если это произойдет, как я могу распространять это? Нужно ли устанавливать VirtualBox, затем загружать какой-то файл, который я им предоставляю, или я могу легко создать один установщик?

Переход в DevOps

Я не слишком уверен в том, что вы преподаете или делаете или что вы ожидаете от своих учеников от всего этого упражнения, но многие проблемы, которые вы переносите, переходят в сферу DevOps (разработка и эксплуатация), и вы можете захотеть рассмотреть вопрос о включении этой концепции в ваши учения.

Теперь я не думаю, что вся концепция DevOps должна быть передана, но, на мой взгляд, ваше создание стабильной OVA VirtualBox, которую вы затем передаете ученикам и просите их использовать на своих домашних / школьных компьютерах, определенно открыло бы дверь для вопросы о том, как следует иметь дело с различными настройками оборудования / системы и как можно адаптироваться.

Поэтому я рекомендую вам настоятельно рекомендовать учащимся использовать VirtualBox OVA, который вы настроите, но также и позволить учащимся просто устанавливать инструменты самостоятельно. Моя интуиция говорит мне, что 95% - или больше - студентов с удовольствием и легко будут использовать метод VirtualBox OVA, но нельзя ожидать, что он будет на 100% идеальным.

Возможно, в конце вы должны просто иметь некоторые базовые требования к использованию инструментов курса и быть гибкими в их реализации.

Будьте гибкими в отношении того, как используются инструменты

Например, я много занимаюсь разработкой PHP и занимаюсь системным администрированием /DevOps, связанным с разработкой PHP. А так как я на Mac, я предпочитаю использовать MAMP для локальной разработки. Но я работаю с разработчиками, которые используют Linux или Windows для своей разработки. Черт, некоторые любят использовать Vagrant в сочетании с VirtualBox для своих нужд разработки LAMP. И мое отношение - мне все равно, какова их базовая настройка ОС. Пока их версия PHP соответствует версиям, которые используют мои клиенты, у меня все в порядке.

Иногда разработчик заявляет, что ошибка вызвана тем, что, например, код, который я тестировал на MAMP, «не совпадает» с тем, что было бы в настройке Linux LAMP. И я говорю со 100% уверенностью, что я всегда доказывал, что проблема не в базовой ОС, а в самой PHP-кодировке.

Таким образом, вся эта болтовня заключается в том, чтобы в основном передать следующее: просто будьте гибки в объяснении использования установки VirtualBox студентам и не ожидайте, что кормление ОС ложкой просто завершит все проблемы. Это может выбить 95% ваших проблем из парка, но эти оставшиеся 5% всегда придется решать каким-то образом. Итак, посмотрите на установку VirtualBox - и, возможно, скрипт Vagrant - как на инструмент, который можно использовать в арсенале, чтобы облегчить жизнь некоторым, но не обязательно конечное решение для всех проблем.

18

Тебе стоит взглянуть на Вагранта.

Vagrant поддерживает VirtualBox и позволяет:

Создавать и настраивать легкие, воспроизводимые и переносимые среды разработки.

Совместное использование одного или нескольких текстовых файлов будет намного проще, чем большой экспорт изображения VirtualBox. Особенно, если вы хотите управлять обновлениями.

После того, как VirtualBox и Vagrant устанавливаются просто:

vagrant up

Будет:

Один Vagrantfile может также обрабатывать особенности хостов Windows или Mac.

8

Это не имеет никакого значения - virtualbox (и, конечно же, любое другое программное обеспечение для виртуализации) эмулирует собственный видеоадаптер (IIRC cirrus logic). В то время как традиционный файл virtualbox разделен на разные файлы для настроек и хранения, вы можете экспортировать его в файл ovf, как предложено. Если ваши студенты могут установить virtualbox или vmware, это должно быть тривиально. Если нет, им нужно учиться.

Установка virtualbox довольно тривиальна (если у вас есть аппаратная поддержка).

Есть несколько вещей, которые я бы посоветовал: оставить виртуальную машину 32-битной (чтобы вам не нужно было беспокоиться о поддержке VT-X на хосте), создав инструкции по установке virtualbox на большие 2 ОС (Windows проста, linux требуется несколько дополнительных шагов) и импорт файла OVF. Это также означает, что студенты хотят использовать vmware player или что-то подобное. Используйте NAT для работы в сети, если вам не нужен сервер, доступный извне.

Если производительность не является проблемой, вы, вероятно, можете просто связать все в экземпляр QEMU (они могут быть настроены для автономного запуска) и подходящие сценарии запуска. Я бы посчитал это последним средством.

Я хотел бы отметить, что многие университеты действительно предоставляют ВМ с подходящими инструментами (IIRC stanfords CS 50 делает это, и это свободно доступный курс от edx), поэтому, возможно, стоит посмотреть, как они это делают.

3

В качестве альтернативы большинству технологий виртуализации, Linux (например, Ubuntu) может быть установлен на флэш-накопителе. Практически каждый компьютер будет загружаться с большого диска, и большинство современных инсталляторов будут обнаруживать видеокарты / сетевые карты во время загрузки. Если вы установите 32-разрядную версию Ubuntu, она будет работать практически на любом оборудовании, которое люди могут иметь дома.

Их легко раздавать и не требуют ЛЮБОГО дополнительного установленного программного обеспечения. Их также легко можно перемещать с машины на машину - отсоедините ее от школьного компьютера и положите в карман. Когда вы вернетесь домой, просто подключите его.

Их можно достать довольно дешево (я понимаю, что школьные бюджеты очень ограничены!); в зависимости от того, какое приложение будет запущено на машине, достаточно 4 ГБ, возможно, 8 ГБ.

1

Еще один вариант для рассмотрения. Если вы не очень беспокоитесь о том, что у них есть графический интерфейс, вы можете использовать что-то вроде терминала.

Вы можете создать свой собственный общедоступный снимок и просто сохранить его доступным для своих студентов. Это похоже на подход VirtualBox, но вместо того, чтобы устанавливать виртуальные машины на их собственных машинах, они находятся на облачных машинах других пользователей.

Тогда все, что им нужно , это достаточно современный веб-браузер. И если они заинтересованы, они могут настроить его так, чтобы они могли использовать SSH/Putty/ и т.д.

Согласно их цифрам, если учащиеся используют микроэкземпляр (256 МБ ОЗУ, пару ГБ дискового пространства), если они останавливают виртуальную машину, когда они не используют ее, это будет стоить им 9 долларов в год на 8 часов работы / день. Я не могу говорить за терминал.com, но подозреваю, что если вы свяжетесь с ними, они смогут предоставить вам какую-то образовательную скидку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .