Virtualbox cmd

Содержание

Записки программиста

Virtualbox cmd

Такие решения, как LXC и KVM, не всегда удобны, потому что они работают только под Linux. Используя их, вы не можете передать виртуалки пользователям каких-нибудь MacOS или Windows.

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

Например, я хочу, чтобы по дэфолту все виртуалки всегда были в одной NAT-сети, без какой-либо правки Vagrantfile’ов. Все это сподвигло меня к изучению «родных» утилит VirtualBox, в частности, vboxmanage.

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

Просмотреть настройки VirtualBox:

vboxmanage list systemproperties

Изменение настроек, например, пути до каталога, гда хранятся виртуалки:

vboxmanage setproperty machinefolder /home/eax/virtualbox

Список поддерживаемых типов виртуалок:

vboxmanage list ostypes
vboxmanage list ostypes | egrep ID

Создаем новую виртуалку:

vboxmanage createvm –name ubuntu1604 –ostype Ubuntu_64 –register

Меняем параметры ВМ — указываем количество памяти и тд:

vboxmanage modifyvm ubuntu1604 –cpus 1 –memory 512 –audio none \
  –usb off –acpi on –boot1 dvd –nic1 nat

Создаем жесткий диск размером 10 Гб (место по дэфолту не преаллоцируется):

vboxmanage createhd \
  –filename /home/eax/virtualbox/ubuntu1604/ubuntu1604.vdi \
  –size 10000

Цепляем созданный жесткий диск к виртуалке:

vboxmanage storagectl ubuntu1604 –name ide-controller –add ide
vboxmanage storageattach ubuntu1604 –storagectl ide-controller \
  –port 0 –device 0 –type hdd \
  –medium /home/eax/virtualbox/ubuntu1604/ubuntu1604.vdi

Цепляем к ВМ ISO-образ, с которого будет происходить установка системы:

vboxmanage storageattach ubuntu1604 –storagectl ide-controller \
  –port 0 –device 1 –type dvddrive \
  –medium /home/eax/data/iso/ubuntu-16.04.1-server-amd64.iso

Включаем доступ к ВМ по VNC:

vboxmanage modifyvm ubuntu1604 –vrde on
vboxmanage modifyvm ubuntu1604 –vrdeaddress 127.0.0.1
vboxmanage modifyvm ubuntu1604 –vrdeport 3001
vboxmanage modifyvm ubuntu1604 –vrdeproperty VNCPassword=”secret”

Я лично для подключения использую TigerVNC (форк TightVNC):

Чтобы каждый раз не вводить пароль, можно сказать:

… и всегда использовать этот файл:

vncviewer localhost:3001 PasswordFile=/home/eax/temp/vnc.password

Посмотреть свойства виртуальной машины (узнать номер порта VNC):

vboxmanage showvminfo ubuntu1604  | grep VRDE

Запустить виртуалку:

# если на десктопеvboxmanage startvm ubuntu1604

# если все это крутится на сервере и собираемся подрубаться по VNC

vboxmanage startvm –type headless ubuntu1604

Для некоторых систем установочный диск отключается от ВМ автоматически по окончанию установки. Если этого не произошло, говорим:

vboxmanage storageattach archlinux1 –storagectl ide-controller \
  –port 0 –device 1 –type dvddrive –medium emptydrive

Pause, Resume, Poweroff:

vboxmanage controlvm archlinux1 pausevboxmanage controlvm archlinux1 resume

vboxmanage controlvm archlinux1 poweroff

Проброс портов настраивается так (ВМ должна быть остановлена):

vboxmanage modifyvm ubuntu1604 –natpf1 “ssh-forwarding,tcp,,22001,,22”

После этого в виртуалку можно будет зайти по SSH таким образом:

ssh -p 22001 eax@localhost

Просмотр списка правил перенаправления портов:

vboxmanage showvminfo ubuntu1604 | grep Rule

Удаление правила:

vboxmanage modifyvm ubuntu1604 –natpf1 delete ssh-forwarding

Список всех виртуалок:

vboxmanage list vms
vboxmanage list vms –long | egrep '(Name|State)'

Список работающих виртуалок:

vboxmanage list runningvms

Переименовать ВМ (при этом переименовывается и ее каталог):

vboxmanage modifyvm ubuntu1604 –name ubuntu1

Создать полный клон ВМ:

vboxmanage clonevm ubuntu1 –name ubuntu2 –register

Список NAT-сетей:

vboxmanage natnetwork list

Создание новой сети:

vboxmanage natnetwork add –netname UbuntuNat –network 10.0.4.0/24 \
  –enable –dhcp on –ipv6 off

Редактирование сети:

vboxmanage natnetwork modify –netname UbuntuNat –ipv6 on

Удаление сети:

vboxmanage natnetwork remove –netname UbuntuNat

Подключение виртуалок к NAT-сети:

vboxmanage modifyvm ubuntu1 –nic2 natnetwork –nat-network2 UbuntuNat
vboxmanage modifyvm ubuntu2 –nic2 natnetwork –nat-network2 UbuntuNat

Важно! Скорее всего, гостевая операционная система окажется не настроена для использования второго интерфейса, если вы добавили его после установки. В Ubuntu для добавления нового интерфейса нужно отредактировать файл /etc/network/interfaces, для Arch Linux см заметку Как я устанавливал Arch Linux на свой ноутбук.

Удалить виртуалку и все ассоциированные с ней файлы, в том числе и диски:

vboxmanage unregistervm ubuntu2 –delete

Экспорт:

vboxmanage export ubuntu2 –output ubuntu2.ova

Импорт:

vboxmanage import ubuntu2.ova
# или, с переопределением имени:
vboxmanage import ubuntu2.ova –vsys 0 –vmname ubuntu2

Это, разумеется, далеко не полный список возможностей vboxmanage. Например, мы не рассмотрели использование снапшотов, соединение машин при помощи последовательного порта (например, для отладки ядра операционной системы), работу с разделяемыми каталогами, и многе другое. Подробности вы найдете в официальной документации и vboxmanage –help.

Вооруженный приведенными выше знаниями, я написал скрипт на Python под названием vm, который управляет виртуальными машинами в точности так, как мне это удобно. Поэтому я считаю, что Vagrant не нужен. А вы что скажете?

Linux, Виртуализация.

Источник: https://eax.me/vboxmanage/

Команды консоли VirtualBox

Virtualbox cmd

VirtualBox – одна из самых популярных систем виртуализации с открытым исходным кодом для Windows и Linux. Из-за бесплатного распространения программа завоевала огромную популярность, а разработчики добавили множество полезных возможностей. Обычные пользователи и я в том числе, привыкли пользоваться VirtualBox в графическом интерфейсе.

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

Основные команды VirtualBox

Управление виртуальными машинами в терминале осуществляется с помощью команды VBoxManage. Она имеет довольно простой синтаксис:

$ VBoxManage общие_опции команда опции_команды

Я не буду здесь рассматривать все опции и команды VirtualBox, рассмотрим их в процессе работы. По умолчанию все виртуальные машины находятся в директории .config/VirtualBox/Machines. Однако вы можете изменить этот путь с помощью команды setproperty. Например, /home/virtualbox/:

VBoxManage setproperty machinefolder /home/virtualbox/

1. Создание виртуальной машины

Первым делом надо создать новую виртуальную машину, с которой мы будем работать. Каждая виртуальная машина, это не что иное, как XML файл с настройками. Создание виртуальной машины VirtualBox выполняется с помощью команды VBoxManage createvm. Вот её основные опции:

  • –name – имя машины;
  • –ostype – вид операционной системы;
  • –register – регистрирует виртуальную машину, иначе будет просто создан XML файл с настройками.

Список доступных видов операционных систем можно посмотреть командой:

VBoxManage list ostypes

Давайте создадим виртуальную машину для Ubuntu и зарегистрируем её в системе:

VBoxManage createvm –name “Ubuntu1804” –ostype “Ubuntu_64” –default –register

Виртуальная машина успешно создана и добавлена.

2. Добавление существующей машины

Если вы перенесли виртуальную машину с другой системы, то можете захотеть добавить её. Это аналог пункта открыть в меню графического интерфейса. Используйте команду VBoxManage registervm, которой в качестве аргумента надо передать путь к файлу виртуальной машины:

VBoxManage registervm /home/sergiy/VirtualBox VMs/Ubuntu1804/Ubuntu1804.vbox

3. Список виртуальных машин

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

VBoxManage list vms

Или же можно посмотреть список запущенных виртуальных машин:

VBoxManage list runningvms

Чтобы увидеть более подробную информацию об виртуальных машинах используйте опцию –long:

VBoxManage list vms –long

4. Настройка хранилища машины

По умолчанию создается только конфигурация виртуальной машины. У неё нет никакого хранилища, на котором будет размещена операционная система. Сейчас мы его добавим. Сначала надо создать жесткий диск в папке рядом с файлом виртуальной машины:

VBoxManage createhd –filename “/home/sergiy/VirtualBox VMs/Ubuntu1804/Ubuntu1804.vdi” –size 10000 –format VDI

Здесь надо передать путь к файлу будущего диска и его размер в мегабайтах. Я создаю диск на 10 гигабайт. Этого должно хватить для запуска тестовой системы. Затем, с помощью команд storagectl и storageattach добавьте контролер SATA и подключите к нему этот диск:

VBoxManage storagectl “Ubuntu1804” –name “SATA Controller” –add sata –controller IntelAhci

VBoxManage storageattach “Ubuntu1804” –storagectl “SATA Controller” –port 0 –device 0 –type hdd –medium “/home/sergiy/VirtualBox VMs/Ubuntu1804/Ubuntu1804.vdi”

В параметре –medium надо передать путь к файлу диска, который вы собираетесь подключить. Если вы хотите чтобы машина загрузилась из ISO образа, то вам ещё понадобится IDE контроллер:

VBoxManage storagectl “Ubuntu1804” –name “IDE Controller” –add ide –controller PIIX4

Затем можно подключить к нему свой образ:

VBoxManage storageattach “Ubuntu1804” –storagectl “IDE Controller” –port 1 –device 0 –type dvddrive –medium ~/ubuntu.iso

5. Удаленный доступ

Так как виртуальная машина на сервере, то доступа к графическому интерфейсу нет, но нам надо получить доступ к самой машине. Для этого мы можем воспользоваться протоколом RDP. Чтобы включить удаленный доступ используйте команду:

VBoxManage modifyvm “Ubuntu1804” –vrde on

Ещё можно изменить порт RDP, на тот, который вы хотите, например, 33891:

VBoxManage modifyvm “Ubuntu1804” –vrdeport 33891

Уже сейчас мы можем получить доступ к этой машине, но давайте ещё настроим авторизацию по паролю, чтобы никто посторонний не мог получить к ней доступ если сервер доступен из интернета. Сначала установим тип авторизации external:

VBoxManage modifyvm Ubuntu1804 –vrdeauthtype external

Укажем, что надо использовать модуль авторизации VBoxAuthSimple:

VBoxManage setproperty vrdeauthlibrary VBoxAuthSimple

Осталось выбрать имя пользователя и пароль. Давайте это будет losst_user и losst_password. Создадим хэш для нашего пароля:

VBoxManage internalcommands passwordhash losst_password

Осталось связать этот хэш с именем пользователя losst_user для нашей машины:

VBoxManage setextradata “Ubuntu1804” “VBoxAuthSimple/users/losst_user” 4a26e3cde3647806539e746d4b7fa27401af9198ac0da1a5122e8851648566d2

Настройка rdp virtualbox завершена и теперь машина будет доступна по сети. К ней можно будет подключится с помощью утилиты Reminna. Осталось только запустить её.

6. Установка VirtualBox Extpack

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

VBoxManage list extpacks

Система сообщает, что у меня установлен один набор расширений. Нас будет интересовать строчка VRDE Module. Её значение должно быть RDP, не VNC и не что либо другое.

Чтобы установить набор расширений сначала посмотрите вашу версию VirtualBox:

VBoxManage –version

Для моей версии 5.2 наборы расширений можно найти на этой странице. Вы без труда найдете нужный extpack с помощью поиска. Затем загрузите его на сервер и установите командой:

VBoxManage extpack install ~/путь_к_файлу.extpack

После установки он появится в списке.

7. Настройка оборудования

Как я уже говорил, по умолчанию машине выдаются самые минимальные ресурсы, с таким количеством ресурсов смогут работать мало современных систем. Поэтому давайте дадим виртуальной машине больше оперативной памяти:

VBoxManage modifyvm “Ubuntu1804” –memory 2048

Чтобы увеличить объем видеопамяти в virtualbox выполните:

VBoxManage modifyvm “Ubuntu1804” –vram 128

Количество памяти надо указывать в мегабайтах. Чтобы изменения работали, машина должна быть выключена. Далее дадим машине два ядра процессора:

VBoxManage modifyvm “Ubuntu1804” –cpus 2

Вот, с такими параметрами уже можно работать.

8. Управление состоянием машины

Чтобы запустить виртуальную машину используйте команду startvm. Так как мы запускаем её без графики, то следует использовать опцию –type headless:

VBoxManage startvm “Ubuntu1804” –type headless

После того, как машина была запущена, вы можете открыть её с помощью reminna:

Далее, для управления запущенной машиной используется команда controlvm. Она позволяет поставить машину на паузу или остановить её. Чтобы поставить машину на паузу используйте команду pause:

VBoxManage controlvm “Ubuntu1804” pause

Для вывода машины из состояния паузы:

VBoxManage controlvm “Ubuntu1804” resume

Для полного выключения машины:

VBoxManage controlvm “Ubuntu1804” poweroff

Если вы не хотите выключать машину, можно сохранить её состояние:

VBoxManage controlvm “Ubuntu1804” savestate

Или можно послать сигнал нажатия на кнопку выключения:

VBoxManage controlvm “Ubuntu1804” acpipowerbutton

Если работа вашей машины била прервана из-за перезагрузки компьютера или выключения света может произойти ситуация, что она останется заблокированной и вы не сможете её запустить. Для решения этой проблемы используйте команду:

VBoxManage startvm “Ubuntu1804” –type emergencystop

Наша статья подходит к завершению, но это далеко не все команды консоли VirtualBox.

9. Просмотр информации о машине

Посмотреть информацию о текущем состоянии машины, а также об её оборудовании можно с помощью команды showvminfo:

VBoxManage showvminfo “Ubuntu1804”

Если вас интересует только состояние машины, можно отфильтровать вывод virtualbox cli утилитой grep:

VBoxManage showvminfo “Ubuntu1804” | grep State

Выводы

В этой статье мы рассмотрели полезные команды VirtualBox CLI, которые позволят вам полноценно управлять виртуальными машинами на сервере.

Я не стал подробно рассказывать про настройку размера дисков, вы можете обо всём этом почитать в статье как увеличить размер диска VirtualBox.

Конечно, осталось много других интересных команд, которые не поместились в эту статью, таких как настройка автоматической установки системы, настройка сети, изменение оборудование на лету и много другое.

Источник: https://losst.ru/komandy-konsoli-virtualbox

Управление VirtualBox с помощью консоли

Virtualbox cmd

Виртуализация… виртуализация… Сейчас все пытаются выжать из своих аппаратных ресурсов как можно больше. Иметь несколько отдельных компьютеров с различными ОС немного накладно и не все организации пойдут на это. Но выход есть, можно использовать виртуальные машины.

И возможно, что многие используют для этих целей замечательный продукт от Sun «VirtualBox». Я уверен, что большинство для настройки используют GUI интерфейс, т.к. это очень наглядно и удобно. Но многие ли задумывались о возможности управления VirtualBox через консоль.

Была поставлена задача: На один сервер поставить две ОС (Ubuntu и Windows). При этом был работающий сервер под управлением Ubuntu 9.04 Server Edition. Поэтому было решено ставить Windows XP в качестве гостевой системы. Но возникла проблема на Ubuntu НЕ УСТАНОВЛЕНА никакая графическая среда, т.е. там есть только голая консоль.

Итак, что у нас есть:

  • Хост система: Ubuntu 9.04 Server Edition
  • VirtualBox 2.2.2
  • Гостевая система: Windows XP

Установка VirtualBox

Скачиваем с официального сайта VirtualBox пакет для Ubuntu 9.04 После того, как скачали, выполняем комманду:

dpkg -i virtualbox-2.2_2.2.2-46594_Ubuntu_jaunty_i386.deb

VirtualBox должен установится. Если возникла проблемы при установке пакета, изучите сообщение об ошибках. Возможно у вас не установлены необходимые пакеты. В моем случае у меня не был установлен пакет libxslt1.1, что моментально было исправлено командой sudo apt-get install libxslt1.1.
Добавляем себя в группу vboxusers
sudo usermod -a -G vboxusers имя_пользователя

Создание виртуальной машины

Для начала стоит отметить, что для управления виртуальными машинами через консоль используется одна команда VBoxManage (правда у неё очень много параметров). Начнем.

  1. Для начала создадим машину и сразу её зарегистрируем
    VBoxManage createvm -name имя_виртуальной_машины -register
  2. Далее необходимо создать диск для машины
    VBoxManage createhd –filename имя_диска –size размер_диска_в_мегабайтах Существует возможность выбрать тип диска VDI (VirtualBox), VMDK (VMWare), VHD (Microsoft Virtual PC).

    По умолчанию, конечно же, VDI :).

  3. Делаем дополнительные настройки нашей виртуальной машины. Укажем:
    • Тип гостевой ОС. Для получения списка поддерживаемых ОС выполните команду VBoxManage list ostypes
    • Размер выделяемой памяти
    • Наименование главного диска
    • Возможность использовать VRDP (VirtualBox Remote Desktop Protocol)

    VBoxManage modifyvm имя_виртуальной_машины –ostype тип_ОС –memory размер_памяти_в_мегабайтах –hda имя_диска –vrdp on

  4. Подключим образ диска, с которого будем ставить Windows XP
    • Зарегестрируем DVD с образом дистрибутива системы VBoxManage openmedium путь_до_образа
    • Вставим наш диск в виртуальный привод VBoxManage modifyvm WindowsXP –dvd путь_до_образа

  5. Посмотрим на настройки нашей машины. Убеждаемся, что все нас устраивает и…
    VBoxManage showvminfo имя_машины

… Запуск… Поехали

Чтобы запустить виртуальную машину надо выполнить

VBoxManage startvm имя_машины –type vrdp

Параметр –type vrdp нужен, чтобы подключиться к машине с помощью VRDP Все, теперь осталось подключится к нашей машине, с помощью удаленного рабочего стола. Это можно сделать с помощью стандартных утилит: для windows это mstsc, для никсовых систем rdesktop.Т.к. у нас есть только консоль, то надо воспользоваться компьютером, имеющим графический рабочий стол.

Чтобы подключится, надо указывать IP хост машины и порт для данной виртуальной машины. В моем случае, я ничего не менял и использовал порт по умолчанию (3389).

Чтобы изменить порт, выполните VBoxManage –vrdpport порт.

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

Вместо эпилога

Теперь у нас запущена виртуальная машина и мы к ней спокойно можем подключаться используя протокол VRDP. Я спокойно установил Window XP, находясь за своим рабочим компьютером. P.S. Windows XP была нужна только по одной причине. В проекте нужно было использовать MS SQL Server.

Полезные ссылки:

Документация по VBoxManage

UPD: bsdemon предложил ещё один способ. Использовать libvirt

  • virtualbox
  • виртуальная машина
  • коммандная строка
  • консоль

Хабы:

  • 25 июня 2019 в 12:13
  • 23 мая 2019 в 11:10
  • 11 февраля 2019 в 03:35

Источник: https://habr.com/ru/post/60325/

Управляем VirtualBox через консоль

Virtualbox cmd

Благодаря своей бесплатности и открытости VirtualBox приобрёл значительную популярность в качестве системы виртуализации. Несмотря на то, что VirtualBox обладает удобным графическим интерфейсом, разработчики оставили возможность управления через консольные команды. Зачем? Для тех случаев, когда графический интерфейс недоступен. Как правило, это относится к серверам.

В этой небольшой статье мы создадим и настроим виртуальную машину в VirtualBox через терминал Linux. Для управления VirtualBox существует команда VBoxManage (естественно, она будет доступна только после установки VirtualBox в системе). Синтаксис команды выглядит так:

VBoxManage [общие_опции] [команда] [опции_команды]

Управление виртуальной машиной

Для запуска виртуальной машины используем команду:

vboxmanage startvm “Windows 10” –type headless

Далее для управления состояния виртуальной машины будем использовать команду controlvm.

Чтобы поставить машину на паузу, введём команду:

vboxmanage controlvm “Windows 10” pause

Для вывода из состояния паузы:

vboxmanage controlvm “Windows 10” resume

Для выключения виртуальной машины:

vboxmanage controlvm “Windows 10” poweroff

Для сохранения состояния виртуальной машины:

vboxmanage controlvm “Windows 10” savestate

Чтобы послать сигнал нажатия на кнопку выключения:

vboxmanage controlvm “Windows 10” acpipowerbutton

Для вывода виртуальной машины из состояния блокировки (например, если неожиданно была прервана подача электропитания):

vboxmanage startvm “Windows 10” –type emergencystop

Подключение ранее созданной виртуальной машины

Напоследок рассмотрим ситуацию, когда виртуальная машина у вас уже есть. Подключить её без использования графического интерфейса не так уж и сложно. Для этого используем команду registervm с указанием пути к файлу виртуальной машины:

vboxmanage registervm /home/test/virtualbox/macos/macos.vbox

Вместо заключения

В данной статье мы рассмотрели базовые операции с виртуальной машиной, которые можно совершить через терминал Linux. Были изучены создание виртуальной машины, её первоначальная настройка, подключение уже существующей виртуальной машины. Если вас заинтересовало управление VirtualBox через консоль, вы можете продолжить изучение возможностей команды vboxmanage самостоятельно.

Источник: https://webistore.ru/prikladnoe-po/upravlyaem-virtualbox-cherez-konsol/

Маленький секрет VirtualBox: командная строка

Virtualbox cmd

Библиотека сайта rus-linux.net

-> MyLDP -> Тематический каталог -> Виртуализация и эмуляция в Linux Оригинал: “VirtualBox’s Little Secret: The Command Line” Ken Hess January 18th, 2010Перевод: Н.Ромоданов

Дата перевода: февраль 2010 г.

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

Обычно спрашивают: “Зачем работать в командной строке, когда у вас есть вполне хороший графический интерфейс?” Ответ – огромные возможности командной строки.

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

Почему, 1995 год, спросите вы? С появлением Windows 95 в 1995 году была открыта новая компьютерная эра — эра графических интерфейсов. Вскоре после того рокового августа был выпущен релиз FVWM95, который был ответом Linux на интерфейс Windows 95 Explorer.

Мне кажется, что в те старые добрые времена командная строка исчезла навсегда. Никто не хотел больше пользоваться DOS и перестали бояться Linux. Но командной строки все еще жива и здравствует в среде Linux. Она все еще достаточно жива в Windows. И теперь, когда Маки базируются на Unix, в них также есть много чего, что не требует графического интерфейса.

Для вас может оказаться сюрпризом, что под миловидным графическим интерфейсом VirtuaBox, с его яркой графикой, понятной страницей настройки Settings и большим количеством выпадающих списков, притаился оккультный мир командной строки.

Истинная сила этого темного мира откроется только тем, кто посмеет войти в эти затхлые катакомбы.

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

Сила командной строки

Черный прямоугольник, о котором я говорил, является терминальным окном. Командная строка позволяет воспользоваться всей мощью автоматического исполнения команд.

Единственный способ автоматизации, который известен мне в *nix системах, это использование скриптов, написанных на Perl-е, шелл-скрипты или скрипты на каком-нибудь другом языке. А демон системного планировщика (cron) поможет вам в нужное время запустить скрипт.

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

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

Что касается виртуализации, то командная строка позволит вам быстро создавать виртуальные диски, добавлять новый сетевой интерфейс, запускать виртуальные машины и создавать новые виртуальные машины, причем все это — без использования графического интерфейса.

Автоматическое выполнение с помощью скриптов также позволит вам спланировать запуск и остановку виртуальных машин без вашего непосредственного вмешательства.

И, если вы действительно классный специалист по скриптам, вы сможете написать скрипт, который с помощью подсказок поможет вам с самыми минимальными вмешательствами с вашей стороны создать виртуальную машину, запустить ее или установить и изменить ее.

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

Давайте рассмотрим простые и элегантные функциональные возможности командной строки в VirtualBox.

Установка и основные составляющие

По ссылке VirtualBox Linux Downloads загрузите двоичный дистрибутив, предназначенный под вашу систему. Если хотите, то можете скачать исходный код. Для выбранного мною варианта (для RHEL5/CentOS5 в формате rpm) были созданы следующие директории:

  • Для двоичных модулей – /usr/lib/virtualbox с сылками из /usr/bin
  • Для библиотек – /usr/lib/virtualbox
  • Для исходных кодов – /usr/share/virtualbox
  • Для гостевых компонентов (ISO) – /usr/share/virtualbox

Если в вашем дистрибутиве нет последней версии VirtualBox (версия 3.1.2 на момент написания данной статьи), то воспользуйтесь одним из пакетов, который можно загрузить, либо загрузите исходный код.

Создание и конфигурирование виртуальной машины

Самое трудное при использовании командной строки это — знать, с чего начинать. В графическом интерфейсе нужно воспользоваться кнопкой New. Командная строка немного сложнее открывает свои тайны.

Для того, чтобы создать и настроить новую виртуальную машину, вы должны открыть терминальное окно, либо воспользоваться сеансом ssh для доступа к Linux системе, на которой установлен VirtualBox, и выполнить следующую команду:

$ /usr/bin/VBoxManage createvm –name Debian5 –register

С помощью этой команды создается новая виртуальная машина с именем Debian5, которая регистрируется в VirtualBox. Созданная виртуальная машина является XML файлом, который располагается в домашнем директории ~/.VirtualBox/Machines/Debian5/Debian5.xml.

Создаем виртуальный диск для вашей виртуальной машины:
$ /usr/bin/VBoxManage createhd –filename Debian5.vdi –size 4000 –variant Fixed

Вы создали виртуальный диск с именем Debian5.vdi размером в 4 Гбайта (4000 Мбайтов); размер фиксированный, т. е. его увеличение динамически не происходит.

Виртуальный диск создается в виде файла ~/.VirtualBox/HardDisks/Debian.vdi

Создайте контроллер дисковых устройств, к которому вы подсоедините виртуальный диск и виртуальное устройство CD/DVD

$ /usr/bin/VBoxManage storagectl Debian5 –name “IDE Controller” –add ide –controller PIIX4

С помощью этой команды создается контроллер IDE с именем “IDE Controller”, тип контроллера – PIIX4.

Теперь подсоединим виртуальный диск к вашей виртуальной машине:

$ /usr/bin/VBoxManage storageattach Debian5 –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium Debian5.vdi

Подсоединяем образ ISO той операционной системы, которую вы хотите установить:

$ /usr/bin/VBoxManage storageattach Debian5 –storagectl “IDE Controller” –port 0 –device 1 –type dvddrive –medium /ISO/debian-40r3-i386-netinst.iso

Настраиваем сеть:

$ /usr/bin/VBoxManage modifyvm Debian5 –nic1 bridged –cableconnected1 on –bridgeadapter1 eth0

С помощью этой команды создается сетевой интерфейс NIC типа “мост” (bridge): кабель подключается при запуске системы Linux, адаптер – eth0.

Запускаем виртуальную машину:

$ /usr/bin/VBoxManage startvm Debian5

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

Waiting for the remote session to open… Remote session has been successfully opened.

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

Если вам понравилась статья, поделитесь ею с друзьями:

Средняя оценка 5 при 1 авших

Источник: http://rus-linux.net/nlib.php?name=/MyLDP/ms/virtbox.html

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.