Cara menginstal Tambahan Tamu VirtualBox di mesin virtual Debian

46

Saya telah berjuang untuk menginstal Penambahan Tamu VirtualBox di Mesin Virtual Debian (Debian 7, Debian 8 dan Debian 9).

ximbal
sumber

Jawaban:

66

Versi TL; DR untuk Debian 9 adalah, sebagai 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)

Itu saja, Penambahan Tamu VirtualBox diinstal.

VirtualBox tidak tersedia di Debian 10, dan tidak akan tersedia di buster-backportskeduanya. Lucas Nussbaum memiliki paket yang tidak resmi; jika Anda ingin menggunakannya, Anda harus mengikuti instruksinya (hanya ditautkan - jika tautan berhenti valid, paket mungkin juga tidak tersedia, jadi menyalin petunjuk di sini tidak ada gunanya).

Secara lebih rinci, inilah solusi untuk Debian 7, 8, dan 9, menggunakan paket Debian:

  • untuk Debian 7 dan 8, aktifkan contribrepositori; misalnya untuk Debian 8, pastikan Anda /etc/apt/sources.listberisi sesuatu seperti

    deb http://ftp.debian.org/debian jessie main contrib
    
  • untuk Debian 9, aktifkan backports dengan contrib; untuk melakukannya, tambahkan baris seperti

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

    untuk /etc/apt/sources.list(atau lebih baik lagi, stretch-backports.listfile dalam /etc/apt/sources.list.d);

  • instal virtualbox-guest-dkms, header kernel, dan, secara opsional, virtualbox-guest-x11(untuk utilitas tamu grafis):

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

    (dengan -t stretch-backportssetelah installdi baris kedua jika Anda menggunakan Debian 9).

Itu saja yang diperlukan - Anda tidak perlu memasang tambahan tamu di VM Anda, atau menjalankan installer. Anda dapat menambahkan tiga baris doa shell ke Vagrantfile(atau apa pun yang Anda gunakan untuk menyediakan VM Anda) dan melupakannya.

Menginstal virtualbox-guest-dkmspaket akan memastikan bahwa modul kernel yang sesuai dibangun secara otomatis (dan dibangun kembali ketika kernel ditingkatkan), dan menginstal tambahan tamu.

(Perhatikan bahwa ini akan menginstal versi tambahan tamu yang tersedia di versi Debian mana pun yang Anda gunakan di VM , yang mungkin tidak cocok dengan versi Kotak Virtual yang menjalankan VM - tetapi penambahan tamu masih akan berfungsi dengan baik.)

Stephen Kitt
sumber
1
Dikonfirmasi bekerja untuk Debian 8.3 - 3.16.0-4-amd64 - 3.16.51-3 (2017-12-13) Anda dapat menginstal tambahan "server saja" tanpa menambahkan X-11 dengan apt-get install --no-install -recomends virtualbox-guest-utils virtualbox-guest-dkms linux-header - $ (uname -r)
Marco Rossi
Informasi yang sangat berharga tentang pemasangan yang efisien! Saya memilih untuk menggunakan vagrant-vbguest seperti yang disarankan oleh Richard di superuser.com/a/1025183/187346 karena saya terus mengalami kesalahan gelandangan dengan folder bersama karena penambahan tamu tidak diinstal tetapi folder ditentukan.
Colin
54

Ikuti langkah-langkah ini untuk menginstal Tambahan Tamu VirtualBox di mesin virtual Linux Debian Anda:

  1. Buka terminal dan menjadi root( su); jika Anda telah sudodiaktifkan, Anda juga dapat melakukannya misalnya sudo -i; lihat man sudountuk semua opsi):

    su
    

masukkan kata sandi root dan tekan enter

atau Anda dapat menggunakan sudo -sjika Anda menginstalnya dan pengguna tempat Anda masuk memiliki hak yang diperlukan ...

  1. Perbarui cache APT :

    apt-get update
    
  2. Instal pembaruan keamanan terbaru:

    Langkah ini akan meningkatkan semua paket Anda, jadi berhati-hatilah. Coba langkah-langkah berikut terlebih dahulu dan mungkin cukup untuk bekerja jika tidak, kemudian lakukan peningkatan dan coba lagi.

    apt-get upgrade
    
  3. Instal paket yang diperlukan ini:

    Paket build-essentialdan module-assistantkeduanya diperlukan untuk dapat mengkompilasi modul kernel dan ketika menginstal VirtualBox Linux Guest Additions Anda harus memilikinya. Jadi, perintah ini akan mendapatkan header dan paket (kompiler dan perpustakaan) yang diperlukan untuk bekerja. Perhatikan, bahwa setelah menginstal Tambahan Tamu VirtualBox Linux Anda, Anda akan meninggalkan beberapa paket serta header Linux, yang mungkin Anda hapus setelahnya atau tidak. Dalam kasus saya mereka tidak terluka, tetapi demi kerapian sistem, Anda mungkin ingin mengambil setelah bermain.

    apt-get install build-essential module-assistant
    
  4. Konfigurasikan sistem Anda untuk membuat modul kernel:

    m-a prepare
    
  5. Sisipkan Tambahan Penambahan ISO:

    Luaskan menu Perangkat dan klik pada Masukkan Gambar Penambahan Tamu ...

  6. Itu harus dipasang secara otomatis, tetapi jika karena alasan apa pun itu tidak:

    mount /media/cdrom
    
  7. Jalankan skrip berikut:

    sh /media/cdrom/VBoxLinuxAdditions.run
    
  8. Mulai ulang sistem:

    reboot
    
ximbal
sumber
3
Ini berfungsi untuk Debian 9.
Ortomala Lokni
1
Pada Debian 9, ini memberikan pesan kesalahan yang mengatakan "tidak dapat menemukan sumber dari kernel Linux Anda saat ini."
user2800708
2
Anda melewatkan Header Kernel, silakan cobasudo apt-get update && sudo apt-get install linux-headers-`uname -r`
ximbal
juga memeriksa Anda memiliki instalasi virtualbox terbaru
Hayden Thring
2
Perintah m-a prepareharus menarik linux-headerspaket, semua instruksi bekerja dengan baik di instalasi Debian 9.
alemani
5

Alternatif untuk menginstal tambahan tamu VirtualBox dari repositori Debian adalah dengan menggunakan sumber dari vendor. Repositori diharapkan memberikan kode yang lebih lama dan lebih stabil sementara sumber dari vendor akan memiliki fitur terbaru dan pembaruan keamanan.

Saya telah berhasil mencoba instruksi selanjutnya pada Debian 9.4 guest yang menjalankan kernel Linux 4.9.0-4 menggunakan VirtualBox 5.0.30 dan OS X 10.11.6. Pertama, lampirkan image ISO addons tamu ke mesin virtual dan kemudian mulai. Setelah boot, konten gambar akan tersedia di /media/cdrom0/. Pertama, ada dua paket dan dependensinya yang harus diinstal:

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

Kemudian, jalankan skrip yang disediakan vendor yang membangun dan menginstal modul kernel yang diperlukan:

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

Nyalakan ulang mesin virtual dan nikmatilah!

pdp
sumber
4

Dalam Debian 9, paket virtualbox-guest-dkms berada di repositori (sid) yang tidak stabil.

  • Tambahkan ini ke /etc/apt/sources.list:

    deb http://http.us.debian.org/debian sid main non-free contrib
    
  • Perbarui repositori dan instal paket

    sudo apt-get update
    sudo apt-get install virtualbox-guest-dkms
    
  • Secara opsional: nonaktifkan repositori sid, karena memiliki pembaruan untuk paket yang mungkin tidak Anda inginkan.

TimSC
sumber
Tampaknya berfungsi sampai titik ketika saya reboot mesin virtual; setelah itu muncul kembali, itu masih "rsync" d bukannya me-mount direktori host saat ini ke /vagrantdalam VM. Karena mount itu adalah seluruh alasan mengapa saya menginginkan penambahan tamu, itu masih rusak secara efektif.
offby1
Bukankah stretch-backport biasanya lebih baik daripada menggunakan sid?
Karl Bartel