igo*_*s07 10 updates package-management
不,这不是https://askubuntu.com/questions/151283/why-dont-the-ubuntu-repositories-have-the-latest-versions-of-software的重复。
我在这里的问题仅针对最终用户软件。我完全理解关于低端包和东西的稳定性论点,但为什么每隔几天就有很多包要更新,但没有一个是关于我的常见应用程序的?
这让我们感到荒谬的是,有很多开发人员建议我们不要使用官方存储库,因为它们已经过时了。在您的沙发上,想象一个移动世界,您必须从网络上的任何地方下载您的 APK/IPA,因为 Google Play/App Store 只包含一个旧版本。
这就是 Ubuntu 上发生的事情。拥有一种易于使用的软件安装方式的魔力完全被搞砸了,因为这些东西太旧了。
示例:我的计算机上刚刚安装了 Ubuntu 16.04,Calibre 版本已经有将近 5 个月的历史了 - 2.55 在 repo 中,而 2.66 已经出来了。
如果最初的开发人员不关心维护 PPA,我们就只能像过去那样访问下载站点、获取 tarball 或 debs 以及手动安装东西。Ubuntu 曾经很酷,但现在在这方面比 Windows 老。
人为因素是这里唯一的反应吗?Ubuntu 维护人员有更多的事情要做,而不是跟上 Ubuntu 版本之间的所有软件版本?为什么软件开发人员在 Ubuntu 存储库上更新他们自己的软件并不容易/可能?
Anw*_*war 13
为什么软件开发人员在 Ubuntu 存储库上更新他们自己的软件并不容易/可能?
软件开发人员定期更新他们的软件。这就是您发现新 Calibre 版本的原因。但是,他们不会直接将更新推送到 Ubuntu 存储库。原因已在与问题相关联的答案中给出。
他们也不能总是提供 PPA,因为这会给他们增加额外的负担。然后他们需要为多个发行版提供包。并且不要忘记每个发行版都有几个非 EOL 版本!如果他们想为 Ubuntu 提供一个包,他们需要为 16.04、14.04 和 12.04 创建一个包。然后 Fedora、Debian、Arch 用户开始抱怨!这并不容易!这就是为什么 PPA 通常由第三方维护者提供的原因。
但是,还有另一种替代方法可以为当今开发的最终用户提供最新的软件。它将应用程序的每个组件打包在一个文件中。它们主要在容器等隔离环境中运行,不需要与系统中安装的当前库兼容。例如,您可以在 Xenial 中运行 gtk-3.20 应用程序,它主要与 3.18 组件一起打包。
但他们也有他们的问题!(见脚注)
一些方法是:
Ubuntu 维护人员有更多的事情要做,而不是跟上 Ubuntu 版本之间的所有软件版本?
Ubuntu 维护者努力实现每个版本的里程碑。为了保持 Ubuntu 稳定,他们需要确保每个包都按预期工作。例如,最近在这里问了一个关于在 Ubuntu 16.04 中获取最新的 KDEConnect 1.0的问题。但它透露kdeconnect1.0 需要 Qt 5.6。为了给他们 Qt 5.6,他们需要确保官方存储库中的其他包可以很好地使用它。这意味着,重新构建、重新测试所有 KDE 包,这确实是一项艰巨的任务。
如果您需要最新的尖端软件,您可以尝试使用滚动发布发行版或问题中前面提到的其他单包方法。
单文件打包的一些问题:
它们通常尺寸更大(因为它们包装了所需的一切)
安装它们会使您的系统变得更大,因为在您的系统中每个包都会使用多个相同库的副本。
这些打包格式要求包维护者自己测试与库的集成。这对他们来说是额外的负担。使用apt,yum方法,他们只关心核心应用程序。他们可以简单地假设 lib-gtk-xy-1.5 在发行版中可用。
同样,出于同样的原因,包维护者现在将被与包中包含的库相关的错误报告所困扰。在传统方法中,这是该特定 lib 包的维护者的工作。
| 归档时间: |
|
| 查看次数: |
512 次 |
| 最近记录: |