Як встановити додатки для гостей VirtualBox у віртуальній машині Debian


Відповіді:


66

Версія TL; DR для Debian 9 є як корінь:

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 увімкніть посилання з допомогою contrib; для цього додайте рядок типу

    deb http://ftp.debian.org/debian stretch-backports main contrib
    

    до /etc/apt/sources.list(або ще краще, stretch-backports.listфайл у /etc/apt/sources.list.d);

  • встановити 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).

Це все, що потрібно - вам не потрібно монтувати гостьові доповнення у своєму VM або запускати інсталятор. Ви можете додати три рядки виклику оболонки до своїх Vagrantfile(або що б ви не використовували для надання своїх віртуальних машин) і забути про них.

Встановлення virtualbox-guest-dkmsпакета забезпечить автоматичне створення відповідних модулів ядра (та відновлення при оновленні ядра) та встановлення додатків для гостей.

(Зверніть увагу, що це встановить версію гостьових доповнень, доступну у будь-якій версії Debian, яку ви використовуєте у віртуальній машині , яка може не відповідати версії Virtual Box, що працює під керуванням VM, але гостьові доповнення все одно повинні працювати нормально.)


1
Підтверджено роботу для Debian 8.3 - 3.16.0-4-amd64 - 3.16.51-3 (2017-12-13) Ви можете встановити додаток "тільки сервер" без додавання X-11 за допомогою apt-get install --no-install -рекомендує virtualbox-guest-utils virtualbox-guest-dkms linux-headers - $ (unme -r)
Марко Россі

Дійсно цінна інформація про ефективну установку! Я вирішив використовувати vagrant-vbguest, як це запропонував Річард на superuser.com/a/1025183/187346, тому що я постійно працював у бродячих помилках спільних папок, оскільки гостьові доповнення не встановлені, але папки були вказані.
Колін

53

Виконайте наступні дії, щоб встановити додатки для відвідувачів VirtualBox на вашу віртуальну машину Linux Debian:

  1. Відкрити термінал і стати root( su); якщо ви sudoввімкнули, ви можете зробити це, наприклад sudo -i; див. man sudoдля всіх варіантів):

    su
    

введіть пароль і натисніть клавішу Enter

Ви також можете використовувати, sudo -sякщо він встановлений, і користувач, де Ви ввійшли, має необхідні права ...

  1. Оновити кеш APT :

    apt-get update
    
  2. Встановіть останні оновлення безпеки:

    Цей крок покращить усі ваші пакунки, тому будьте уважні. Спершу спробуйте виконати наступні кроки, і якщо їх немає, можливо, їх буде достатньо для роботи, а потім виконайте оновлення та повторіть спробу.

    apt-get upgrade
    
  3. Встановіть ці необхідні пакети:

    Пакети build-essentialі module-assistantобидва необхідні, щоб мати змогу збирати модулі ядра, тому при встановленні гостьових доповнень VirtualBox Linux ви повинні їх мати. Отже, ця команда отримає заголовки та пакети (компілятори та бібліотеки), необхідні для роботи. Зауважте, що після встановлення VirtualBox Linux Additions ви залишите після себе деякі пакети, а також заголовки Linux, які ви можете видалити згодом чи ні. У моєму випадку вони не зашкодили, але заради охайності системи, ви можете захотіти забрати після гри.

    apt-get install build-essential module-assistant
    
  4. Налаштуйте систему для побудови модулів ядра:

    m-a prepare
    
  5. Вставити додатки для гостей ISO:

    Розгорніть меню " Пристрої" та натисніть " Вставити зображення компакт-дисків".

  6. Він повинен встановлюватися автоматично, але якщо з будь-якої причини цього немає:

    mount /media/cdrom
    
  7. Запустіть такий сценарій:

    sh /media/cdrom/VBoxLinuxAdditions.run
    
  8. Перезавантажте систему:

    reboot
    

3
Це працює для Debian 9.
Ortomala Lokni

1
У Debian 9 це повідомлення про помилку написало "не в змозі знайти джерела вашого поточного ядра Linux".
користувач2800708

2
Вам не вистачає заголовків ядра, спробуйтеsudo apt-get update && sudo apt-get install linux-headers-`uname -r`
ximbal

також перевірте, чи є у вас актуальна установка віртуальної скриньки
Hayden Thring

2
Команда m-a prepareповинна витягнути linux-headersпакет, усі інструкції чудово працюють в програмі Debian 9.
алемані

5

Альтернативою встановлення гостьових добавок 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

Перезавантажте віртуальну машину і насолоджуйтесь!


4

У 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, оскільки в ньому є оновлення для пакетів, які ви, можливо, не захочете.


Це, здавалося, працювало до моменту, коли я перезавантажив віртуальну машину; після повернення до нього він все ще "rsync" d замість того, щоб монтувати поточний каталог хостів у /vagrantVM. Оскільки саме ця горіння була всією причиною того, що я хотів доповнення гостей, це все ще ефективно порушено.
offby1

Чи не розтягування спинок, як правило, бажано використовувати sid?
Карл Бартель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.