tlmgr 在更新期間在 /usr/local 之外安裝檔案 --all 在 TL2016 中

tlmgr 在更新期間在 /usr/local 之外安裝檔案 --all 在 TL2016 中

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請注意,如果您犯了錯誤或忽略了某些內容,這也將防止外部文件被觸及,就像這裡的情況一樣。

  1. 建立使用者/群組,例如texlive:texlive

  2. 確保/usr/local/texlive存在並且由 擁有texlive:texlive

  3. su texlive在安裝 TeX Live 之前以及在使用 TeX Livetlmgr進行安裝更新、維護和管理之前。

相關內容