Ubuntu 如何确定用户需要什么更新?

Ubuntu 如何确定用户需要什么更新?

假设我从 .ISO 安装了一个新的 Ubuntu 发行版。安装后,来自 .ISO 的所有软件包必须:冷冻包装

冻结的软件包显然没有修补。我的问题是:当系统进行安全更新时,它如何知道哪些软件需要修补?他们是否维护软件清单和补丁历史记录,并应用 .ISO 发布和当前时间之间缺少的所有内容?

答案1

我认为你需要退后一步。我认为你不了解 Ubuntu 中的包管理是如何工作的。我会尝试从高层次解释它 — 而不是就这个主题写一整本书 — 但仍然能回答你的问题。

  • 每个 Ubuntu 版本都有自己的一组在线软件包存储库。

  • 软件包存储库(本质上)只是一个包含一堆软件包文件和一个发布文件的目录,可让你查看其中包含的软件包版本

  • 软件包版本的“冻结”状态并不意味着它们绝不获得更新。维护人员会尝试让软件包保持与发布时相同的主要版本,但安全补丁会反向移植。也有例外,Firefox 就是一个明显的例外,但我不会在这里过多地纠结于政治问题。

  • 当出现安全问题且可以修补时,维护人员会将该补丁应用于该 Ubuntu 版本中使用的软件版本(针对每个受支持的 Ubuntu 版本),并为它们构建软件包,将它们上传到 repo,然后更新发布文件。

  • 然后,Ubuntu 系统可以(通过包管理器 Apt)下载这些更新的发布文件,查看哪些包可以更新,然后下载并安装更新。

  • 安装程序还会在安装过程中提示下载这些更新。第一个恰当的Ubuntu 的运行可以使用完全更新的软件。

这应该能让你对这个过程有所了解。幕后发生了很多事情,但正如我所说,我不想在这里写一本书来讲述这件事。

“补丁历史”以及 ISO 与当前版本之间的差异实际上并不向用户公开。Ubuntu 只会尝试获取存储库中的最新版本,而软件包维护者会处理其余部分。也就是说,您可以使用(例如)查看某些软件包的软件包更改日志apt changelog gnome-shell

相关内容