LINUX:Ubuntu安装virtualbox6.0的方法以及/sbin/vboxconfig报错处理(已解决)

文| GentlemanTsao

文章目录

  • 前言
  • 1.确认系统版本
  • 2.添加virtualBox到sources.list文件中
  • 3.下载oracle公钥
  • 4.安装virtualBox
  • 5. 安装过程的/sbin/vboxconfig报错处理
      • Step1:找到gcc的位置
      • Step2: 切换gcc和g++版本
      • Step3: 重新运行/sbin/vboxconfig,完成virtualBox安装
      • Step4:切回gcc和g++版本
      • Step5:检查gcc和g++版本及android编译是否正常

前言

博主从事android开发,宿主机是Ubuntu 16.04系统。因为要用到windows应用,故用virtualBox虚拟了windows 10系统。最新在升级virtualBox6.0遇到官网的deb文件无法安装以及安装过程中出现/sbin/vboxconfig报错的问题。

下面分享正确的安装过程及错误处理方法。

1.确认系统版本

cat /etc/lsb-release

打印如下:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

xenial即是该系统版本代号

2.添加virtualBox到sources.list文件中

运行

sudo gedit /etc/apt/sources.list

添加下面的内容,保存(xenial是第一步读到的系统版本代号)

deb https://download.virtualbox.org/virtualbox/debian xenial contrib

3.下载oracle公钥

运行

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

4.安装virtualBox

sudo apt-get install virtualbox-6.0

5. 安装过程的/sbin/vboxconfig报错处理

由于android编译环境要求gcc g++的版本为4.8以下,而Ubuntu16.04系统原始的gcc g++版本为5,相应的virtualBox要求的gcc g++版本也应该是5。这就导致android编译环境的Ubuntu运行/sbin/vboxconfig报错。从报错log能够看出,gcc的版本不兼容。
如此,处理的方法也就很明确了。

Step1:找到gcc的位置

cmd运行

whereis gcc

有如下输出

gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz

进入gcc所在目录

cd /usr/bin/gcc

Step2: 切换gcc和g++版本

首先查看当前gcc版本号

gcc -v

可以看到我本地的gcc版本是4.4,而系统原始的版本是5

gcc version 4.4.7 (Ubuntu/Linaro 4.4.7-8ubuntu1) 

下面先删除gcc和g++的链接

sudo rm gcc
sudo rm g++

再将gcc和g++链接到高版本

ln -s gcc-5 gcc
ln -s g++-5 g++

Step3: 重新运行/sbin/vboxconfig,完成virtualBox安装

sudo /sbin/vboxconfig

这时已经不再报错了。打开virtualBox看看启动是否正常。

Step4:切回gcc和g++版本

此时的gcc版本不满足android编译要求,因而还需切回低版本,方法类似

sudo rm gcc
sudo rm g++
ln -s gcc-4.4 gcc
ln -s g++-4.4 g++

Step5:检查gcc和g++版本及android编译是否正常

gcc -v
g++ -v

有疑问?请留言。

简介:
CSDN马甲:GentlemanTsao
晨讯科技资深软件工程师;
Java/Android软件专家;
高通平台modem工程师。

你可能感兴趣的:(LINUX)