texlive 2016 был установлен локально в /usr/local/texlive/2016/
системе Gentoo Linux с помощью install-tl -gui
установщика.
Обновление с tlmgr
возвратами:
/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
Интересно, что texlive устанавливает файлы вне /usr/local
.
/var/lib/texmf/web2c/xetex/xelatex.fmt
обычно доверяется менеджеру пакетов операционной системы. Боюсь, это может вызвать конфликты с менеджером пакетов.
Это ошибка? Может быть, я забыл задать какую-то переменную, из-за чего TL устанавливается не в ту папку?
решение1
Вы используете tlmgr
, не отрегулировавPATH
.
tlmgr
в свою очередь вызывает fmtutil
, а в вашем случае fmtutil
установленный менеджером пакетов в/usr/bin
используется
Отрегулируйте так PATH
, чтобы он содержал /usr/local/texlive/
... перед другими PATH
компонентами.
решение2
Лучший способ убедиться, что это не так, — не допускать соприкосновения с чем-либо снаружи./usr/local/texlive
.
Если вы устанавливаете TeX Live с выделенным пользователем/группой и используете эту идентификацию для обновлений, то вы не сможете tlmgr
ничего изменить за пределами/usr/local/texlive
, даже в маловероятном случае, если ошибка или сбой заставят ее предпринять такую попытку.
Единственная часть, требующая привилегий root, — это создание пользователя и каталога, а также предоставление этому пользователю права собственности на этот каталог.
Обратите внимание, что это также предотвратит /usr/local/texlive
прикосновение к файлам за пределами устройства, если вы допустите ошибку или что-то упустите, как, по-видимому, произошло в данном случае.
Создайте пользователя/группу, например
texlive:texlive
.Убедитесь, что
/usr/local/texlive
существует и принадлежитtexlive:texlive
.su texlive
перед установкой TeX Live и перед любым использованиемtlmgr
для обновления установки, обслуживания и администрирования.