在 Ubuntu 上自动升级 VirtualBox 主要版本

在 Ubuntu 上自动升级 VirtualBox 主要版本

我在 Ubuntu 18.04 上安装了 VirtuaBox。升级到次要版本(例如从 VirtualBox 6.1.2 升级到 VirtualBox 6.1.3)非常简单,只需运行

sudo apt-get update

命令。但是,当发布主要修订版本时(例如 VirtualBox 6.0 到 VirtualBox 6.1),我必须手动卸载旧版本的 VirtualBox 并安装新版本,因为软件包名称不同(例如virtualbox-6.0virtualbox-6.1等)。

下次发布主要版本(例如 VirtualBox 6.2)时,我希望自动升级。有办法吗?

在此先感谢社区的帮助!

答案1

这完全正常。VMware Workstation 在发布主要版本之前会卸载旧版本。其他软件(非虚拟化软件)也会这样做。您必须按照供应商要求的方式进行更新(对于任何软件)

答案2

听起来除了维护/构建/修订版本之外,没有内置的自动化方法来更新 VirtualBox。对于那些可能感兴趣的人,我编写了一个 Bash 脚本,用于检查 Ubuntu 存储库中是否有新的主要或次要版本,然后如果存在则安装它:

#!/bin/bash

# Get the current virtualbox verion and parse out the major and minor numbers
curVersion=$(vboxmanage --version)
IFS='.' read -ra curVersionArray <<< "$curVersion"
majorNum=${curVersionArray[0]}
minorNum=${curVersionArray[1]}

# Get the next major and minor numbers
majorNextNum=$((majorNum + 1))
minorNextNum=$((minorNum + 1))

# Check to see if the next minor version exists
minorNext=virtualbox-$majorNum.$minorNextNum
testCache=$(sudo apt-cache search $minorNext)
if [ ! -z "$testCache" ]; then 
    echo $minorNext " found! Installing...";
    sudo apt-get -y install $minorNext
else 
    echo $minorNext " does not yet exist"; 
fi

# Check to see if the next major version exists
majorNext=virtualbox-$majorNextNum.0
testCache=$(sudo apt-cache search $majorNext)
if [ ! -z "$testCache" ]; then 
    echo $majorNext " found! Installing...";
    sudo apt-get -y install $majorNext 
else 
    echo $majorNext " does not yet exist"; 
fi

相关内容