如何保留 Ubuntu 发行版本

如何保留 Ubuntu 发行版本

出于第三方软件兼容性的原因,我想安装 ubuntu 14.04.1 并保留 14.04.1 版本,直到我允许升级到 14.04.2、14.04.3 等...

我已经阅读了 ubuntu 固定说明并查看了两个类似的与包裹保存有关的 Ask Ubuntu 问题,但我没有看到明确的方法来做到这一点:

以下软件包被保留了下来,为什么以及如何解决它

如何阻止软件包升级

如何防止特定软件包的更新

我能看到的最好的事情就是用这种巧妙的方式阻止一切:

保存状态:

`dpkg --get-selections > current_selections.txt`

保留所有包裹:

`dpkg --get-selections | sed -r "s/\tinstall/hold/" |dpkg --set-selections`

在将来的某个时间点恢复未保留的包裹:

`dpkg --set-selections < current_selections.txt`

然而这似乎有点过分,我想继续运行apt-get update && apt-get upgrade并接收所有软件包的更新,除了那些构成从版本 14.04.1 升级到更高版本的软件包。

我是不是疯了,这是否违背了使用 apt-get upgrade 的精神以及 Ubuntu 关于 LTS 版本的点发布的理念,(如果是这样,那么为什么 LTS 版本会有点发布,从而破坏与其他软件的兼容性,它们不是应该是稳定且合理的静态目标吗?)

我还想到,也许将内核保持在 14.04.1 (3.13.0-32) 版本会起作用,因为 14.04.2 及更高版本的其余部分将依赖于较新的内核。我还有一种预感,是较新的内核破坏了我使用的软件,尽管供应商文档没有具体说明,我也没有得到他们的答复。

为了清楚起见,我想补充一点,我目前不知道我所运行的软件与 Ubuntu 版本 >14.04.1 之间不兼容的根源在哪里,只是供应商告诉我的,而且情况似乎确实如此。虽然我弄清楚了这些不兼容问题出在哪里,但我正在寻找一种方法,让我能够继续使用 14.04.1,同时更新不构成任何 >14.04.1 的软件包。如果答案是你不能,那没关系,我只是想知道。

TL:DR

1) 我怎样才能将 Ubuntu 保持在 14.04.1 版本并防止升级到 14.04.2 或 14.04.3,同时保留对我的软件包应用更新的能力。

2)我是否误解了 Ubuntu LTS 策略和小版本,期望小版本不会发生太大的改变以破坏兼容性?

3)我可以通过将内核保持在 14.04.1(3.13.0-32)版本来实现我的目标吗?这合理吗?

谢谢。

答案1

您(可能还有您的二进制文件的供应商)误解了 Ubuntu 点版本的含义。事情是这样的,在 14.04 发布后的某个时间点,Ubuntu 开发人员说:“好吧,14.04 已经发布一段时间了,有很多更新。对于现在安装 14.04 的人来说,必须安装所有这些更新有点令人沮丧,所以让我们创建 14.04 加上迄今为止发布的所有更新的 ISO,并将其称为 14.04.1。”然后,之后又发生了同样的事情,产生了 14.04.2,等等。

因此,“保留 14.04.1 但仍然安装更新”是矛盾的。如果您从 14.04.1 ISO 安装,然后安装更新,您将转向 14.04.2,最终您将达到它。您或您的二进制文件的供应商需要找出究竟是什么原因导致它在 14.04.1 裸机安装上可以工作,但在 14.04.2 上却不行。这是由于在安装 14.04.1 后安装了一些更新,您需要找出哪些更新,以便阻止它们。否则,它们也将作为正常更新的一部分安装。

哦,还有你的其他问题:

2) 并非如此;可以合理地假设 Ubuntu 点发布不会破坏任何东西。遗憾的是,即使是最合理的假设有时也会失败。

3) 保留内核版本是可能的,并且不会破坏您的系统。您甚至不需要做任何事情:即使安装了新内核,旧内核仍然可用。当然,如果您使用旧内核,您将无法从新内核的错误修复中受益。

答案2

你并不需要刻意地“坚持某一点发布”。

点版本之间的主要区别是 HWE Stack 包含新的内核主版本和新的xorg相关用户空间驱动程序。

当您进行常规软件包升级时,您将永远不会移动到新的内核主版本或新的图形堆栈。

内核 3.13 将获得安全和错误修复更新,直至 14.04 EOL。您无需冻结3.13.0-32

当前3.13版本是3.13.0.71.77

如果您担心版本号,您可以base-files通过运行以下命令来冻结软件包:

sudo apt-mark hold base-files

在这种情况下,您将获得所有更新,但您永远不会看到“点”发布号码。

如果你已经安装了 14.04.3,可以通过运行以下命令切换到内核 3.13:

sudo apt-get install linux-generic

然后您将需要删除linux-image3.19linux-headers版本。

相关内容