Flatpak 将如何防止过时库的扩散?

Flatpak 将如何防止过时库的扩散?

对于当前的软件包系统(RPM 或 Deb),通常安装的每个库和程序只有一个主要版本。所有库都应该使用语义版本控制,因此可以轻松安装新的次要版本,而不会破坏任何内容。如果存在安全问题,该库将得到修复,并且所有相关代码都可以直接从该补丁中受益。

现在,使用 Flatpak,我发现人们会捆绑所有内容,也许是因为他们稍微修改了上游库。如果有安全更新,所有上游开发者都需要更新库。即使有了“运行时”概念,应用程序仍然可能依赖于过时版本的库。

对我来说,依赖地狱只是源于缺乏 API 稳定性纪律。如果这些库能够适当地保持其 API 的稳定性或发布新的主要版本,那就一切都很好。在 Ruby 和 Python 世界中,我经常看到有带有确切版本号的需求列表。所有这些都安装在虚拟环境中,并且一旦部署软件就永远不会更新。

Flatpak 将如何防止存在安全问题的库的便捷副本激增?

答案1

至少对于像 OpenSSL 这样的基本库来说,它们有这样的概念:运行时间。例如,GNOME、KDE ​​等。即使 Flatpak 本身是使用早期版本的运行时构建的,这些也可以升级。

然而除此之外,Flatpak 中的其他库也需要维护。显然,应用程序的作者应该维护这一点,否则主应用程序可能也不会维护,因此主应用程序也可能会遇到此问题。

相关内容