Сегодня рассмотрим такой мощный инструмент для тестирования нашей инфраструктуры как VirtualBox, которым, кстати говоря, мы пользуемся постоянно.
Напишем шпаргалку, как копипастить команды и быстро развернуть наше окружение виртуалок.
Итак, приступим.
Установка VirtualBox на хост (на котором будут развертываться виртуалки) с ОС Астра Линукс
1. Добавляем репозитории VirtualBox, а потом разрешим нашей ОС работать с пакетами нашего релиза. Назовем наш источник репозитория виртуалбокса например vbox.list ну и создадим его в папке с остальными сурс листами /etc/apt/sources.list.d
:
sudo touch /etc/apt/sources.list.d/vbox.list
присвоим ему следующее содержимое, указав архитектуру [arch=amd64], саму ссылку, релиз buster (который соответствует нашему релизу Astra Linux 1.7), естественно предварительно перейдя под рута камандами sudo su
или sudo -i
:
cat << EOF > /etc/apt/sources.list.d/vbox.list
deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian/ buster contrib
EOF
2. Скачаем и добавим ключ репозитория VirtualBox:
sudo wget -O /tmp/oracle_vbox_2016.asc https://www.virtualbox.org/download/oracle_vbox_2016.asc
sudo apt-key add /tmp/oracle_vbox_2016.asc
3. Обновим наш репозиторий после добавления источника пакетов от производителя, и поищем необходимую версию:
sudo apt update
sudo apt search virtualbox | grep virtualbox
видим список доступных нам версий, на моем примере это выглядит так:
virtualbox-5.2/неизвестно 5.2.34-133893~Ubuntu~bionic amd64
virtualbox-6.0/неизвестно 6.0.24-139119~Debian~buster amd64
virtualbox-6.1/неизвестно 6.1.48-159471~Debian~buster amd64
virtualbox-7.0/неизвестно,now 7.0.12-159484~Debian~buster amd64
Скачаем и установим отсутствующую требуемую зависимость, пакет безопасности из репозитория debian
sudo wget -O /tmp/libvpx5.deb http://security.debian.org/debian-security/pool/updates/main/libv/libvpx/libvpx5_1.7.0-3+deb10u2_amd64.deb
sudo dpkg -i /tmp/libvpx5.deb
есть тонкость, при установке нужно указывать пакет с указанием версии. Ставим, естественно последнюю:
sudo apt install virtualbox-7.0 -y
В итоге в меню пуск в разделе Системные появится значок Oracle VM Virtualbox:
Запустим, на экране появится главное окно установленной программы:
Главное окно программы Virtualbox AstraLinux
На этом установка пакета VirtualBox на хост завершена, далее приступим к настройкам гостевых машин на ОС AstraLinux, которые, в принципе, и нужны нам для тестирования.
Как установить и настроить гостевую машину на Astra linux в VirtualBox (виртуалки, которые будут развертываться на хосте):
Нажмем кнопку Создать, и у нас выпадает окно с параметрами (путь к папке, где хранятся виртуалки у меня свой, можно поменять на ваше усмотрение, главное чтобы доступ был):
ну и выбираем параметры нашей виртуалки, это:
- Название пишем под себя, чтобы понимать, что конкретно планируется делать на этой машинке.
- Папка, где будут храниться все файлы нашей виртуалки
- Ну и добавим ранее скачанный образ в качестве установочного диска.
- После того, как добавили установочный диск, Virtualbox автоматически определяет тип операционной системы и версию.
В следующем окне будет предложено выделить ресурсы для оборудования вашей виртуалки. Не рекомендую поднимать выше указанных зеленым цветом пределов, хост, да и сама виртуалка будут дико торомозить, ну и вообще может привести к краху системы при попытке запустить такую виртуалку.
Обычно я выделяю около 4 Гб ОЗУ и пару виртуальных процессоров, этого вполне хватает для тестирования чего-нибудь не слишком тяжелого в плане требований к выделяемым мощностям.
Ну и как видим на следующей картинке, на следующем экране нас просят задать размер виртуального жесткого диска, особо не заморачиваемся, выделяем около полтинника гигов, для тестов также за глаза хватает.
Ну, в целом, виртуалка к установке, готова, жмем готово и начинаем установку ОС Astra Linux как на обычном компьютере.
Видим в списке нашу первую гостевую машину (как видите, она у меня не первая, но я свернул отдельный списочек, чтобы не вводить вас в заблуждение ), будем звать ее виртуалка.
Ну и настроим сеть нашей виртуалочке, чтобы на ней тоже был интернет - выставим сетевой мост.
Настройка гостевой машины (виртуалки) на работу с общим с хостом буфером обмена, с общей с хостом папкой, настройка разрешения экрана.
Подразумеваем, что ОС Astra Linux на виртуалку у нас успешно встала, виртуалка перегрузилась, и первое, что мы видим, что размер экрана виртуалки не подгоняется под окно Virtualbox и не меняет размер.
Для того, чтобы все работало на гостевой машине, на ней нужно установить дополнения Virtualbox, который называется VBoxAdditions.
Где их взять? Да подключим образ в инструментарии самого виртуалбокса в пункте меню окна открытой виртуальной машины Устройства:
В трее всплывет окно, в котором подключаем данный образ к нашей виртуалке, ну и, соответственно, в этом же меню откроем его содержимое в менеджере файлов:
В открытом окне видим, что там содержатся дополнения для разных типов ОС, нам же нужен файл VBoxLinuxAdditions.run - это бинарный файл установщик дополнений для линукс.
Скопируем его и вставим например в домашнюю папку (ведь только к ней у нас есть доступ из-под учетной записи пользователя)
В меню менеджера файлов откроем из этого окна терминал, и пока продолжим работу в нем, полный список команд с разъяснениями под рисунком.
Переходим под root
sudo su
Проверяем корректность настройки репозиториев
apt update
Устанавливаем зависимости для корректной установки дополнений
apt install gcc make perl
Присваиваем права на исполнение (вряд ли мы смогли бы поменять права на образе)
chmod +x VBoxLinuxAdditions.run
Ну и, собственно, запускаем скрипт установки, ожидаем его завершения
./VBoxLinuxAdditions.run
Также в пункте меню открытой виртуальной машины настроим общий буфер обмена и, по аналогии, если есть необходимость, Drag and Drop, а также настроим общую папку между гостевой машиной и хостом. Заработает это все только после перезагрузки:
Кроме того, наш пользователь в виртуалке для того, чтобы мог пользоваться общей папкой, должен находиться в группе vboxsf
Сделать это мы можем командой
sudo usermod -aG vboxsf имяпользователя
ну и проверим, является ли этот пользователь членом этой группы командой
id имяпользователя
Ну и перегружаем виртуалку.
sudo reboot
Ну в принципе и все. Если есть вопросы, задавайте в комментариях к статье.