为什么 TeX Live “要求”每年更新?

为什么 TeX Live “要求”每年更新?

TeX Live 每年都会发布一个新版本。我记得新版本发布后不久,旧版本的tlmgr停止获取软件包更新。他们提供升级说明免责声明

此过程并非万无一失,也不特别推荐

Windows 没有升级途径。发布历史,我不清楚版本之间到底有什么变化,以至于需要/建议进行全新安装。我一直认为 TeX Live 提供了有用的二进制文件(例如,pdflatexbibermakeindex)以及一种方便的更新方式加拿大运输安全局软件包。我遗漏了什么?为什么 TeX Live 每年都需要重新安装?

答案1

好的,作为 tlmgr 和整个 TeX Live 基础设施的主要开发人员,这里有一个答案。你必须决定两件事:

  • 新版本发布前的冻结期
  • 从一个版本升级到下一个版本

关于前者,冻结期:通常我们会在一年内不是对实际的二进制文件进行更新,但只对脚本和打包进行更新。这意味着,在准备新版本时,必须重新编译所有二进制文件,这是一项艰巨的任务,需要大量的时间和迭代。修复错误,调整代码,使其可以在所有平台上构建(而且有很多!)。在此期间,我们不是想要对一些二进制文件进行部分升级,因为有时需要伴随库文件更新。

另一点是,在冻结期间,texlive 基础设施和 tlmgr 中有时会包含一些关键的新功能,如果按照正常方式向全世界发布这些功能,那就太危险了。

最后,它还进入了可以压印到 DVD 的状态。

现在讨论版本之间的可升级性:最初几年的原因是内部变化没有允许升级(如选项内部编码格式等)。这是头几年(比如 2008-2010 年)最常见的原因。正常升级根本不可能平凡地有可能。当然,可以编写升级脚本并制作适用于 Windows 的 NSIS 安装程序,但我们没有时间这样做。我们是志愿者,必须集中精力于重要的事情。

在过去的几年里(比如说从 2010 年开始),一直有一个升级程序,尽管我们通常不会对其进行大量测试;这就是我们不推荐它的原因。如今磁盘空间非常充足,因此同时进行两个安装并不是一件麻烦事。但仍然,总是有升级的方法。

不幸的是,在 Windows 上,这并不是那么简单,因为卸载程序和注册表等都与发布年份相关,这在 Windows 上简直是件痛苦的事,但这是一个特例。

最后,还有一个原因:在过去一年中,很多情况下,更新或新安装不会对下载的数据量产生太大影响,因为全部这些软件包以某种方式更新(由于内部变化),这意味着升级将涉及下载所有软件包,就像安装一样。

我希望这一切能让我们的意图更加清晰,如果有什么不清楚的地方,或者有人有更好的想法来处理它,我们愿意接受建议!

答案2

我不能专门代表 TeX Live 发言,但我从一开始就参与了 Linux 发行版的研究,我相信我对它的观察也适用于 TeX Live(两者都是一些不同部分的集合,必须选择、集成并确信它们可以很好地协同工作,每个部分都按照自己的速度发展)。

虽然在理想情况下,这样的软件集合将永远得到维护,但这并不实际。新软件包不断出现,旧软件包不断被彻底改造,一些软件包被新的工作方式所取代。例如,维护 TL-2011 意味着要保持“旧方式”的运作,即使上游已经放弃了该软件包(或对其进行了如此大的改动,以至于它不再是一个临时替代品)。这意味着无休止地向后移植和修复旧错误。只有彻头彻尾的受虐狂才会自愿这样做。

TeX Live 的维护需要对某个深奥领域有深入了解的人,而这些人非常供不应求。他们要么永远维护 2011(没有 2012、2013 等),要么专注于构建和发布最后一个版本。此外,使用 shiny&new 总是更有趣,因此更有可能吸引新员工。

也许它们足以使两个版本保持合理的更新,但我猜不是(因为他们已经决定他们没有足够的人力,所以强制每年升级)。

答案3

除了@vonbrand的出色回答之外,每年升级和“冻结”tex live的一个重要原因是在物理媒体上提供稳定的快照,这主要是为了造福各个用户组的成员,同时也是为了那些无法方便地访问互联网的tex用户。

这张 DVD(它不再适合放在 CD 上)也与一些 (la)tex 相关的书籍一起进行实体包装,特别是在德国;这种(商业)包装就是为什么任何具有限制性(非免费)许可证的东西都必须排除在收藏之外的原因。

答案4

向@vonbrand 和@barbara beeton 的答案添加更多信息:

另一个原因是要改变基础设施。不久前,tlmgr管理工具推出了一个图形界面,主要面向 Windows 用户。此外,软件包格式也从 LZO 更改为 XZ(我认为是从 TL2008 更改为 TL2009),如果不要求重新安装,这是不可能的,因为整个基础设施都发生了变化。

但尽管如此,通常还是可以从 TL2011 更新到 TL2012,而无需进行任何全新完整安装。但要小心:这是不是得到了开发人员的支持,并且不是推荐!它在某些情况下有效,但在其他情况下无效。

我希望会有一种滚动发布方案(例如 Arch Linux 或 Gentoo),因为这是 TeX Live 邮件列表中多次讨论过的话题。

相关内容