- 这些行需要如何调整才能仅升级 VirtualBox(即https://launchpad.net/ubuntu/+source/virtualbox/6.1.38-dfsg-3~ubuntu1.22.04.1)来自“提议”,例如用“virtualbox”和“virtualbox-guest-utils”替换下面的星号(?)和
- 以下所有内容是什么意思?
https://wiki.ubuntu.com/Testing/EnableProposed
cat <<EOF >/etc/apt/preferences.d/proposed-updates
# Configure apt to allow selective installs of packages from proposed
Package: *
Pin: release a=$(lsb_release -cs)-proposed
Pin-Priority: 400
EOF
非常感谢您的阐释!
答案1
我将在本回答的最后提出一个框架挑战,表明这不是实现目标的最佳方式。但在此之前,这就是人们所做的以及这样做的原因。
只需按照非常明确的说明进行操作即可https://wiki.ubuntu.com/Testing/EnableProposed,做出适当的改变果酱发布。
此过程假定所使用的系统已完全升级并且具有正常运行的apt
系统。
整个过程的全景图 -
- 步骤 1:启用建议的回购
- 步骤 2:阻止 apt 自动安装建议的回购
- 步骤 3:手动安装所需的软件包建议的回购
首先让我们看看 VirtualBox 的可用版本果酱默认情况下:
apt policy virtualbox
virtualbox:
Installed: (none)
Candidate: 6.1.34-dfsg-3~ubuntu1.22.04.1
Version table:
6.1.34-dfsg-3~ubuntu1.22.04.1 500
500 http://us.archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages
6.1.32-dfsg-1build1 500
500 http://us.archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages
向前!
- 步骤 1 - 启用建议的回购如 wiki 中所述
现在让我们再次看看可用的 VirtualBox 版本
apt policy virtualbox
virtualbox:
Installed: (none)
Candidate: 6.1.38-dfsg-3~ubuntu1.22.04.1
Version table:
6.1.38-dfsg-3~ubuntu1.22.04.1 500
500 http://us.archive.ubuntu.com/ubuntu jammy-proposed/multiverse amd64 Packages
6.1.34-dfsg-3~ubuntu1.22.04.1 500
500 http://us.archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages
6.1.32-dfsg-1build1 500
500 http://us.archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages
是的,6.1.38 版本可用。但如果我们sudo apt upgrade
现在简单地执行,我们不仅会获得该版本的 VirtualBox,还会获得所有其他可能存在问题的软件包建议的repo。这是因为它的优先级与其他 repo 中的包一样为 500。
因此第 2 步
- 第 2 步 - 阻止 apt 自动安装建议存储库中的任何内容
发出一个sudo su
以便您可以写入 /etc/apt,然后按照 wiki 所述执行:
cat <<EOF >/etc/apt/preferences.d/proposed-updates
# Configure apt to allow selective installs of packages from proposed
Package: *
Pin: release a=$(lsb_release -cs)-proposed
Pin-Priority: 400
EOF
然后exit
出sudo su
。
这样做的目的是将来自建议的repo 的优先级较低,因此 apt 不会在具有更高优先级的正常 repos 中的软件包之上安装它们。
就像 wiki 上说的,通过执行 来测试它是否有效sudo apt update
。希望没有软件包正在等待升级,因为我们想要做的是阻止apt
来自建议的回購。
- 步骤 3:从建议的仓库中手动安装所需的软件包
正如 wiki 所说,按如下方式启动 aptitude:
sudo aptitude -t jammy-proposed
现在在 aptitude 中搜索virtualbox
。找到后,突出显示它并按 + 将其标记为要安装。Aptitude 也会找到并标记其依赖项。它看起来会像这样。
现在按 g 键安装软件包。完成后,退出 aptitude。
再次查看版本(请注意已安装包的优先级低至 400 - 您手动完成此操作,因此优先级不是影响因素)
apt policy virtualbox
virtualbox:
Installed: 6.1.38-dfsg-3~ubuntu1.22.04.1
Candidate: 6.1.38-dfsg-3~ubuntu1.22.04.1
Version table:
*** 6.1.38-dfsg-3~ubuntu1.22.04.1 400
400 http://us.archive.ubuntu.com/ubuntu jammy-proposed/multiverse amd64 Packages
100 /var/lib/dpkg/status
6.1.34-dfsg-3~ubuntu1.22.04.1 500
500 http://us.archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages
6.1.32-dfsg-1build1 500
500 http://us.archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages
然后运行它!
现在进行框架挑战!
我们完成了所有这些操作来安装版本 6.1.38,这是通过官方 Oracle virtualbox ppa 提供的当前版本!
virtualbox-6.1
通过安装让您的生活更轻松那里