我在 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.0
,virtualbox-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