在 CentOS 7 上安装 VirtualBox
使用 ssh 作为 root 用户连接到 vagrant-01.onitroad.com。
使用 yum 命令安装必备软件包。
[root@vagrant-01 ~]# yum install -y kernel-devel-$(uname -r) kernel-headers gcc make perl wget
我们在上面的 yum 命令中使用了 $(uname -r)。
它需要一些澄清。
vboxdrv.service 需要与运行内核相同的内核开发模块。
否则,安装 vboxdrv.service 后会出现以下错误。
[root@vagrant-01 ~]# tail /var/log/messages Jun 16 11:22:05 vagrant-01 vboxdrv.sh: Building VirtualBox kernel modules. Jun 16 11:22:06 vagrant-01 vboxdrv.sh: This system is currently not set up to build kernel modules. Jun 16 11:22:06 vagrant-01 vboxdrv.sh: Please install the Linux kernel "header" files matching the current kernel Jun 16 11:22:06 vagrant-01 vboxdrv.sh: for adding new hardware support to the system. Jun 16 11:22:06 vagrant-01 vboxdrv.sh: The distribution packages containing the headers are probably: Jun 16 11:22:06 vagrant-01 vboxdrv.sh: kernel-devel kernel-devel-3.10.0-957.el7.x86_64 Jun 16 11:22:06 vagrant-01 systemd: vboxdrv.service: control process exited, code=exited status=1 Jun 16 11:22:06 vagrant-01 systemd: Failed to start VirtualBox Linux kernel module. Jun 16 11:22:06 vagrant-01 systemd: Unit vboxdrv.service entered failed state. Jun 16 11:22:06 vagrant-01 systemd: vboxdrv.service failed.
因此,我们使用 $(uname -r) 命令将内核版本后缀为 yum 命令以获得所需的结果。
VirtualBox 是一个免费的开源管理程序,由 Oracle Corporation 开发。
VirtualBox 的 yum 存储库配置可在 VirtualBox 官方下载页面获得。
因此,我们将首先在 CentOS 7 服务器中添加 VirtualBox 的 yum 存储库,然后我们将使用 yum 命令安装 VirtualBox。
首先,我们必须在我们的 CentOS 7 服务器中导入 Oracle 公钥。
下载 Oracle 公钥如下。
[root@vagrant-01 ~]# cd /tmp [root@vagrant-01 tmp]# wget https://www.virtualbox.org/download/oracle_vbox.asc
在我们的 CentOS 7 服务器中导入 Oracle 公钥。
[root@vagrant-01 tmp]# rpm --import oracle_vbox.asc
在我们的 CentOS 7 服务器中下载并添加 VirtualBox yum 存储库。
[root@vagrant-01 tmp]# wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -O /etc/yum.repos.d/virtualbox.repo
为新添加的存储库构建 yum 缓存。
[root@vagrant-01 tmp]# yum makecache fast
使用 yum 命令在 CentOS 7 上安装 VirtualBox。
[root@vagrant-01 tmp]# yum install -y VirtualBox-6.0
vboxdrv.service 由 VirtualBox 安装过程自动启用和启动。
检查 vboxdrv.service 的状态。
[root@vagrant-01 tmp]# systemctl status vboxdrv.service -> vboxdrv.service - VirtualBox Linux kernel module Loaded: loaded (/usr/lib/virtualbox/vboxdrv.sh; enabled; vendor preset: disabled) Active: active (exited) since Sun 2019-06-16 11:28:47 PKT; 10min ago Process: 39778 ExecStart=/usr/lib/virtualbox/vboxdrv.sh start (code=exited, status=0/SUCCESS) Jun 16 11:27:27 vagrant-01.onitroad.com systemd[1]: Starting VirtualBox Linux ... Jun 16 11:27:27 vagrant-01.onitroad.com vboxdrv.sh[39778]: vboxdrv.sh: Startin... Jun 16 11:27:27 vagrant-01.onitroad.com vboxdrv.sh[39778]: vboxdrv.sh: Buildin... Jun 16 11:28:47 vagrant-01.onitroad.com systemd[1]: Started VirtualBox Linux k... Hint: Some lines were ellipsized, use -l to show in full.
Vagrant 是一个开源软件,用于轻松配置虚拟软件开发环境。
称为 Vagrant box 的虚拟环境本质上是可移植的,可以在许多平台上使用而无需任何更改。
Vagrant 由 HashiCorp 开发并在 MIT 许可下分发。
Vagrant 利用了一个声明性配置文件,该文件描述了我们所有的软件需求、软件包、操作系统配置、用户等。
在本文中,我们将在 CentOS 7 服务器上使用 VirtualBox 安装 Vagrant。
首先,我们将安装 VirtualBox 作为 Vagrant 软件的提供者,然后我们将在 CentOS 7 上安装 Vagrant。
在 CentOS 7 上安装 Vagrant
使用 yum 命令为 Vagrant 安装必备软件包。
[root@vagrant-01 centos7]# yum install -y rsync
最新版本的 Vagrant 可在 Vagrant 官方下载页面获得。
使用 wget 命令下载 Vagrant RPM。
[root@vagrant-01 tmp]# wget https://releases.hashicorp.com/vagrant/2.2.4/vagrant_2.2.4_x86_64.rpm
使用 rpm 命令安装 Vagrant RPM。
[root@vagrant-01 tmp]# rpm -ivh vagrant_2.2.4_x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:vagrant-1:2.2.4-1 ################################# [100%]
创建一个主目录来存储 Vagrant 项目。
[root@vagrant-01 tmp]# mkdir ~/vagrant-home [root@vagrant-01 tmp]# cd ~/vagrant-home/
创建一个新的项目目录并其中为 Alpine Linux 创建一个 vagrantfile。
[root@vagrant-01 vagrant-home]# mkdir alpine [root@vagrant-01 vagrant-home]# cd alpine [root@vagrant-01 alpine]# vagrant init generic/alpine38 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.
我们已经使用 generic/alpine38 vagrant box 初始化了一个新的 Vagrant 项目。
我们可以在 Discover Vagrant Boxes 中根据我们选择的操作系统和应用程序软件找到 Vagrant box。
使用 vagrant 命令启动 Vagrant 项目。
[root@vagrant-01 alpine]# vagrant up
我们已经在 CentOS 7 上成功安装了 Vagrant 和 VirtualBox。
在 CentOS 7 上安装 VirtualBox 扩展包
VirtualBox 分为两个组件。
- 基础包
- 扩展包
我们已经在上面安装了 VirtualBox Base Package。
现在,我们正在安装 VirtualBox 扩展包来扩展 VirtualBox 软件的功能。
VirtualBox 扩展包可在 VirtualBox 官方下载页面获得。
有一个支持所有平台的 VirtualBox Extension Pack 通用包。
因此,我们使用 wget 命令下载它。
[root@vagrant-01 tmp]# wget https://download.virtualbox.org/virtualbox/6.0.8/Oracle_VM_VirtualBox_Extension_Pack-6.0.8.vbox-extpack
使用 VBoxManage 命令安装 VirtualBox 扩展包。
[root@vagrant-01 tmp]# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.0.8.vbox-extpack VirtualBox Extension Pack Personal Use and Evaluation License (PUEL) License version 10, 20 July 2017 ... Do you agree to these license terms and conditions (y/n)? y License accepted. For batch installation add 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Successfully installed "Oracle VM VirtualBox Extension Pack".
CentOS 7 服务器上已成功安装 VirtualBox 6.0 和 VirtualBox Extension Pack。