Установка TeXlive

Установка дистрибутива TeXlive.

Содержание

1 Общая информация

  • TeX Live — наиболее полный дистрибутив LaTeX, поддерживаемый TeX-сообществом.
  • Поддерживает большое количество операционных систем.
  • Разрабатывается начиная с 1996 года.
  • Был основан на дистрибутиве teTeX.
  • MacTeX — вариант для MacOS.
  • Основная страница: https://www.tug.org/texlive/.
  • TeX Live — это дистрибутив с непрерывным обновлением в рамках ежегодной версии дистрибутива.

2 Установка из пакетов дистрибутива

  • Ubuntu:
    apt install texlive-full
    

3 Сетевая установка на один компьютер

3.1 Установка с помощью дистрибутивных скриптов

  • Ссылки на сайте даны зеркала. Зеркало выбирается автоматически.
    • Скачивается инсталлятор:
    • Для Windows: запускаете исполняемый файл и устанавливаете.
    • Для Linux
      • Распаковываете скачанный файл:

        tar xzvf install-tl-unx.tar.gz
        
      • Заходите в распакованный каталог и запускаете установщик:

        cd install-tl-[0-9]*
        ./install-tl
        
        • Рекомендуется создать ссылки на исполняемые файлы в каталоге /usr/local/bin. Для этого в консольном варианте утилиты выберите опцию O, а затем L. Для возврата в предыдущее меню используйте R.

3.2 Установка с помощью менеджера пакетов

4 Поддержка сетевой установки на нескольких компьютерах

4.1 Файл-сервер

  • На файл-сервере хранится копия архива TeX Live.
  • Храним её в каталоге /com/lib/portage/extras/texlive (естественно, можно выбрать любой).
  • Данный каталог расшариваем по NFS (например).
  • Сделаем скрипт для ежедневного скачивания:
    #!/bin/bash
    # /etc/cron.daily/texlive-rsync-tree
    
    RSYNC_MIRROR=rsync://mirrors.mi.ras.ru/CTAN/
    
    mkdir -p /com/lib/portage/extras/texlive
    rsync -rltpD -v -HS --delete ${RSYNC_MIRROR}/systems/texlive/tlnet/ /com/lib/portage/extras/texlive
    

4.2 Клиенты

4.2.1 Установка

  • На клиентах вначале устанавливаем вручную. Для этого на клиенте запускаем:
    /com/lib/portage/extras/texlive/install-tl --repository=/com/lib/portage/extras/texlive
    

4.3 Обновление

  • Для обновления используем на клиенте скрипт:
    #!/bin/bash
    # /etc/cron.weekly/texlive-update
    
    if [[ -d /com/lib/portage/extras/texlive ]]
    then
        tlmgr update --repository=/com/lib/portage/extras/texlive --self
        tlmgr update --repository=/com/lib/portage/extras/texlive --all
    else
        tlmgr update --self
        tlmgr update --all
    fi
    

5 Обновление до следующей версии TeXlive

  • Рекомендуется установить новую версию TeXlive отдельно.

  • Но можно сделать ручное обновление, используя уже существующую установку.

  • Будем считать, что у нас архитектура x86_64-linux.

  • Если вы установили символические ссылки в системные каталоги (через опцию установщика или tlmgr path add), удалите их:

    tlmgr path remove
    
  • Перенесите весь каталог TeXlive так, чтобы он соответствовал новой версии, например:

    mv /usr/local/texlive/2023/ /usr/local/texlive/2024
    
  • Удалите бекапы пакетов:

    rm /usr/local/texlive/2024/tlpkg/backups/*
    
  • Создайте ссылки на исполняемые файлы:

    /usr/local/texlive/2024/bin/x86_64-linux/tlmgr path add
    
  • Загрузите последнюю версию скрипта update-tlmgr-latest.sh:

    cd /tmp
    wget https://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
    
  • Запустите скрипт:

    sh ./update-tlmgr-latest.sh -- upgrade
    
  • Если вы не хотите использовать репозиторий по умолчанию для загрузки новых файлов, то замените его:

    tlmgr option repository <reponame>
    
  • Обновите менеджер пакетов TeXlive:

    tlmgr update --self
    
  • Обновите пакеты TeXlive:

    tlmgr update --all
    
  • Установите символические ссылки на исполняемые файлы в системные каталоги (/usr/local/bin):

    tlmgr path add
    
  • Можно пересоздать кэш lualatex под пользователем:

    rm -rvf ~/.texlive2023
    luaotfload-tool -fu
    
    • Если этого не сделать, то кэш будет пересоздан при первом запуске lualatex.

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие