Как следует поддерживать и обновлять установку MiKTeX?

Как следует поддерживать и обновлять установку MiKTeX?

Время от времени после обновления MiKTeX установка переходит в несогласованное состояние. Это может быть проблема с пакетами (пример описан вэтот вопрос), но иногда пакеты разделяются или переименовываются. Случаи, которые я помню, это когдаamslatexбыл разделен на amsmathиamsclsи когда miktex-etex-base-2,9был переименован в miktex-etex-base-2.9(если я правильно помню; Я уверен, что это было либо так, либо что-то очень похожее). В каждом случае процесс обновления MiKTeX предлагал удалить «старые» пакеты, но не давал пользователю никаких подсказок о том, что ему придется вручную добавить соответствующие заменяющие пакеты обратно в менеджере пакетов, чтобы вернуть установку MiKTeX в работоспособное состояние.

Каковы наилучшие методы поддержания MiKTeX в актуальном состоянии?Обратите внимание, что я не спрашиваю об установке новых пакетов или шрифтов в целом; есть и другие вопросы, касающиеся этой области.

  • В каком порядке следует выполнять процесс обновления и синхронизации репозитория?
  • Согласно этому ответу, рекомендуется проверить домашнюю страницу MiKTeX перед обновлением. Что еще следует сделать?
  • Когда и в каком порядке (и почему) следует выполнять процессы «Обновить FNDB» и «Обновить форматы» в меню параметров MiKTeX?
  • Что еще может случиться? Другие советы?

решение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 загружал информацию каждый раз, когда отсутствует файл.

Когда в онлайн-репозитории добавляются новые пакеты или по какой-то причине пакеты переупорядочиваются или переименовываются, автономная база данных на вашем ПК больше не актуальна, и вам следует «синхронизировать» (меню репозитории в менеджере пакетов). Если у вас многопользовательская установка, синхронизируйтесь в обоих менеджерах пакетов (администратор + пользователь). Поскольку вы не можете знать, так ли это, вам следует использовать разумное правило: синхронизируйте каждый месяц, если менеджер обновлений удалил какой-либо пакет, перед запуском большого количества обновлений, если вы ищете новый пакет, если вы получаете странные ошибки.

Обновления

Вам следует регулярно запускать менеджер обновлений в режиме администратора + пользователя для проверки наличия новых пакетов. Прежде чем нажать кнопку «обновить», подумайте: обновления действительно изменяют систему и могут ее сломать. Не обновляйтесь, если у вас нет времени разбираться с проблемами. Не обновляйтесь, если пакеты удалены, и вы не понимаете последствий. Не повредит подождать несколько дней (у меня miktex установлен на трех системах, и их возраст отличается на несколько недель).

FNDB + форматы + файлы карт:

В общем случае, если вы устанавливаете пакеты с помощью менеджера пакетов, то никаких действий предпринимать не нужно.

Но есть и исключения:

ФНДБ

Если вы устанавливаете файлывручнуювам всегда следует обновлять FNDB (в режиме администратора и пользователя, если вы не знаете, какой из них правильный), это не повредит, если miktex не находит что-то установленное.

Форматы

Форматы пользователя (созданного кнопкой в ​​пользовательской версии настроек miktex) выигрывают у форматов администратора. Менеджер обновлений (администратор) не может обновить такой формат пользователя, поэтому вам (иногда) придется сделать это самостоятельно, если у вас есть такие форматы, нажав наформаты обновлениякнопка в настройках miktex (пользовательская версия).

На вкладке «Формат» настроек miktex вы можете исключать и включать форматы, которые хотите создать.Исключенные форматы никогда не будут обновляться автоматически.. Поэтому, если формат не меняется, проверьте его статус.

Иногда miktex забывает запустить генерацию формата после обновления базовых файлов. Тогда вам следует обновить форматы вручную в настройках miktex (администратор или пользователь в зависимости от расположения старых форматов).

Создание формата может закончиться неудачей (это случается нечасто). В этом случае сборкаодинне удалось выполнить форматирование на вкладке «Формат» в настройках miktex, скопируйте сообщение об ошибке и обратитесь за помощью.

Файлы карт

В довольно большом количестве многопользовательских установок установка на лету создавала пользовательские файлы карт. Их необходимо обновлять вручную, запуская updmapв командной строке после установки пакетов с type1-fonts.

Критические обновления

Критические обновления — это обновления, которые изменяют основные пакеты miktex (те, которые начинаются с miktex-в списке).

Трудно или невозможно отменить установку основных пакетов. Если после такого обновления двоичный файл сломается, это может серьезно помешать вашей работе. Поэтому тщательно подумайте, подходящее ли это время для обновления. Если вы находитесь в производственной среде, хорошей идеей будет немного подождать и проверить список рассылки и баг-трекер на наличие отчетов.

В некоторых случаях такие обновления также требуют некоторых новых пакетов, например, более новых версий некоторых .dllили некоторых новых инструментов. Менеджер обновлений не покажет вам новые пакеты. Он также не предупредит вас о том, что эти пакеты необходимы и должны быть установлены.

Если вы видите список обновлений, который выглядит как критический, хорошей идеей будетпервыйзапустите менеджер пакетов ((admin) в многопользовательских настройках), синхронизируйте базу данных (меню repositories), проверьте наличие неустановленных miktex-пакетов и установите их.

Если вы забыли об этом и miktex дает сбой после такого критического обновления:Не паникуйте. Обычно вы можете установить недостающие пакеты с помощью командной строки или даже вручную после загрузки с CTAN.

Связанный контент