MyTetra Share
Делитесь знаниями!
Установка Virtual Box Guest Additions в гостевой системе Debian Linux для VirtualBox 6.1
Время создания: 01.11.2022 17:38
Автор: xintrea
Текстовые метки: linux, virtualbox, виртуализация, установка, дополнения, guest, additions
Раздел: Компьютер - Linux - Виртуализация и эмуляция - VirtualBox
Запись: xintrea/mytetra_syncro/master/base/16673135042t37370hvs/text.html на raw.github.com

Для того, чтобы полноценно работала интеграция рабочего стола в VirtualBox (например, имелся общий буфер обмена), надо устанавливать две вещи:



  • Extention Pack - устанавливается как плагин VirtualBox-а
  • Guest Additions - устанавливается внутри виртуальной машины



Здесь речь идет о том, как установить именно Guest Additions.





Для гостевой системы на базе Linux, программы из набора Guest Additions устанавливаются из исходников. Чтобы исходники Guest Additions появились внутри виртуальной машины, необходимо при запущенной виртуалке выбрать в меню:



Устройства - Подключить образ диска Дополнений гостевой ОС



В результате гостевая ОС подумает, что был вставлен CD-ROM, на котором находятся исходники. Все современные Linux должны определить, что появился CD-ROM и предложат его примонтировать.


Далее надо скопировать все файлы, находящиеся на CD-ROM в отдельную директорию на жестком диске. Это необходимо сделать из-за того, что CD-ROM обычно монтируется с noexec-фалагом, который запрещает выполнять программы на устройстве CD-ROM. Таким образом, запускать скрипты прямо с CD-ROM просто так не получится. Либо нужно поковыряться, и перемонтировать CD-ROM с опциями, разрешающими исполнение программ. Но проще просто скопировать на диск внутрь виртуалки. Тем более, что эти файлы могут еще понадобиться.


Далее, перед компиляцией, надо установить заголовочные файлы ядра (kernel headers) внутри виртуальной машины, потому что установщик Guest Additions, по сути, будет компилировать модули ядра для взаимодействия с VirtualBox. Для Debian Linux эта установка происходит так.


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



# uname -r

5.10.0-18-amd64


# apt search linux-headers-$(uname -r)

linux-headers-5.10.0-18-amd64/stable 5.10.140-1 amd64

Header files for Linux 5.10.0-18-amd64



То есть, необходимо установить пакет linux-headers-5.10.0-18-amd64. Для установки пакета используется команда:



# apt install linux-headers-5.10.0-18-amd64



При выполнении данной команды предполагается, что текущий репозитарий настроен в файле /etc/apt/sources.list, и указывает на правильное хранилище. Если в данном файле настроен CD-ROM, то средствами VirtualBox надо подключить ISO-образ CD-ROM с репозитарием в качестве компакт-диска. Это можно сделать "на лету" в меню:



Устройства - Оптические диски



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



Kernel headers not found for target kernel 5.10.0-18-generic.

Please install them and execute /sbin/rcvboxadd setup



После установки заголовков ядра надо установить компилятор gcc и всякие дополнительные пакеты, чтобы сработала сборка из исходников. В Debian-based дистрибутивах для этого имеется специальный пакет build-essential. Кроме того, для сборки понадобится язык perl, который тоже надо установить:



# apt install build-essential perl



Далее можно приступать к установке Guest Additions. От пользователя root надо выполнить скрипт в скопированном ранее каталоге:



# ./VBoxLinuxAdditions.run



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


Теперь, после перезагрузки, можно включить нормальную работу буфера обмена:



Устройства - Общий буфер обмена - Двунаправленный



Так же, должны заработать общие папки. И все остальные возможности Guest Additions так же должны работать без проблем.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования