![應如何維護和更新 MiKTeX 安裝?](https://rvso.com/image/266412/%E6%87%89%E5%A6%82%E4%BD%95%E7%B6%AD%E8%AD%B7%E5%92%8C%E6%9B%B4%E6%96%B0%20MiKTeX%20%E5%AE%89%E8%A3%9D%EF%BC%9F.png)
更新 MiKTeX 後,每隔一段時間,安裝就會進入不一致的狀態。這可能是軟體包的問題(示例在這個問題),但有時包會被分割或重新命名。我記得的案例是amslatex
被分成amsmath
和amscls
以及何時miktex-etex-base-2,9
重新命名為miktex-etex-base-2.9
(如果我沒記錯的話;我確信它要么是那個,要么是非常相似的東西)。在每種情況下,MiKTeX 更新過程都建議刪除「舊」包,但它沒有向用戶提供任何提示,表明他必須手動將相應的替換包添加回包管理器中,以使 MiKTeX 安裝恢復到可用狀態。
保持 MiKTeX 最新的最佳實踐是什麼?請注意,我並不是詢問安裝新的軟體包或字型;而是詢問安裝新的軟體包或字型。還有其他涉及該領域的問題。
- 應按什麼順序執行儲存庫的更新程序和同步?
- 根據這個答案,建議更新前先查看MiKTeX首頁。還應該做什麼?
- 何時以及以何種順序(以及為什麼)執行 MiKTeX 選項選單中的「刷新 FNDB」和「更新格式」進程?
- 還會發生什麼事?其他建議?
答案1
2018 年新增功能:MiKTeX 控制台
2018 年,出現了一個新工具 MiKTeX 控制台,它統一了以前使用的所有三個工具(設定、套件管理器、更新管理器)。
您可以使用控制台檢查更新、安裝新軟體包、新增本機根目錄以及執行大部分維護任務。現在還新增了用於管理格式和語言的選項卡。
控制台可以在兩種模式下運行(管理員和使用者),根據文檔,在多用戶安裝時將詢問您要使用哪種模式。如下所述,您將需要兩個都模式。
現在可以透過帶有條目的任務選單來完成儲存庫的同步tasks->Update package database
。
FNDB 可以使用 進行更新tasks-> Refresh file name database
。
任務選單中的新條目是重新建立字體對應的條目。這意味著不再需要updmap
在命令列上運行。tasks->Refresh font map files
可以用它代替。
一些文件在這裡https://miktex.org/howto/miktex-console
2018 年編輯:Windows 與 Linux
當我寫這個答案時,MiKTeX 確實只在 Windows 上運行。現在Linux版本出現了。請注意,那裡的情況可能有所不同,例如安裝需要一些特殊步驟(https://miktex.org/howto/install-miktex-unx)。檢查文檔!
管理員+使用者模式
如果您有多用戶安裝,則必須在以下位置維護 miktex兩個都模式。僅靠管理模式無法完成所有操作,它無法更新使用者安裝的軟體包,也無法更新使用者擁有的格式以及 FDNB 和地圖檔案。
因此,在兩種模式下執行更新管理器並同步兩個套件管理器。有時您也必須以使用者身分建立格式並更新地圖檔案(請參閱下文)。
同步
Miktex 有一個離線資料庫,其中包含有關可用軟體包、其內容以及如何安裝它們的資訊。 Miktex 需要這樣一個離線資料庫來進行即時安裝:除了其他問題之外,如果 miktex 每次丟失文件時都會下載信息,它還會大大減慢編譯速度。
當新的軟體包添加到線上儲存庫時,或者由於某種原因重新排列或重命名軟體包時,您PC 上的離線資料庫不再是最新的,您應該「同步」(軟體包管理器中的菜單存儲庫)。如果您有多用戶安裝,請在兩個套件管理器(管理員+用戶)中同步。由於您不知道是否屬於這種情況,因此您應該使用明智的經驗法則:每月同步一次,如果更新管理器刪除了某些軟體包,在運行大量更新之前,如果您正在尋找新軟體包,如果您得到奇怪的錯誤。
更新
您應該定期在管理員+使用者模式下執行更新管理器來檢查新軟體包。在點擊「更新」按鈕之前,請動動你的大腦:更新確實會改變系統,因此可能會破壞它。當你沒有時間處理問題時不要更新。如果軟體包被刪除並且您不了解其含義,請不要更新。等待幾天並沒有什麼壞處(我在三個系統上都有 miktex,它們的年齡相差幾週)。
FNDB + 格式 + 地圖檔:
一般來說,如果您使用套件管理器安裝套件,則無需執行任何操作。
但也有例外:
聯邦國家資料庫
如果您安裝文件手動你應該總是更新 FNDB(在管理員+用戶模式下,如果你不知道哪一個是正確的),當 miktex 似乎沒有找到安裝的東西時,這樣做並沒有什麼害處。
格式
使用者格式(使用 miktex 設定的使用者版本中的按鈕建立)勝過管理格式。更新管理器(管理員)無法更新此類使用者格式,因此如果您有此類格式,您(有時)必須自行更新,方法是單擊更新格式miktex 設定(使用者版本)中的按鈕。
在 miktex 設定的格式標籤中,您可以排除並包含要建立的格式。排除的格式永遠不會自動更新。因此,如果格式沒有改變,請檢查其狀態。
有時 miktex 會忘記在更新基本檔案後觸發格式產生。然後,您應該在 miktex 設定中手動更新格式(管理員或用戶,取決於舊格式的位置)。
格式的創建可能會失敗(這種情況並不經常發生)。在這種情況下構建一miktex 設定中格式標籤的格式失敗,複製錯誤訊息並尋求協助。
地圖檔案
在相當多的多用戶安裝中,即時安裝創建了用戶映射檔案。updmap
安裝帶有 type1-fonts 的軟體包後,必須透過在命令列上 運行來手動更新它們。
重要更新
關鍵更新是更改核心 miktex 軟體包(miktex-
清單中以 開頭的軟體包)的更新。
恢復核心軟體包的安裝是困難甚至不可能的。如果在這樣的更新之後二進位檔案被破壞,它可能會嚴重影響您的工作。因此,請仔細考慮是否是進行更新的正確時機。如果您處於生產環境中,最好稍等一下,然後檢查郵件清單和錯誤追蹤器中的報告。
.dll
在某些情況下,此類更新還需要一些新的軟體包,例如某些或某些新工具的更新版本。更新管理器不會向您顯示新軟體包。它也不會警告您需要並且應該安裝這些軟體包。
當您看到看起來可能很重要的更新清單時,最好第一的啟動套件管理器(多用戶設定中的(admin)),同步資料庫(選單repositories
),檢查是否有已卸載的miktex-
套件並安裝它們。
如果您忘記了這一點並且 miktex 在進行如此重要的更新後失敗:請勿恐慌。通常,您可以使用命令列版本的工具安裝缺少的軟體包,甚至可以在從 CTAN 下載後手動安裝。