tlmgr
我已经有一段时间没有使用它了,但是今天当我尝试使用它安装任何包时,它返回以下消息:
(在 Debian 上运行,切换到用户模式!)未知指令 ...containerchecksum c59200574a316416a23695c258edf3a32531fbda43ccdc09360ee105c3f07f9fb77df17c4ba4c2ea4f3a5ea6667e064b51e3d8c2fe6c984ba3e71b4e32716955...,请修复它!位于 /usr/share/texlive/tlpkg/TeXLive/TLPOBJ.pm 第 210 行,第 5579 行。
我尝试使用指定的修复程序https://www.tug.org/pipermail/tex-live/2016-April/038058.html:
您必须从 tlpretest 存储库下载 update-tlmgr-latest.sh 并运行它。之后,您将能够像往常一样使用 tlmgr(几个小时前由 Norbert 宣布)。
我从https://www.tug.org/texlive/tlmgr.html,但它返回了另一个错误:
Verifying archive integrity... All good.
Uncompressing TeX Live Manager Updater............................................................................................................................................................................
./runme.sh: Cannot find TeX Live root using kpsewhich --var-value=SELFAUTOPARENT.
./runme.sh: Please set your PATH as needed, otherwise it's hopeless.
最小示例
在系统中成功安装旧版 TeXLive 后,干净地安装 vanilla TeXLive 2016 tmlgr
:没有错误/警告/usr/local/texlive/2016/*.log
,完整的日志示例这里。
运行以下命令,但在尝试更新系统时会得到与上述相同的输出
root@masi:/home/masi/Downloads/t/install-tl-20161019# tlmgr update --self
(running on Debian, switching to user mode!)
Unknown directive ...containerchecksum c59200574a316416a23695c258edf3a32531fbda43ccdc09360ee105c3f07f9fb77df17c4ba4c2ea4f3a5ea6667e064b51e3d8c2fe6c984ba3e71b4e32716955... , please fix it! at /usr/share/texlive/tlpkg/TeXLive/TLPOBJ.pm line 210, <$retfh> line 5579.
答案1
如果您想继续使用 2015 版本,您应该使用以下命令将存储库设置为存档版本:
tlmgr option repository ftp://tug.org/historic/systems/texlive/2015/tlnet-final
正如这里解释的那样如何安装旧版本的 TeXLive 软件包?。
答案2
您使用的tlmgr
是 TeX Live/Debian,即打包版本。此版本不是与当前(2016)版本兼容,并且没有办法解决这个问题。
您有两个选择:
- 安装上游 TeX Live
- 停止使用 Debian
tlmgr
的安装除非您找到 TL 2015 版本的档案,否则您将无法找到任何软件包。
这种情况很少发生,当我们(TeX Live Team)需要更改数据库格式时(过去 5 年左右没有发生过这种情况,希望 5 年以上不会发生)。
答案3
您无法将 TeXLive 2015 升级到 TeXLive 2016。您应该进行全新安装。
从这里:
从 TeX Live 2015 升级到 2016
由于基础设施的变化,从 TL'15 版本升级到 TL'16 是不可行的。(同上 MacTeX。)请进行全新安装。
答案4
我在 Docker 上使用 Debian 时遇到了同样的问题Unknown directive ...containerchecksum
。为了解决这个问题,我使用以下方法查找了所有 latex 包:
apt-get install -y apt-file
apt-file update
apt-file search <name-of-latex-package>
其中大多数都在texlive-latex-base
和中texlive-latex-base
,而我唯一需要的另一个是texlive-latex-extra
。使用:
apt-get install -y texlive-latex-extra
然后我就不用构建我的图像了tlmgr
。
注意此方法仅安装旧版本的 texlive,因为 apt-get 仅维护旧版本。