Ubuntu 软件更新内部是如何实现的?

Ubuntu 软件更新内部是如何实现的?

我需要这些信息以便能够在自己的软件分发中实现相同的机制。

答案1

这个问题有点太大了,但从最高层次来说:

  1. 软件被打包为 .deb 包并放入 APT 存储库
  2. APT(高级打包工具)整理这些存储库并通过和dpkg等实用程序实现搜索和安装它们(通过)。apt-getapt-cache
  3. 软件中心和更新管理器等应用程序位于 APT 实用程序和库的前端。

当更新某些内容时,将重建软件包。控制文件存储更高的版本号,并且(通常)文件名也反映此版本。这会上传到存储库,并且软件包索引会更新以显示新版本。

当一台计算机(具有此存储库)更新其自己的软件包列表时,它会抓取所有存储库的软件包列表并选择最新的可用软件包(例如,apt-cache policy linux通常会显示多个可用版本)作为“可用”软件包。

当用户执行upgradedist-upgrade(通过apt-get或其中一个更高级的图形工具)时,将下载并安装这些软件包的最新版本。

相关内容