应该如何维护和更新 MiKTeX 安装?

应该如何维护和更新 MiKTeX 安装?

每次更新 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或某些新工具。更新管理器不会向您显示新软件包。它也不会警告您需要这些软件包并应安装它们。

当你看到一个看起来很重要的更新列表时,最好第一的启动包管理器(多用户设置中为(管理员)),同步数据库(菜单repositories),检查是否有未卸载的miktex-包并安装它们。

如果您忘记了这一点,并且 miktex 在如此关键的更新之后失败:不要恐慌。通常,您可以使用工具的命令行版本来安装缺少的软件包,甚至可以从 CTAN 下载后手动安装。

相关内容