Câu trả lời:
Phiên bản TL; DR cho Debian 9 là, như 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)
Thế là xong, VirtualBox Guest Additions đã được cài đặt.
VirtualBox không có sẵn trong Debian 10 và sẽ không có sẵn trong buster-backports
cả hai. Lucas Nussbaum có một bộ gói không chính thức; nếu bạn muốn sử dụng chúng, bạn nên làm theo hướng dẫn của anh ấy (chỉ liên kết - nếu liên kết dừng hợp lệ, các gói có lẽ không có sẵn, vì vậy sao chép hướng dẫn ở đây là vô nghĩa).
Chi tiết hơn, đây là giải pháp cho Debian 7, 8 và 9, sử dụng các gói Debian:
cho Debian 7 và 8, kích hoạt các contrib
kho lưu trữ; ví dụ: cho Debian 8, hãy đảm bảo rằng bạn /etc/apt/sources.list
chứa thứ gì đó như
deb http://ftp.debian.org/debian jessie main contrib
cho Debian 9, kích hoạt backport với contrib
; để làm như vậy, thêm một dòng như
deb http://ftp.debian.org/debian stretch-backports main contrib
đến /etc/apt/sources.list
(hoặc tốt hơn nữa, một stretch-backports.list
tập tin trong /etc/apt/sources.list.d
);
cài đặt virtualbox-guest-dkms
, tiêu đề kernel và tùy chọn virtualbox-guest-x11
(đối với các tiện ích khách đồ họa):
sudo apt update
sudo apt install virtualbox-guest-dkms virtualbox-guest-x11 linux-headers-$(uname -r)
(với -t stretch-backports
sau install
trong dòng thứ hai nếu bạn đang sử dụng Debian 9).
Đó là tất cả những gì cần thiết - bạn không cần phải bổ sung các bổ sung khách trong máy ảo của mình hoặc chạy trình cài đặt. Bạn có thể thêm ba dòng yêu cầu shell vào Vagrantfile
(hoặc bất cứ thứ gì bạn sử dụng để cung cấp VM) và quên chúng đi.
Cài đặt virtualbox-guest-dkms
gói sẽ đảm bảo rằng các mô-đun hạt nhân thích hợp được tự động xây dựng (và được xây dựng lại khi nhân được nâng cấp) và cài đặt các bổ sung của khách.
(Lưu ý rằng điều này sẽ cài đặt phiên bản bổ sung dành cho khách có sẵn trong bất kỳ phiên bản Debian nào bạn đang sử dụng trong VM , có thể không khớp với phiên bản Virtual Box chạy VM - nhưng các bổ sung dành cho khách vẫn hoạt động tốt.)
Thực hiện theo các bước sau để cài đặt Bổ sung khách VirtualBox trên máy ảo Linux Debian của bạn:
Mở terminal và trở thành root
( su
); nếu bạn đã sudo
kích hoạt, bạn cũng có thể làm ví dụ sudo -i
; xem man sudo
cho tất cả các tùy chọn):
su
nhập mật khẩu root và nhấn enter
Ngoài ra, bạn có thể sử dụng sudo -s
nếu bạn đã cài đặt và người dùng nơi bạn đăng nhập có các quyền cần thiết ...
Cập nhật bộ đệm APT :
apt-get update
Cài đặt các bản cập nhật bảo mật mới nhất:
Bước này sẽ nâng cấp tất cả các gói của bạn, vì vậy hãy khôn ngoan về nó. Hãy thử các bước sau trước và chúng có thể đủ để hoạt động nếu không, sau đó thực hiện nâng cấp và thử lại.
apt-get upgrade
Cài đặt các gói cần thiết này:
Các gói
build-essential
vàmodule-assistant
cả hai đều được yêu cầu để có thể biên dịch các mô-đun hạt nhân và vì vậy khi cài đặt VirtualBox Linux Guest Additions, bạn phải có chúng. Vì vậy, lệnh này sẽ nhận được các tiêu đề và gói (trình biên dịch và thư viện) cần thiết để làm việc. Lưu ý rằng sau khi cài đặt VirtualBox Linux Guest Additions, bạn sẽ để lại một số gói cũng như các tiêu đề Linux mà bạn có thể xóa sau đó hoặc không. Trong trường hợp của tôi, họ không bị tổn thương, nhưng vì sự gọn gàng của hệ thống, bạn có thể muốn nhận sau khi chơi.
apt-get install build-essential module-assistant
Cấu hình hệ thống của bạn để xây dựng các mô-đun hạt nhân:
m-a prepare
Chèn khách bổ sung ISO:
Mở rộng menu Thiết bị và nhấp vào Chèn hình ảnh CD Bổ sung của khách ...
Nó sẽ tự động gắn kết, nhưng nếu vì bất kỳ lý do gì thì nó không:
mount /media/cdrom
Chạy đoạn script sau:
sh /media/cdrom/VBoxLinuxAdditions.run
Khởi động lại hệ thống:
reboot
sudo apt-get update && sudo apt-get install linux-headers-`uname -r`
m-a prepare
sẽ kéo linux-headers
gói, tất cả các hướng dẫn hoạt động tốt trong cài đặt Debian 9.
Một cách khác để cài đặt các addons khách VirtualBox từ kho lưu trữ Debian là sử dụng các nguồn từ nhà cung cấp. Kho lưu trữ dự kiến sẽ cung cấp mã cũ hơn và ổn định hơn trong khi các nguồn từ nhà cung cấp sẽ có các tính năng mới nhất và cập nhật bảo mật.
Tôi đã thử thành công các hướng dẫn tiếp theo trên máy khách Debian 9.4 chạy Linux kernel 4.9.0-4 bằng VirtualBox 5.0.30 và OS X 10.11.6. Đầu tiên, đính kèm hình ảnh ISO bổ trợ khách vào máy ảo và sau đó khởi động nó. Sau khi khởi động, nội dung của hình ảnh sẽ có sẵn /media/cdrom0/
. Đầu tiên, có hai gói và phần phụ thuộc của chúng phải được cài đặt:
$ sudo apt-get install linux-headers-$(uname -r) build-essential
Sau đó, chạy tập lệnh do nhà cung cấp cung cấp để xây dựng và cài đặt các mô-đun hạt nhân cần thiết:
$ cd /media/cdrom0/
$ sudo sh VBoxLinuxAdditions.run
Khởi động lại máy ảo và tận hưởng!
Trong Debian 9, gói virtualbox-guest-dkms nằm trong kho (sid) không ổn định.
Thêm cái này vào /etc/apt/sources.list
:
deb http://http.us.debian.org/debian sid main non-free contrib
Cập nhật kho và cài đặt gói
sudo apt-get update
sudo apt-get install virtualbox-guest-dkms
Tùy chọn: vô hiệu hóa kho lưu trữ bên, bởi vì nó có các bản cập nhật cho các gói mà bạn có thể không muốn.
/vagrant
VM. Vì giá treo đó là toàn bộ lý do mà tôi muốn bổ sung cho khách, nên nó vẫn bị hỏng một cách hiệu quả.