ติดตั้ง VirtualBox Guest Additions บน CentOS 7

เพื่อให้เครื่องเสมือน (guest) ที่ถูกติดตั้งใน VirtualBox ทำงานได้ดีมากขึ้น แนะนำให้ติดตั้ง Guest Additions บนระบบปฏิบัติการที่ลงบนเครื่องเสมือนด้วย ไม่ว่าจะเป็น Linux, Windows

โปรแกรม VirtualBox ได้เตรียมชุดโปรแกรม Guest Additions ไว้เป็น CD image เพื่อให้เรียกใช้ได้ เหมือนกับการเรียกใช้แผ่น CD หรือ DVD บนเครื่องเสมือน

ในที่นี้จะแสดงวิธีการติดตั้ง Guest Additions บน CentOS 7 ที่ติดตั้งบนเครื่องเสมือน

หมายเหตุ คำสั่งทั้งหมดในที่นี้รันด้วย root หรือ sudo บนเครื่องเสมือน (guest)

ติดตั้ง gcc, kernel-devel

ก่อนอื่น แนะนำให้รันคำสั่ง yum update เพื่อปรับปรุงแพ็คเกจซอฟต์แวร์ที่ติดตั้งในเครื่องเสมือนให้เป็นเวอร์ชันล่าสุด

[root@centos7 ~]# yum update

การติดตั้ง Guest Additions บนลีนุกซ์ จำเป็นต้องใช้ GNU C compiler และ Kernel header ในการคอมไพล์ตัวโปรแกรม

บน CentOS 7 ให้ใช้คำสั่ง yum ติดตั้งแพ็คเกจ gcc และ kernel-devel เพื่อใช้คอมไพล์ VirtualBox Guest Additions

[root@centos7 ~]# yum install gcc kernel-devel

คอมไพล์ Guest Additions

ในโปรแกรม VirtualBox คลิกเมนู Devices แล้วคลิกที่ Insert Guest Additions CD image

01-click-insert-guest-additions-cd-image

บนเครื่องเสมือนใช้คำสั่ง mount เพื่อ mount Guest Additions CD image เข้ากับไดเรกทอรี /media

[root@centos7 ~]# mount /dev/cdrom /media
mount: /dev/sr0 is write-protected, mounting read-only

ตัวอย่างไฟล์ที่อยู่ใน Guest Additions CD image

[root@centos7 ~]# cd /media/
[root@centos7 media]# ls -l
total 50447
dr-xr-xr-x. 2 root root     2048 Apr 28 20:28 32Bit
dr-xr-xr-x. 2 root root     2048 Apr 28 20:28 64Bit
-r-xr-xr-x. 1 root root      647 Aug 20  2015 AUTORUN.INF
-r-xr-xr-x. 1 root root     6957 Apr 28 21:22 autorun.sh
dr-xr-xr-x. 2 root root     2048 Apr 28 20:28 cert
dr-xr-xr-x. 2 root root     2048 Apr 28 20:28 OS2
-r-xr-xr-x. 1 root root     5567 Apr 28 21:22 runasroot.sh
-r-xr-xr-x. 1 root root  7996878 Apr 28 21:22 VBoxLinuxAdditions.run
-r-xr-xr-x. 1 root root 17348608 Apr 28 22:23 VBoxSolarisAdditions.pkg
-r-xr-xr-x. 1 root root 16170520 Apr 28 21:27 VBoxWindowsAdditions-amd64.exe
-r-xr-xr-x. 1 root root   268640 Apr 28 21:21 VBoxWindowsAdditions.exe
-r-xr-xr-x. 1 root root  9849688 Apr 28 21:23 VBoxWindowsAdditions-x86.exe

รันไฟล์ VBoxLinuxAdditions.run

[root@centos7 media]# ./VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.20 Guest Additions for Linux............
VirtualBox Guest Additions installer
Copying additional installer modules ...
./install.sh: line 344: bzip2: command not found
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors
./install.sh: line 357: bzip2: command not found
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

ถ้าพบข้อผิดพลาด (error) แบบนี้ ในกรณีที่คุณเลือกติดตั้ง CentOS 7 แบบขั้นต่ำ (minimal) ต้องติดตั้ง แพ็คเกจ bzip2 เพิ่มเติม

[root@centos7 media]# yum install bzip2

รันไฟล์ VBoxLinuxAdditions.run อีกครั้ง

[root@centos7 media]# ./VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.20 Guest Additions for Linux............
VirtualBox Guest Additions installer
You appear to have a version of the VBoxGuestAdditions software
on your system which was installed from a different source or using a
different type of installer. If you installed it from a package from your
Linux distribution or if it is a default part of the system then we strongly
recommend that you cancel this installation and remove it properly before
installing this version. If this is simply an older or a damaged
installation you may safely proceed.

Do you wish to continue anyway? [yes or no]
yes
Removing existing VirtualBox non-DKMS kernel modules[ OK ]
grep: /opt/VBoxGuestAdditions-*/init/*: No such file or directory
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules[ OK ]
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module[ OK ]
Building the shared folder support module[ OK ]
Building the graphics driver module[ OK ]
Doing non-kernel setup of the Guest Additions[ OK ]
Starting the VirtualBox Guest Additions Installing the Window System drivers
Could not find the X.Org or XFree86 Window System, skipping.
[ OK ]

ข้อความด้านบนแสดงผลการคอมไฟล์ (building) ชุดโปรแกรม VirtualBox Guest Additions

รีสตาร์ตเครื่อง หลังการติดตั้ง

[root@centos7 media]# shutdown -r now

หลังการบู๊ตเครื่อง ลองใช้คำสั่ง ps เพื่อดูโปรเซสที่รัน

[root@centos7 ~]# ps -ef | grep -i vbox
root       505     2  0 10:21 ?        00:00:00 [iprt-VBoxWQueue]
root       747     1  0 10:21 ?        00:00:00 /usr/sbin/VBoxService --pidfile /var/lock/subsys/vboxadd-service

ใช้คำสั่ง lsmod เพื่อดูโมดูลที่โหลด เกี่ยวกับ vbox

[root@centos7 ~]# lsmod | grep -i vbox
vboxsf                 39741  0
vboxguest             297222  2 vboxsf

ยกเลิกการติดตั้ง gcc, kernel-devel (optional)

หลังการติดตั้ง อาจยกเลิกการติดตั้งแพ็คเกจ GNU C compiler และ kernel development เพื่อประหยัดพื้นที่ รวมทั้งเพิ่มความปลอดภัยให้กับระบบ เช่น ป้องกันการคอมไพล์โปรแกรมบนเครื่อง

ใช้คำสั่ง yum history เพื่อดูประวัติการใช้ yum

[root@centos7 ~]# yum history
Loaded plugins: fastestmirror
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     4 | admin <admin>            | 2016-05-06 10:17 | Install        |    1
     3 | admin <admin>            | 2016-05-06 09:48 | Install        |   35
     2 | admin <admin>            | 2016-05-06 09:41 | I, U           |   70
     1 | System <unset>            | 2016-05-06 09:39 | Install        |  285
history list

ระบุออปชัน list ตามด้วย ID เพื่อดูว่า เราใช้คำสั่ง yum ทำอะไร

เช่น ID 4 เราใช้ yum เพื่อติดตั้งแพ็คเกจ bzip2

[root@centos7 ~]# yum history list 4
Loaded plugins: fastestmirror
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     4 | install bzip2            | 2016-05-06 10:17 | Install        |    1
history list

bzip2 จำเป็นต้องใช้ ไม่แนะนำให้ยกเลิกการติดตั้ง

ส่วน ID 3 เราใช้ yum เพื่อติดตั้งแพ็คเกจ gcc และ kernel-devel

[root@centos7 ~]# yum history list 3
Loaded plugins: fastestmirror
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     3 | install gcc kernel-devel | 2016-05-06 09:48 | Install        |   35
history list

ใช้คำสั่ง yum history undo 3 เพื่อยกเลิกการติดตั้งแพ็คเกจ gcc และ kernel-devel รวมทั้งแพ็คเกจที่เกี่ยวข้องที่ถูกติดตั้งมาด้วย (dependencies)

[root@centos7 ~]# yum history undo 3

ข้อมูลอ้างอิง

Leave a Reply

Your email address will not be published.