Виртуальная CentOS 7 на Ubuntu
Введение
CentOS 7
это последний CentOS, который получил поддержку
от RedHat на весь жизненный цикл.
Пока что
это один из самых популярных rpm диструбутивов
Linux
поэтому многие устанавливают его на виртуальные машины, например,
для тестирования софта, который разрабатывается для RedHat.
Если вам нужен бесплатный, но более современный, аналог CentOS7 - присмотритесь к
Rocky Linux
Centos 7 на Ubuntu
Установить virtualbox в Ubuntu можно командой
sudo apt install virtualbox
Запустить VirtualBox можно командой
virtualbox
Host-only Adapter
Чтобы иметь возможность создавать Host-only Adapter нужно создать
виртуальную сеть через которую такие адаптеры будут общаться.
В главном окне VirtualBox нажмите
File →
Host Network Manager →
Create

Нажмите Properties

Проверьте значения во вкладке Adapter

Проверьте значения во вкладке DHCP Server

Перейдите в настройки нужной виртуальной ОС → Выберите Network → Выберите нужный адаптер → Подсоедините его к только что созданной сети

You have the Auto capture keyboard option turned on. This will cause the Virtual Machine to automatically capture the
Это означает, что когда вы наведёте курсор на окно работающей вирутальной машины он перехватится и будет работать как курсор мыши
в этой ОС.
Чтобы вернуть курсор обратно обычно достаточно нажать правый CTRL. В правом нижмем углу окна с виртуальной машиной обычно
видна подсказка.
Установка образа из сети
New

Придумайте название и выберите из списка Red Hat (64-bit) если это не произошло автоматически

Memory size оставьте дефолтным. В этом примере - 1024 MB
Create a virtual hard disk now → Create
Hard disk file type → VDI (VirtualBox Disk Image) → Next
Storage on physical hard disk → Dynamically allocated → Next
File location and size → 8.00 GB → Create
Когда дойдёте до экрана ниже - нажмите Settings → Network

Attached to: NAT Network.
Хотя бы одна
NAT Network
должна быть предварительно создана в VirtualBox

Adapter 2 → Enable Network Adapter → Attached to: Host-only Adapter
Хотя бы одна
Host-only
сеть должна быть предварительно создана в VirtualBox (File - )

Нажмите Start
Если вы уже устанавливали из каких-то образов - может появится список на выбор

Выберите образ. Можно ограничиться Minimal либо взять DVD с большим количеством дополнительных опций.

Install CentOS 7 → Enter
English → English (United States)
Date Time → Helsinki → Done
Network & Host Name
Измените Host name и включите оба адаптера
Этот шаг необходим для установки по сети - с выключенным адаптером к сети не подлючиться.

Done

Installation Destination - просто зайдите и нажмите Done
Installation Source

→ On the network:
http://mirror.gnu.fi/centos/7.9.2009/os/x86_64/
Обратите внимание на url. В прошлый раз скачивать нужно было с такой же но вместо os было isos для сетевой установки нужно именно os
Done

Установка дополнительного софта
Если вы устанавливаете из большого .iso образа, такого как DVD, можно прямо во время установки выбрать дополнительный софт и сэкономить время в будущем.
Software Selection

Обратите внимание на скриншот: здесь можно выбрать какие компоненты CentOS будут установлены.
Например, если вам в будущем понадобится GUI проще всего поставить его прямо отсюда.
Мой обычный набор это GNOME Desktop + Development Tools + Security Tools + System Administration Tools
Если ничего из этого не понадобится оставляйте Minimal. Всегда можно доставить вручную.
Minimal Install → Done

Begin Installation

Reboot

Настройка после установки
После перезагрузки выполните
sudo yum -y update
yum install -y redhat-lsb-core net-tools epel-release kernel-headers kernel-devel
yum groupinstall -y "Development Tools"
Подключение к вирутальной машине
Выполните
ip a s
Или
nmcli conn show
Чтобы изучить сетевые подключения.
Если какой-то интерфейс, например enp0s3, выключен, включить его можно командой
nmcli conn up enp0s3
Чтобы не включать сетевой интерфейс каждый раз вручную можно в настройках прописать ONBOOT yes
Как вариант можно перейти в /etc/sysconfig/network-scripts/
и отредактировать файл
ifcfg-enp0s3
с помощью
vi
либо под root использовать
sed
sudo sed -i s/ONBOOT=no/ONBOOT=yes/ /etc/sysconfig/network-scripts/ifcfg-enp0s3
Если команда выше вам не до конца понятна - изучите статью «Основы sed»
Проверить получилось ли изменить ONBOOT на yes можно командой
grep ONBOOT !$
Более подробную инструкцию можете изучить в статье «Настройка сети в CentOS»
Увеличить разрешение экрана
Чтобы просто увеличить экран достаточно зайти в
Settings → Display → Screen
И увеличить Scale Factor
Станет лучше видно, но разрешение останется прежним.
Чтобы увеличить разрешение нужно установить
Guest Additions
по инструкции из следующего параграфа.
Guest Additions
Следующий важный шаг - установка Guest Additions.
Перед тем как её начать убедитесь:
ONBOOT=yes
в настройках сетевых интерфейсов.
gcc
установлен
В верхнем меню нажмите
Devices → Insert Guest Additions CD image…
Если вы нажимаете туда не в первый раз - получите ошибку так как Guest Additions CD image уже создан и занимает собой ваш виртуальный CD-ROM - в этом случае сразу переходите к следующему шагу
Далее система может попросить вас скачать Guest Additions.
Просто следуйте инструкции и затем дождитесь установки. Некоторое время может быть чёрный экран.
Затем появится диалоговое окно с предложением
Open Autorun Prompt
Нажмите OK
Появится сообщение This medium contains software intended to be automatically started. Would you like to run it?
Нажмите Run

Введите пароль

Далее, в зависимости от версии Virtualbox может запуститься либо не запуститься консоль.
Если запустилось само - ждите пока установка закончится.

Установка занимает довольно много времени. Подождите хотя бы десять минут.
Она может зависнуть - тогда откройте второй терминал и там выполните reboot
Перед перезагрузкой можно проверить установились ли Guest Additions
lsmod | grep -i vbox
Дождитесь пока не появится что-то похожее (хотя бы первые две строки)
vboxsf 81005 0 vboxguest 349038 2 vboxsf vboxvideo 35867 0 drm_kms_helper 186531 2 vmwgfx,vboxvideo ttm 96673 2 vmwgfx,vboxvideo drm 456166 6 ttm,drm_kms_helper,vmwgfx,vboxvideo
Если не запустилась - запустите самостоятельно и станьте суперпользователем. Выполните
su -
mount
найдите строку с VBOXADDITIONS и выполните
/run/media/andrei/VBOXADDITIONS… run
Пример:
mount | grep VBox
/dev/sr0 on /run/media/andrei/VBox_GAs_6.1.18 type iso9660 (ro,nosuid,nodev,relatime,uid=1000,gid=1000,iocharset=utf8,dmode=0500,mode=0400,uhelper=udisks2)
ls /run/media/andrei/
VBox_GAs_6.1.18
/run/media/andrei/VBox_GAs_6.1.18/V
Нажмите табуляцию, чтобы изучить варианты
VBoxDarwinAdditionsUninstall.tool VBoxWindowsAdditions-amd64.exe VBoxWindowsAdditions-x86.exe VBoxLinuxAdditions.run VBoxWindowsAdditions.exe
Выбираем VBoxLinuxAdditions.run и тогда команда выглядит так:
/run/media/andrei/VBox_GAs_6.1.18/VBoxLinuxAdditions.run
Verifying archive integrity... All good. Uncompressing VirtualBox 6.1.18 Guest Additions for Linux........ VirtualBox Guest Additions installer Copying additional installer modules ... Installing additional modules ... VirtualBox Guest Additions: Starting. VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules. This may take a while. VirtualBox Guest Additions: To build modules for other installed kernels, run VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup <version> VirtualBox Guest Additions: or VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup all VirtualBox Guest Additions: Building the modules for kernel 3.10.0-1160.24.1.el7.x86_64.
Теперь нужно перезагружить ОС
reboot
После успешной установки захват мыши должен работать лучше. Также должна появится возможность
переходить в полноэкранный режим.
Обычно переход в полноэкранный режим осуществляется нажатием
Host + F. Host это обычно та же самая клавиша, которая освобождала захваченный курсор мыши. В
моём случае это правый CTRL.
Guest Additions позволят вам, например, растягивать экран по своему усмотрению

Далее следует увеличить разрешение экрана.
В настройки можно перейти кликнув в правом верхнем углу.

Затем нужно перейти в Devices → Display и выбрать Resolution

После успешной установки Guest Additions советую сделать клон вашей виртуалки и пользоваться им. А оригинальную версию оставить «про запас» чтобы в случае сбоя не устанавливать всё заново, а просто сделать новый клон.
Клонирование виртуальной машины
Чтобы клонировать машину достаточно выключить её и использовать Clone (Ctrl - O) из
контекстного меню.
Даже если вы запросите отдельные MAC адреса у клона может остаться такой же machine-id
Это приводит к дублированию IP адреса в NAT-Network
На обеих машинах выполните
cat /etc/machine-id
4ab7d70cacd0d33ca5bc9b2344e5e328
И сравните их между собой
Adapters




После установки и перезагрузки скорее всего придётся снова зайти в NETWORK & HOST NAME и включить адаптеры

Ошибки
При нажатии
Devices → Insert Guest Additions CD image…
Может появиться ошибка
Unable to insert the virtual optical disk /usr/share/virtualbox/VBoxGuestAdditions.iso into the machine CentOS7_Desktop2. Could not mount the media/drive '/usr/share/virtualbox/VBoxGuestAdditions.iso' (VERR_PDM_MEDIA_LOCKED). Result Code: NS_ERROR_FAILURE (0x80004005) Component: ConsoleWrap Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed} Callee: IMachine {85632c68-b5bb-4316-a900-5eb28d3413df}
Скорее всего ваш виртуальный CD-ROM уже чем-то занят. Например, вы уже добавляли
Guest Additions
и забыли об этом.
Найдите CD-ROM, например, на рабочем столе и сделайте Eject
Без NAT Network
Если выключить адаптер, который подключен к NAT Network и оставить только Host Only Adapter - пропадёт возможность выходить во внешнюю сеть
ip route show
192.168.56.0/24 dev enp0s8 proto kernel scope link src 192.168.56.180 metric 100
ping ya.ru
ping: ya.ru: Name or service not known
route
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.56.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s8
netstat -rn
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s8
ip r
192.168.56.0/24 dev enp0s8 proto kernel scope link src 192.168.56.180 metric 100
Автор статьи: Андрей ОлеговичVirtualBox | |
Установка | |
NAT Network | |
VBoxManage Manual | |
Виртуальная CentOS 7 на Ubuntu | |
Терминал VirtualBox | |
Windows 7 на VirtualBox Debian | |
Guest Additions | |
Разбор ошибок | |
CentOS | |
Ubuntu |