วิธีการติดตั้ง VirtualBox Guest Additions ในเครื่องเสมือน Debian


คำตอบ:


66

เวอร์ชัน 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 Guest Additions

VirtualBox ไม่สามารถใช้ได้ใน Debian 10 และจะไม่สามารถใช้ได้ในbuster-backportsทั้งสอง Lucas Nussbaum มีแพ็คเกจอย่างไม่เป็นทางการ หากคุณต้องการใช้คุณควรทำตามคำแนะนำของเขา (ลิงก์เท่านั้น - หากลิงก์หยุดใช้งานได้แพ็คเกจจะไม่สามารถใช้งานได้ดังนั้นการคัดลอกคำแนะนำที่นี่จึงไม่มีประโยชน์)

รายละเอียดเพิ่มเติมนี่คือคำตอบสำหรับ Debian 7, 8 และ 9 โดยใช้แพ็คเกจ Debian:

  • สำหรับ Debian 7 และ 8 ให้เปิดใช้ที่contribเก็บ; เช่นสำหรับเดเบียน 8 ต้องแน่ใจว่าคุณ/etc/apt/sources.listมีสิ่งที่ชอบ

    deb http://ftp.debian.org/debian jessie main contrib
    
  • สำหรับ Debian 9 ให้เปิดใช้งาน backport ด้วย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(หรืออะไรก็ตามที่คุณใช้เพื่อจัดเตรียม VMs ของคุณ) และลืมพวกเขา

การติดตั้งvirtualbox-guest-dkmsแพ็กเกจจะทำให้แน่ใจว่าโมดูลเคอร์เนลที่เหมาะสมนั้นจะถูกสร้างขึ้นโดยอัตโนมัติ (และสร้างใหม่เมื่ออัพเกรดเคอร์เนล) และติดตั้งส่วนเพิ่มเติมของแขก

(โปรดทราบว่าการดำเนินการนี้จะติดตั้งเวอร์ชันเพิ่มเติมของผู้เยี่ยมชมที่มีอยู่ใน Debian เวอร์ชันใดก็ตามที่คุณใช้ใน VMซึ่งอาจไม่ตรงกับเวอร์ชันของ Virtual Box ที่ใช้งาน VM - แต่การเพิ่มของผู้เยี่ยมชมควรจะทำงานได้ดี)


1
ยืนยันว่าใช้งานได้กับ Debian 8.3 - 3.16.0-4-amd64 - 3.16.51-3 (2017-12-13) คุณสามารถติดตั้ง "เซิร์ฟเวอร์เท่านั้น" โดยไม่ต้องเพิ่ม X-11 ด้วยการติดตั้ง apt-get apt-get - แนะนำ virtualbox-guest-utils virtualbox-guest-dkms ลินุกซ์ส่วนหัว - $ (uname -r)
Marco Rossi

ข้อมูลที่มีค่าจริงๆในการติดตั้งที่มีประสิทธิภาพ! ฉันเลือกใช้ vagrant-vbguest ตามที่ Richard แนะนำไว้ที่superuser.com/a/1025183/187346 เพราะฉันยังคงพบข้อผิดพลาดของคนจรจัดที่มีโฟลเดอร์ที่ใช้ร่วมกันเนื่องจากยังไม่ได้ติดตั้งการเพิ่มของผู้เยี่ยมชม แต่มีการระบุโฟลเดอร์ไว้
โคลิน

53

ทำตามขั้นตอนเหล่านี้เพื่อติดตั้ง VirtualBox Guest Additions บนเครื่องเสมือน 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 Guest Additions คุณต้องมี ดังนั้นคำสั่งนี้จะได้รับส่วนหัวและแพคเกจ (คอมไพเลอร์และห้องสมุด) ที่จำเป็นในการทำงาน โปรดสังเกตว่าหลังจากติดตั้ง VirtualBox Linux Guest Additions แล้วคุณจะทิ้งแพคเกจบางอย่างไว้รวมถึงส่วนหัวของ Linux ซึ่งคุณอาจลบในภายหลังหรือไม่ ในกรณีของฉันพวกเขาไม่ได้เจ็บ แต่เพื่อความเป็นระเบียบเรียบร้อยของระบบคุณอาจต้องการที่จะรับหลังจากเล่น

    apt-get install build-essential module-assistant
    
  4. กำหนดค่าระบบของคุณสำหรับการสร้างโมดูลเคอร์เนล:

    m-a prepare
    
  5. แทรกมาตรฐาน ISO:

    ขยายเมนูอุปกรณ์และคลิกที่ใส่รูปของผู้เยี่ยมชม CD เพิ่มเติม ...

  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
alemani

5

อีกทางเลือกหนึ่งในการติดตั้ง addons VirtualBox guest จากที่เก็บ Debian คือการใช้แหล่งข้อมูลจากผู้ขาย ที่เก็บคาดว่าจะให้รหัสเก่าและมีเสถียรภาพมากขึ้นในขณะที่แหล่งที่มาจากผู้ขายจะมีคุณสมบัติล่าสุดและการปรับปรุงความปลอดภัย

ฉันลองใช้คำแนะนำต่อไปนี้บนเดเบียน 9.4 แขกที่ใช้ Linux kernel 4.9.0-4 โดยใช้ VirtualBox 5.0.30 และ OS X 10.11.6 ก่อนอื่นให้แนบอิมเมจ addons 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 แทนที่จะติดตั้งไดเรกทอรีโฮสต์ปัจจุบันลง/vagrantใน VM เนื่องจากการเมานต์นั้นเป็นเหตุผลทั้งหมดที่ฉันต้องการให้แขกเพิ่มเติมมันก็ยังขาดได้อย่างมีประสิทธิภาพ
offby1

โดยทั่วไปแล้วการยืด backport จะไม่นิยมใช้ sid หรือไม่?
Karl Bartel
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.