下游软件包环境下的 tlmgr 问题

下游软件包环境下的 tlmgr 问题

我正在寻找有关 tlmgr 的更多详细信息。我所获得的信息来自tlmgr --help,但无法帮助解决我遇到的问题。

背景

我使用 Robby Workmantexlive.Slackbuild构建了一个 texlive 包,以便在我的 slackware 机器上安装 texlive,而不是 Slackware 自带的 tetex 安装,最高版本为 13.37。(我使用的 texlive 版本比脚本最初编写的版本更新,但这应该没什么区别。区别在于 2011 年发布的版本有几个星期。)最后,我想与一个存储库进行 rsync 并将其存储在我的服务器上,以便在我的 Windows 和 Linux 安装中使用 texlive。

我还发现,许多下游软件包制造商的理念是不提供对 tlmgr 之类的东西的支持,因为它不支持发行版软件包管理方法。好吧,它可能对许多人有用,但对我来说太局限了。(这与一些人对 cpan 采取的方法相同——如果它没有为发行版预先打包,它就不会安装;我使用 Slackware 作为基础,并根据需要扩展每个盒子。)

安装 build texlive 包后遇到的第一个问题是缺少 tlmgr 相关文件。我下载了所有相关文件。

接下来我假设我必须下载texlive.tlpdb,但这指的是所有可能使用 texlive 安装的东西。所以这不是解决方案。如果我尝试tlmgr check file执行清理,它指向/usr/share/bin不存在的位置,它可能应该引用。(这似乎是路径问题,因为中的/usr/share/texmf/bin变量引用了该位置。)$Mastertlmgr.pl

我尝试的下一件事是重新创建。我删除texlive.tlpdb并运行:tlmgr recreate-tlpdb。第一个抱怨是可以使用多个平台,并且必须使用指定它--platform=,因此我在为其构建 texlive 安装的和--platform=i386-linux中添加了。然后抱怨是平台不存在于 中。我甚至在 中添加了一个符号链接,但这也不能解决问题。texlive.tlpdb/usr/share/bin/usr/share/texmf/bin/ i386-linux/usr/share/texmf/bin

我的问题

我想知道如何让 tlmgr 工作,这样我就可以随时更新 tex-packages,而不必等待下一个版本。完整版本也太大了(大约 1.5GB),不方便时不时地下载。[如果我成为主要下载者,我目前的 ISP 合同会对我施加严厉限制,那么我还不如使用旧的 1200Bd 拨号调制解调器。]

可能的替代解决方案

我想过编写一个 perl 程序来提取texlive.tlpdb适合安装的位,但还有很多其他问题需要克服,前两个是:

  1. 软件包修订号与安装没有关联。
  2. 确定哪些集合和方案已完全安装。

另一种可能性是重建 texlive 包并将其构建为多平台,但这仍然无法解决 tlmgr 的有利位置问题/usr/share/bin

最后一种完全不同的方法是使用不同的软件包生成器,该生成器使用 tl-install 进行操作,然后针对我两个多月前创建的 texlive 存储库的本地副本创建一个软件包。之后我可能会使用 tlmgr,因为它应该是这样的,我会再次开始搜索这种方法的示例。

答案1

很抱歉您遇到了 问题tlmgr。首先,我会告诉您README.tlpkg与包文档一起安装。

当然,您已经发现这tlpkg是有问题的,所以这本身对您没有帮助。长话短说,我对工作没有兴趣tlpkg,因此根本没有(也不打算)调查它。换句话说,你在这里只能靠自己了。

答案2

简单的答案:不要使用 Slack TeX Live,而是使用适当的上游 TL。或者坚持使用 slack 中的内容。抱歉,没有其他办法。

相关内容