Я являюсь ТП для курса по программированию и отвечаю за создание образа виртуальной машины на основе Ubuntu 14.04 LTS со всем необходимым программным обеспечением (для разработки на C ++ и Python), предварительно установленным таким образом, чтобы у всех студентов была запущена одна и та же виртуальная система, и мы избегали трудностей. заставить все работать на разных машинах и операционных системах. Мы намерены использовать Virtual Box в качестве программного обеспечения для виртуальной машины, так как оно является бесплатным и доступно кроссплатформенным.
Наивно, я бы просто использовал образ диска Ubuntu 14.04 LTS, запустил его в моем Virtual Box, установил его на виртуальный жесткий диск (VDI), настроил «студенческую» учетную запись с предопределенным паролем, установил все необходимое программное обеспечение, закрыл выключите виртуальную машину и распространите файл VDI. Мы просим каждого учащегося импортировать VDI в Virtual Box, запустить его и настроить свою личную учетную запись (или просто использовать учетную запись по умолчанию для учащихся).
- Является ли вышеуказанная процедура жизнеспособной?
- На какую ловушку стоит обратить внимание? Нам нужно, чтобы это было в значительной степени безошибочно. Мы рассчитываем на 80+ студентов и всего четыре ТА, поэтому мы не можем предоставить индивидуальную поддержку.
- Есть ли недостатки в использовании динамически выделяемого виртуального жесткого диска VDI-типа?
- Это нормально для меня, чтобы установить гостевые дополнения Virtual Box сразу, или это делает что-то для конкретного хоста?
- Есть ли более элегантный способ обработки учетной записи пользователя? В идеале, Ubuntu может использовать их при помощи мастера создания учетной записи и устанавливать их пароли (а также добавлять их в файл sudoers) при первой загрузке образа. Это не приоритет, хотя. Я думаю, с учетной записью по умолчанию это хорошо.
источник
Ответы:
Хотя этот вопрос в некоторой степени основан на мнении:
Да, эта процедура жизнеспособна - я верю, что она выполнит то, что вы ищете, и это то, что я делал в прошлом с другими дистрибутивами Linux.
Единственный реальный недостаток - расстояние между дисками ... убедитесь, что на компьютерах ваших учеников достаточно дискового пространства для работы с размером виртуального диска. Кроме того, убедитесь, что вы храните копию в автономном режиме хотя бы на одном компьютере, чтобы вы могли использовать диск шаблона / ссылки для быстрого воссоздания диска, когда ученик убивает свой компьютер.
Недостатки динамического диска в том, что хост-операционная система должна выделять все больше и больше дискового пространства по мере роста виртуальной машины вместе с данными / обновлениями. Это приводит к снижению производительности, что иногда может быть головной болью, особенно если вы работаете на маломощной виртуальной машине (мощность хост-машины минус мощность, используемая для расширения диска, обычно приводит к некоторой задержке виртуальной машины) ... это также потенциально может привести к затем непереносимые (не все машины в вашей лаборатории могут иметь более 100 ГБ + после того, как ученик испортил свою ВМ)
Гостевые аддоны не привязаны к конкретным машинам .. они в основном набор драйверов. Когда вы импортируете виртуальную машину на новый хост, драйверы виртуальных машин обнаружат и настроят ваше оборудование для работы на новом хосте.
Создание элегантного пользователя - не уверен, может быть, скрипт, который запускается при первом запуске и просит пользователя создать новую учетную запись, прежде чем самоуничтожение скрипта? Я покопаюсь и вернусь к вам, когда у меня останется 5 минут.
Надеюсь, это хотя бы частично поможет.
источник
Точно отвечая на ваш вопрос, если вам нужно настроить виртуальную машину и передать им виртуальную виртуальную машину VirtualBox, я рекомендую использовать Packer для предварительной упаковки виртуальной машины со всеми необходимыми зависимостями. Он создан именно для этой цели и позволяет вам раскручивать образ из ISO , выполнять любые необходимые настройки для этого образа, а затем создает поставляемый образ виртуальной машины VirtualBox. Это также хорошо для вас, потому что в нем точно записано, что было сделано с конечным результатом на тот случай, если вы когда-нибудь захотите воспроизвести его / добавить что-то к нему. Также вы можете проверить проект в системе контроля версий и внести изменения. Вот пример того, как вы начали.
Однако, если вы хотите, чтобы они запускались быстро, я рекомендую использовать Vagrant и разослать вашим студентам Vagrantfile, который выполняет требуемую подготовку, требуемую для стандартного образа Ubuntu . Это имеет несколько преимуществ:
Вот пример Vagrantfile, показывающий, как выполнить некоторую подготовку к образу Ubuntu 14.04.
источник
Совершенно возможно. Альтернативой может быть Vagrant, Puppet, Chef или что-то подобное для создания виртуальной машины с нуля, но это очень сложная настройка.
Команда разработчиков на одном из моих сайтов делает то же самое для быстрого запуска и запуска новых разработчиков.
1 предустановленная учетная запись (с правами sudo) на изображении и краткая инструкция-документ с шагами, которые они должны предпринять, чтобы создать свою учетную запись в личном кабинете.
Обратите внимание: Скорее всего, вам нужен доступ к сети / Интернету внутри виртуальной машины. Это может быть либо мостом или NAT на хост. Независимо от того, что вы выберете, вы должны будете проинструктировать своих студентов, как настроить сторону хоста. Просто установите сетевой адаптер внутри виртуальной машины в качестве устройства DHCP. Это безопасная отправная точка для большинства конфигураций, даже если впоследствии пользователь должен будет вручную настроить статический IP-адрес.
Размещение статического IP-адреса в виртуальной машине действительно вызывает проблемы. Он уже используется другой виртуальной машиной, подключенной к сети в той же локальной сети ...
источник