tlmgr instala arquivos fora de /usr/local durante a atualização --all em TL2016

tlmgr instala arquivos fora de /usr/local durante a atualização --all em TL2016

O texlive 2016 foi instalado localmente em /usr/local/texlive/2016/um sistema Gentoo Linux pelo install-tl -guiinstalador.

Uma atualização com tlmgrretornos:

/usr/local/texlive/2016/bin/x86_64-linux# ./tlmgr update --all

[..] 
Transcript written on xelatex.log.
fmtutil [INFO]: /var/lib/texmf/web2c/xetex/xelatex.fmt installed.
fmtutil [WARNING]: inifile csplain.ini for pdfcsplain/xetex not found.
fmtutil [INFO]: Disabled formats: 6
fmtutil [INFO]: Successfully rebuilt formats: 3
fmtutil [INFO]: Not selected formats: 40
fmtutil [INFO]: Failed to build: 1 (xetex/pdfcsplain)
fmtutil [INFO]: Total formats: 50
fmtutil [INFO]: exiting with status 1

Eu me pergunto se o texlive instala arquivos fora do /usr/local. /var/lib/texmf/web2c/xetex/xelatex.fmtgeralmente é confiado ao gerenciador de pacotes do sistema operacional. Temo que isso possa gerar conflitos com o gerenciador de pacotes.

Isso é um inseto? Existe uma variável que esqueci de definir e o resultado foi que o TL foi instalado na pasta errada?

Responder1

Você está usando tlmgrsem ter ajustado o PATH.

tlmgrpor sua vez, chama fmtutile, no seu caso, o fmtutilinstalado pelo gerenciador de pacotes in /usr/biné usado.

Ajuste PATHpara conter /usr/local/texlive/... antes dos outros PATHcomponentes.

Responder2

A melhor maneira de ter certeza de que não é esse o caso é não permitir que ele toque em nada externo /usr/local/texlive.

Se você instalar o TeX Live com um usuário/grupo dedicado e usar essa identidade para atualizações, então não será possível tlmgrtocar em nada fora do /usr/local/texlive, mesmo no caso improvável de um bug ou erro causar a tentativa.

A única parte que requer privilégios de root é a criação do usuário e do diretório, e dar a esse usuário a propriedade desse diretório.

Observe que isso também evitará que arquivos externos /usr/local/texlivesejam tocados caso você cometa um erro ou ignore algo, como parece ser o caso aqui.

  1. Crie usuário/grupo, por exemplo texlive:texlive.

  2. Certifique-se de que /usr/local/texliveexista e seja propriedade de texlive:texlive.

  3. su texliveantes de instalar o TeX Live e antes de qualquer uso tlmgrpara atualizações de instalação, manutenção e administração.

informação relacionada