Почему возникает эта ошибка tlmgr Unknown directive?

Почему возникает эта ошибка tlmgr Unknown directive?

Я не пользовался им tlmgrнекоторое время, но когда я сегодня попытался установить какой-либо пакет, он выдал следующее сообщение:

(работает на Debian, переключаюсь в пользовательский режим!) Неизвестная директива ...containerchecksum c59200574a316416a23695c258edf3a32531fbda43ccdc09360ee105c3f07f9fb77df17c4ba4c2ea4f3a5ea6667e064b51e3d8c2fe6c984ba3e71b4e32716955... , пожалуйста, исправьте это! в /usr/share/texlive/tlpkg/TeXLive/TLPOBJ.pm строка 210, строка 5579.

Я попытался использовать исправление, указанное наhttps://www.tug.org/pipermail/tex-live/2016-April/038058.html:

Вам нужно скачать update-tlmgr-latest.sh из репозитория tlpretest и запустить его. После этого вы сможете работать с 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 2016 после tmlgrуспешного наличия старого TeXLive в системе: нет ошибок/предупреждений /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

Вы используете tlmgrTeX Live/Debian, то есть упакованную версию. Эта версия ненетработать с текущей версией (2016 г.), и обойти это невозможно.

У вас есть два варианта:

  • установить апстрим TeX Live
  • прекратить использование Debian tlmgrдляустановитьпакетов, если вы не найдете архив версии TL 2015.

Это должно происходить лишь изредка, когда нам (команде TeX Live) необходимо изменить формат базы данных (за последние 5 лет этого не случалось, и, надеемся, не произойдет еще более 5 лет).

решение3

Вы не можете обновить TeXLive 2015 до TeXLive 2016. Вам следует выполнить чистую установку.

Отздесь:

Обновление с TeX Live 2015 до 2016

Из-за изменений в инфраструктуре обновление с версии TL'15 до TL'16 невозможно. (То же самое и с MacTeX.) Пожалуйста, просто выполните новую установку.

решение4

У меня была та же проблема Unknown directive ...containerchecksumс Debian на Docker. Чтобы преодолеть это, я просмотрел все свои пакеты 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 поддерживает только старую версию.

Связанный контент