Ответы:
Версия TL; DR для Debian 9 является пользователем root:
echo deb http://ftp.debian.org/debian stretch-backports main contrib > /etc/apt/sources.list.d/stretch-backports.list
apt update
apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
Вот и все, гостевые дополнения VirtualBox установлены.
VirtualBox недоступен в Debian 10 и не будет доступен buster-backports
ни в одном из них. Лукас Нуссбаум имеет неофициальный набор пакетов; если вы хотите их использовать, вы должны следовать его инструкциям (только по ссылке - если ссылка перестает быть действительной, пакеты также предположительно недоступны, поэтому копировать инструкции здесь бессмысленно).
Более подробно, вот решение для Debian 7, 8 и 9, использующее пакеты Debian:
для Debian 7 и 8 включите contrib
репозитории; например, для Debian 8, убедитесь, что ваш /etc/apt/sources.list
содержит что-то вроде
deb http://ftp.debian.org/debian jessie main contrib
для Debian 9 включите backports с помощью contrib
; для этого добавьте строку вроде
deb http://ftp.debian.org/debian stretch-backports main contrib
к /etc/apt/sources.list
(или еще лучше, stretch-backports.list
файл в /etc/apt/sources.list.d
);
install virtualbox-guest-dkms
, заголовки ядра и, опционально, virtualbox-guest-x11
(для графических гостевых утилит):
sudo apt update
sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
(с -t stretch-backports
последующим install
во второй строке, если вы используете Debian 9).
Это все, что нужно - вам не нужно монтировать гостевые дополнения в вашей виртуальной машине или запускать установщик. Вы можете добавить три строки вызовов оболочки к себе Vagrantfile
(или к тому, что вы используете для подготовки своих виртуальных машин) и забыть о них.
Установка virtualbox-guest-dkms
пакета гарантирует, что соответствующие модули ядра будут автоматически собраны (и перестроены при обновлении ядра), и установит гостевые дополнения.
(Обратите внимание, что при этом будет установлена версия гостевых дополнений, доступная в любой версии Debian, которую вы используете на ВМ , которая может не совпадать с версией Virtual Box, на которой работает ВМ - но гостевые дополнения все равно должны работать нормально.)
Выполните следующие действия для установки гостевых дополнений VirtualBox на виртуальной машине Linux Debian:
Откройте терминал и станьте root
( su
); если вы sudo
включили, вы также можете сделать, например sudo -i
; см. man sudo
все варианты):
su
введите пароль root и нажмите ввод
В качестве альтернативы вы можете использовать его, sudo -s
если он установлен, а пользователь, в который вы вошли, имеет необходимые права ...
Обновить кэш APT :
apt-get update
Установите последние обновления безопасности:
Этот шаг обновит все ваши пакеты, так что будьте мудры в этом. Сначала попробуйте выполнить следующие шаги, и их может быть достаточно для работы, если нет, затем выполните обновление и повторите попытку.
apt-get upgrade
Установите эти необходимые пакеты:
Пакеты
build-essential
иmodule-assistant
оба должны иметь возможность компилировать модули ядра, поэтому при установке гостевых дополнений VirtualBox Linux они должны быть. Таким образом, эта команда получит заголовки и пакеты (компиляторы и библиотеки), необходимые для работы. Обратите внимание, что после установки гостевых дополнений VirtualBox для Linux вы оставите после себя некоторые пакеты, а также заголовки Linux, которые вы можете впоследствии удалить или нет. В моем случае они не пострадали, но ради системной чистоты, вы можете взять трубку после игры.
apt-get install build-essential module-assistant
Сконфигурируйте свою систему для сборки модулей ядра:
m-a prepare
Вставьте гостевые дополнения ISO:
Разверните меню « Устройства» и нажмите « Вставить образ гостевого дополнения» ...
Он должен монтироваться автоматически, но если по какой-либо причине это не так:
mount /media/cdrom
Запустите следующий скрипт:
sh /media/cdrom/VBoxLinuxAdditions.run
Перезагрузите систему:
reboot
sudo apt-get update && sudo apt-get install linux-headers-`uname -r`
m-a prepare
должна вытащить linux-headers
пакет, все инструкции работают нормально при установке Debian 9.
Альтернативой установке гостевых надстроек VirtualBox из репозитория Debian является использование источников от поставщика. Предполагается, что репозиторий будет предоставлять более старый и более стабильный код, в то время как исходные тексты от поставщиков будут иметь самые последние функции и обновления безопасности.
Я успешно попробовал следующие инструкции для гостевого Debian 9.4 под управлением ядра Linux 4.9.0-4 с использованием VirtualBox 5.0.30 и OS X 10.11.6. Сначала прикрепите ISO-образ гостевых дополнений к виртуальной машине, а затем запустите его. После загрузки содержимое образа будет доступно в /media/cdrom0/
. Во-первых, необходимо установить два пакета и их зависимости:
$ sudo apt-get install linux-headers-$(uname -r) build-essential
Затем запустите предоставленный поставщиком скрипт, который собирает и устанавливает необходимые модули ядра:
$ cd /media/cdrom0/
$ sudo sh VBoxLinuxAdditions.run
Перезагрузите виртуальную машину и наслаждайтесь!
В Debian 9 пакет virtualbox-guest-dkms находится в нестабильном хранилище (sid).
Добавьте это к /etc/apt/sources.list
:
deb http://http.us.debian.org/debian sid main non-free contrib
Обновите репозитории и установите пакет
sudo apt-get update
sudo apt-get install virtualbox-guest-dkms
Необязательно: отключите репозиторий sid, поскольку в нем есть обновления для пакетов, которые вам могут не понадобиться.
/vagrant
на ВМ. Так как это монтирование было единственной причиной, по которой я хотел добавить гостевые дополнения, оно все еще эффективно сломано.