在 CentOS 上安装及使用 VirtualBox
VirtualBox(VB)的开发正在迅速地进行,而这页的信息也许已经过时。现时的 Linux 下载页已经收录了一个 yum 软件库配置文件。很不幸地这些 RPM 组件并未能得体地处理重大版本升级。VB 内置的更新通知亦不整全,并且只会报告规模更新(例如:5.1.6->5.1.8),而不会报告主要更新(例如:4->5)。此刻,你必须先删除旧的版本,然后才能安装一个新的主要版本,否则组件在升级时会遇上 RPM 冲突。请细心阅读 VB 的使用手册;然而,截至本文它仍未能称职地讨论 RPM 的安装。最新详情可参阅 VB 的网站。好消息就是,这些新版本拥有重大改善及崭新功能,而它们与旧虚拟机器有良好的兼容性。 |
可供选用及获支持的版本有 VirtualBox-7.0(VirtualBox-7.0-7.0.0_153978)及 VirtualBox-6.1(VirtualBox-6.1-6.1.40_154048)。要拥有 7.1/6.1 版的所有功能,你亦需要 VirtualBox Extension Pack,它支持 USB 2.0/3.0 设备、RDP 及利用 Intel 网络卡以PXE 开机。 |
有关运用 CentOS 作为 VB 客端的信息,请参阅 CentOS 作为 VirtualBox 的客端操作系统。
另外参阅此篇 关于 VirtualBox 的 Red Hat Developer 文章。
请注意 VirtualBox 是 Oracle Corporation(它收购了 Sun Microsystems)的产品。CentOS 计划并不提供,也不支持它,但是在论坛或虚拟化邮件列表上发问也许会获得解答。
1. VirtualBox 是什么?
VirtualBox 是一套为不同操作系统而设的 x86 虚拟化产品。它是一个机器/硬件的虚拟化产品,亦即监督器,功能上与 VMware Server、Parallels Workstation、QEMU、KVM、及 Xen 相若,并能支持各种客端操作系统,当中包括 Windows(Server 2003-2012、Vista、7、8 及 10)、DOS/Windows 3.x、Linux(2.4 及 2.6)、Solaris/OpenSolaris、与及 OpenBSD。它的支持者声称它是「在 GNU General Public License(GPL)下唯一个以开源程序免费供应的专业方案」。
VirtualBox 以原生组件的方式提供给不同构架。它们有针对 RHEL5/RHEL6/RHEL7 的 i386 及 AMD64(x86_64)RPM 组件,可在 CentOS-5/6/7(或 Scientific 及其它衍生自 RHEL 的发行版本)上使用,此外还有针对 Debian、Ubuntu 及其衍生的 .deb 组件,Mac OS-X,Windows,Solaris 和 OpenSolaris,与及源代码。
2. 为何用 VirtualBox?
虽然它不及那些修改 Linux 内核的操作系统级虚拟化方案,如 Xen、KVM、OpenVZ、或 Vserver 般高效率,它却是容易安装及使用。优点包括:
- 备有 RPM 组件
积极的社区支持
- 执行各种客端操作系统
- 良好的硬件访问支持,包括声音、USB、及串口
- 支持不少主体操作系统
- 容许你执行微软的操作系统及应用程序而不会搞乱你的计算机或要双重开机
3. 安装 VirtualBox
VirtualBox 的网页内收录了很多高质素的文件,包括:
- 用户文档
- 技术性文件
- 源代码库的时间表
- 改动的清单(修改日志)
这份文章会简略地介绍安装的过程。现在同时备有 i386 及 AMD64(x86_64)版本。
你须要以 root 的身份完成下列步骤。请登录 root 的指令壳,或在一个终端窗口内输入 "su -"。
- 注:你也可选择下载及安装个别的 RPM 而不设置软件库。这个方法已记载在 VB 的网站里,因此不会包含在这里。
cd /etc/yum.repos.d wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
- 假若你不想软件库缺省是被启用的,你可选择加入 enabled=0 这一行。这样你便须要在 yum 指令内加入 --enablerepo virtualbox 才能访问该软件库。
安装 VB 时是须要创建内核模块的。假如 DKMS(Dynamic Kernel Module Support)已被安装,它会被应用,并会简化内核升级。我们推荐在安装 VirtualBox 前,首先从 EPEL 软件库安装 DKMS。切勿忘记设置 yum-priorities 插件。安装 DKMS 将会自动带进所需的开发用依赖组件:
yum --enablerepo=epel install dkms
有位论坛用户声称所有来自 Dell 的新版 DKMS 都可能有错误。 |
如果你不采用 DKMS,而开发环境及内核的源代码仍未被安装:
{{{yum groupinstall "Development Tools" yum install kernel-devel }}}
你也可选择只安装最少量的个别开发工具组件(最低限度需要 gcc 及 make),而不进行某些人视为太重型的 groupinstall。要是你使用 PAE 内核的话,请以 kernel-PAE-devel 代替 kernel-devel。如果你使用的并非标准 CentOS 内核,你必须从提供内核给你的地方取得并安装内核的源代码。切勿尝试在 Xen 内核上使用 VirtualBox,或者在客端操作系统里安装一个 Xen 内核。
- 注:如果 CentOS 是客端的操作系统,这些组件亦会被用来创建「Guest Additions」驱动程序。
安装 RPM:
yum install VirtualBox-5.2
假如开发环境已被正确地设置,这个安装程序将会创建 vboxusers 这个群组及它所需的内核模块。
请为每一个会执行 VirtualBox 的用户执行:
usermod -a -G vboxusers 用户名称
或者利用图像界面的 Users and Groups 工具。
4. 执行 VirtualBox
请以 vboxusers 群组内一位成员的身份执行 VB。在 VirtualBox-4.0 或 4.1 你可以选择通过图像界面的 File / Preferences / Extensions 选项安装 VirtualBox Extension Pack。这个程序需要 root 的密码。
在终端機的命令行内输入 "VirtualBox &"
在 GNOME 或 KDE 里执行「应用程序/系统工具/Oracle VM VirtualBox」
接纳授权,选择会否注册,然后创建一个新的虚拟机器。VMware 的虚拟机器应该可应用在 VirtualBox 上。请在 Google 用 "vmware to virtualbox" 寻找信息。
你可以从选单或在网上取得帮助。
5. 在 VirtualBox 内运用 USB
VirtualBox 访问 USB 时要求用户对 usbfs 设备有写入权限。请以 root 的身份执行以下指令:
mkdir /vbusbfs echo "none /vbusbfs usbfs rw,devgid=$(awk -F : '/vboxusers/ {print $3}' /etc/group),devmode=664 0 0" >> /etc/fstab mount -a
- 如果 CentOS 是虚拟机器内的一个客端操作系统,在安装 VBox Guest Additions 之先,开发用及 DKMS 的组件亦同样须要安装在虚拟机器上。
VB 用户也许会对 phpVirtualBox 以 PHP 实践 VirtualBox 使用界面感兴趣。
请不要将关于 VirtualBox 的问题电邮到 CentOS 的邮件列表(CentOS-virt 除外),或者带到 CentOS 的 IRC 频道。请使用 VirtualBox 社区的支持资源或 CentOS 论坛。
这页的英文版本由 PhilSchaffner 创建,它现时由 ChristophGaluschka 维护。欢迎其它 Wiki 用户作出更正、添加、或修改。
Translation of revision 168