Jak zainstalować Dodatki dla gości VirtualBox na maszynie wirtualnej Debiana


Odpowiedzi:


66

Wersja TL; DR dla Debian 9 jest jako 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)

To wszystko, dodatki VirtualBox Guest są zainstalowane.

VirtualBox nie jest dostępny w Debianie 10 i nie zostanie udostępniony w buster-backportsżadnym z nich. Lucas Nussbaum ma nieoficjalny zestaw pakietów; jeśli chcesz ich użyć, powinieneś postępować zgodnie z jego instrukcjami (tylko link - jeśli link przestanie być ważny, pakiety prawdopodobnie też nie są dostępne, więc skopiowanie instrukcji tutaj nie ma sensu).

Bardziej szczegółowo, oto rozwiązanie dla Debiana 7, 8 i 9 przy użyciu pakietów Debiana:

  • w przypadku Debiana 7 i 8 włącz contribrepozytoria; np. dla Debian 8, upewnij się, że /etc/apt/sources.listzawiera coś takiego

    deb http://ftp.debian.org/debian jessie main contrib
    
  • dla Debian 9 włącz backports przy pomocy contrib; aby to zrobić, dodaj linię podobną do

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

    do /etc/apt/sources.list(lub jeszcze lepiej, stretch-backports.listpliku w /etc/apt/sources.list.d);

  • install virtualbox-guest-dkms, nagłówki jądra i opcjonalnie virtualbox-guest-x11(dla graficznych narzędzi gościa):

    sudo apt update
    sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
    

    (z -t stretch-backportspo installw drugiej linii, jeśli używasz Debiana 9).

To wszystko, czego potrzeba - nie musisz montować dodatków gości na maszynie wirtualnej ani uruchamiać instalatora. Możesz dodać trzy wiersze wywołań powłoki do swoich Vagrantfile(lub cokolwiek, czego używasz do udostępniania swoich maszyn wirtualnych) i zapomnieć o nich.

Zainstalowanie virtualbox-guest-dkmspakietu zapewni automatyczne zbudowanie odpowiednich modułów jądra (i przebudowanie po aktualizacji jądra) oraz zainstalowanie dodatków gościa.

(Pamiętaj, że spowoduje to zainstalowanie wersji dodatków gościa dostępnych w dowolnej wersji Debiana, której używasz na maszynie wirtualnej , która może nie pasować do wersji Virtual Box z uruchomioną maszyną wirtualną - ale dodatki dla gości powinny nadal działać poprawnie).


1
Potwierdzono pracę dla Debian 8.3 - 3.16.0-4-amd64 - 3.16.51-3 (2017-12-13) Możesz zainstalować dodatek „tylko do serwera” bez dodawania X-11 z apt-get install --no-install poleca virtualbox-guest-utils virtualbox-guest-dkms linux-headers - $ (uname -r)
Marco Rossi

Naprawdę cenne informacje na temat wydajnej instalacji! Zdecydowałem się użyć vagrant-vbguest, zgodnie z sugestią Richarda z superuser.com/a/1025183/187346, ponieważ ciągle napotykałem błędne błędy w udostępnianych folderach, ponieważ dodatki gości nie zostały zainstalowane, ale zostały określone.
Colin

53

Wykonaj następujące kroki, aby zainstalować Dodatki dla gości VirtualBox na maszynie wirtualnej z systemem Linux Debian:

  1. Otwórz terminal i zostań root( su); jeśli sudowłączyłeś, możesz również zrobić na przykład sudo -i; zobacz man sudowszystkie opcje):

    su
    

wprowadź hasło roota i naciśnij enter

alternatywnie możesz użyć, sudo -sjeśli masz zainstalowany, a użytkownik, do którego jesteś zalogowany, ma niezbędne uprawnienia ...

  1. Zaktualizuj pamięć podręczną APT :

    apt-get update
    
  2. Zainstaluj najnowsze aktualizacje zabezpieczeń:

    Ten krok spowoduje uaktualnienie wszystkich twoich pakietów, więc bądź mądry. Najpierw spróbuj wykonać następujące czynności, a jeśli to nie wystarczy, wykonaj aktualizację i spróbuj ponownie.

    apt-get upgrade
    
  3. Zainstaluj te wymagane pakiety:

    Pakiety build-essentiali module-assistantoba są wymagane, aby móc skompilować moduły jądra, więc podczas instalowania dodatków gościa VirtualBox Linux musisz je mieć. To polecenie sprawi, że nagłówki i pakiety (kompilatory i biblioteki) będą wymagane do działania. Zauważ, że po zainstalowaniu Dodatków dla gości Linux VirtualBox pozostawisz niektóre pakiety, a także nagłówki Linuksa, które możesz później usunąć lub nie. W moim przypadku nie bolały, ale ze względu na porządek w systemie możesz chcieć odebrać po graniu.

    apt-get install build-essential module-assistant
    
  4. Skonfiguruj system do budowania modułów jądra:

    m-a prepare
    
  5. Wstawianie dodatków gości ISO:

    Rozwiń menu Urządzenia i kliknij Włóż obraz dysku CD z dodatkami gości ...

  6. Powinien zamontować się automatycznie, ale jeśli z jakiegokolwiek powodu nie:

    mount /media/cdrom
    
  7. Uruchom następujący skrypt:

    sh /media/cdrom/VBoxLinuxAdditions.run
    
  8. Uruchom ponownie system:

    reboot
    

3
Działa to dla Debiana 9.
Ortomala Lokni

1
W systemie Debian 9 pojawił się komunikat o błędzie „nie można znaleźć źródeł twojego aktualnego jądra Linux”.
user2800708

2
Brakuje nagłówków jądra, spróbujsudo apt-get update && sudo apt-get install linux-headers-`uname -r`
ximbal

sprawdź także, czy masz aktualną instalację Virtualbox
Hayden Thring

2
Polecenie m-a preparepowinno pobrać linux-headerspakiet, wszystkie instrukcje działają poprawnie w instalacji Debian 9.
alemani

5

Alternatywą do instalowania dodatków gości VirtualBox z repozytorium Debian jest użycie źródeł od dostawcy. Oczekuje się, że repozytorium zapewni starszy i bardziej stabilny kod, podczas gdy źródła od dostawcy będą miały najnowsze funkcje i aktualizacje zabezpieczeń.

Z powodzeniem wypróbowałem następujące instrukcje dotyczące gościa Debian 9.4 z jądrem Linux 4.9.0-4 przy użyciu VirtualBox 5.0.30 i OS X 10.11.6. Najpierw dołącz obraz ISO dodatków gościa do maszyny wirtualnej, a następnie uruchom go. Po uruchomieniu zawartość obrazu będzie dostępna w /media/cdrom0/. Po pierwsze, należy zainstalować dwa pakiety i ich zależności:

$ sudo apt-get install linux-headers-$(uname -r) build-essential

Następnie uruchom skrypt dostarczony przez dostawcę, który buduje i instaluje niezbędne moduły jądra:

$ cd /media/cdrom0/
$ sudo sh VBoxLinuxAdditions.run

Uruchom ponownie maszynę wirtualną i ciesz się!


4

W Debianie 9 pakiet virtualbox-guest-dkms znajduje się w repozytorium niestabilnym (sid).

  • Dodaj to do /etc/apt/sources.list:

    deb http://http.us.debian.org/debian sid main non-free contrib
    
  • Zaktualizuj repozytoria i zainstaluj pakiet

    sudo apt-get update
    sudo apt-get install virtualbox-guest-dkms
    
  • Opcjonalnie: wyłącz repozytorium sid, ponieważ zawiera aktualizacje pakietów, których możesz nie chcieć.


Wydawało się, że działa aż do momentu ponownego uruchomienia maszyny wirtualnej; po ponownym uruchomieniu nadal „rsync” d zamiast montowania bieżącego katalogu hosta /vagrantna maszynie wirtualnej. Ponieważ ten wierzchowiec był jedynym powodem, dla którego chciałem dodawać gości, nadal jest skutecznie zepsuty.
offby1

Czy zwykle nie zaleca się stosowania stretch-backports zamiast sid?
Karl Bartel,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.