Почему TeX Live «требует» ежегодных обновлений?

Почему TeX Live «требует» ежегодных обновлений?

Каждый год TeX Live выпускает новую версию. Насколько я помню, вскоре после выхода новой версии старая версияtlmgr перестают получать обновления пакетов. Они предоставляютинструкции по обновлениюс отказом от ответственности

Эта процедура не является абсолютно надежной и не рекомендуется к использованию.

Для Windows нет пути обновления. Глядя наистория релиза, мне не ясно, что на самом деле меняется между выпусками, так что требуется/рекомендуется полная новая установка. Я всегда думал, что TeX Live предоставляет полезные двоичные файлы (например, pdflatex, biber, иmakeindex ) и удобный способ обновленияКТАНпакеты. Что я упускаю? Почему TeX Live нужно устанавливать заново каждый год?

решение1

Хорошо, вот ответ как главного разработчика tlmgr и всей инфраструктуры TeX Live. Вам нужно решить две вещи:

  • период заморозки перед выпуском новой версии
  • возможность обновления от одной версии к другой

Что касается первого, периода заморозки: Обычно в течение года мы делаемнетвносить обновления в фактические двоичные файлы, но только в скрипты и упаковку. Это означает, что при подготовке нового релиза все двоичные файлы должны быть перекомпилированы, что является огромной задачей и требует много времени и итераций. Ошибки исправлены, код адаптирован так, чтобы он мог работать на всех платформах (а их много!). За это время мы делаемнетхочу выполнить частичные обновления некоторых двоичных файлов, поскольку иногда это необходимо сопровождать обновлениями файлов библиотек.

Другой момент заключается в том, что в период заморозки в инфраструктуру texlive и tlmgr иногда включаются критически важные новые функции, выпуск которых в мир в обычном порядке был бы слишком опасен.

И, наконец, речь идет о достижении состояния, которое можно записать на DVD.

Теперь о возможности обновления между выпусками: в первые годы причиной были изменения во внутренних компонентах, которые непозволятьобновления (типа формата внутреннего кодирования опций и т.д.). Это было в первые годы (скажем, 2008-2010) наиболее распространенной причиной. Нормальное обновление просто не былотривиальновозможно. Конечно, можно написать скрипт обновления и сделать установщик NSIS для Windows, но у нас нет на это времени. Мы волонтеры и должны сосредоточиться на важных вещах.

В последние годы (скажем, с 2010) всегда была процедура обновления, хотя мы обычно не уделяли этому много внимания; вот почему мы не рекомендуем ее. Дискового пространства в настоящее время довольно много, и поэтому иметь две параллельные установки не так уж и больно. Но все же всегда был способ обновления.

В Windows это, к сожалению, не так тривиально, поскольку деинсталлятор, реестр и т. д. привязаны к годам выпуска, это просто головная боль в Windows, но это особый случай.

Наконец, еще одна причина: во многих случаях за последний год обновление или новая установка не сильно изменили бы объем загруженных данных, как это часто бывает.всепакеты были обновлены тем или иным способом (из-за внутренних изменений), что означало, что обновление потребовало бы загрузки всех пакетов, как и установка.

Надеюсь, все это проясняет наши намерения, и если что-то непонятно или у кого-то есть идеи получше, как с этим справиться, мы открыты для предложений!

решение2

Я не могу говорить конкретно за TeX Live, но я имею отношение к дистрибутивам Linux с самого их зарождения, и я считаю, что мои наблюдения актуальны и для TeX Live (оба представляют собой наборы разрозненных частей, которые нужно выбрать, интегрировать и убедить их хорошо работать вместе, каждая часть развивается в своем собственном темпе).

Хотя в идеальном мире такая коллекция программного обеспечения поддерживалась бы вечно, это непрактично. Появляются новые пакеты, старые пакеты пересматриваются, некоторые пакеты заменяются новыми способами выполнения работы. Поддерживать, скажем, TL-2011 означало бы поддерживать «старый способ», даже если апстрим отказался от пакета (или изменил его настолько, что он больше не является заменой). Это означает бесконечный бэкпорт и исправление старых ошибок. Добровольцы для этого встречаются только среди закоренелых мазохистов.

Для обслуживания TeX Live требуются люди, знающие толк в довольно эзотерической области, и они находятся воченьдефицит. Либо они сохраняют 2011 год навсегда (и никаких 2012, 2013, ...), либо они сосредотачиваются на создании и отправке последней версии. Кроме того, работать над блестящим и новым всегда веселее, поэтому там больше возможностей привлечь новых рекрутов.

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

решение3

В дополнение к превосходному ответу @vonbrand, еще одной важной причиной ежегодного обновления и «заморозки» tex live является предоставление стабильного снимка на физическом носителе, в основном для удобства членов различных групп пользователей, но также и для пользователей tex, у которых нет удобного доступа в Интернет.

этот DVD (он больше не помещается на CD) также физически упакован с некоторыми книгами, связанными с (la)tex, особенно в Германии; эта (коммерческая) упаковка является причиной того, что все с ограничительной (несвободной) лицензией должно быть исключено из коллекции.

решение4

Чтобы добавить немного информации к ответам @vonbrand и @barbara Beeton:

Еще одна причина — изменение инфраструктуры. Некоторое время назад tlmgrбыл представлен инструмент управления с графическим интерфейсом для (в основном) пользователей Windows. Также был изменен формат пакета (я думаю, с TL2008 на TL2009) с LZO на XZ, что было невозможно без запроса новой установки, поскольку вся инфраструктура была изменена.

Но тем не менее часто возможно обновиться, например, с TL2011 на TL2012 без новой полной установки. Но будьте осторожны: этонетподдерживается разработчиками и являетсянетрекомендую! В некоторых случаях работает, в некоторых нет.

Я надеюсь, что будет своего рода схема плавного выпуска обновлений (как, например, в Arch Linux или Gentoo), поскольку эта тема несколько раз поднималась в списке рассылки TeX Live.

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