Por que receber este erro de diretiva tlmgr desconhecida?

Por que receber este erro de diretiva tlmgr desconhecida?

Faz um tempo que não uso tlmgr, mas quando tentei instalar algum pacote com ele hoje, ele retornou a seguinte mensagem:

(executando no Debian, mudando para o modo de usuário!) Diretiva desconhecida ...containerchecksum c59200574a316416a23695c258edf3a32531fbda43ccdc09360ee105c3f07f9fb77df17c4ba4c2ea4f3a5ea6667e064b51e3d8c2fe6c98 4ba3e71b4e32716955... , por favor, conserte! em /usr/share/texlive/tlpkg/TeXLive/TLPOBJ.pm linha 210, linha 5579.

Eu tentei usar a correção especificada emhttps://www.tug.org/pipermail/tex-live/2016-April/038058.html:

Você deve baixar update-tlmgr-latest.sh do repositório tlpretest e executá-lo. Depois você poderá trabalhar com o tlmgr normalmente (anunciado por Norbert há algumas horas).

Eu baixei dehttps://www.tug.org/texlive/tlmgr.html, mas retornou outro erro:

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.

Exemplo mínimo

Instale o Vanilla TeXLive 2016 de forma limpa tmlgrdepois de ter o antigo TeXLive no sistema com sucesso: não há erros/avisos em /usr/local/texlive/2016/*.log, exemplo de log completoaqui.
Execute o seguinte, mas você obterá a mesma saída acima ao tentar atualizar o sistema

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.

Responder1

Se quiser continuar a usar a versão 2015 você deve configurar o repositório para a versão arquivada com:

tlmgr option repository ftp://tug.org/historic/systems/texlive/2015/tlnet-final 

como é explicado aquiComo instalar um pacote de uma versão mais antiga do TeXLive?.

Responder2

Você está usando tlmgro TeX Live/Debian, que é a versão empacotada. Esta versão faznãotrabalho com a versão atual (2016) e não há como evitar isso.

Você tem duas opções:

  • instalar o TeX Live upstream
  • pare de usar o Debian tlmgrparainstalarpacotes, a menos que você encontre um arquivo da versão TL 2015.

Isso deve acontecer raramente quando nós (TeX Live Team) precisamos alterar o formato do banco de dados (isso não aconteceu nos últimos 5 anos ou mais, e esperamos que não aconteça por mais de 5 anos).

Responder3

Você não pode atualizar o TeXLive 2015 para o TeXLive 2016. Você deve fazer uma instalação limpa.

Deaqui:

Atualização do TeX Live 2015 para 2016

Devido a mudanças na infraestrutura, não é viável atualizar da versão TL'15 para TL'16. (Idem para MacTeX.) Faça apenas uma nova instalação.

Responder4

Tive o mesmo problema Unknown directive ...containerchecksumao usar o Debian no Docker. Para superar isso, procurei todos os meus pacotes de látex usando:

apt-get install -y apt-file
apt-file update
apt-file search <name-of-latex-package>

A maioria deles estava dentro texlive-latex-basee texlive-latex-baseo único que eu precisava era texlive-latex-extra. Usando:

apt-get install -y texlive-latex-extra

Eu poderia então construir minha imagem sem usar tlmgr.

Observe que este método instala apenas a versão antiga do texlive porque o apt-get mantém apenas a versão antiga.

informação relacionada