Se você instalou manualmente o TeX Live mais recente assim (instalando como root
usuário):
wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar -xvzf install-tl-unx.tar.gz
cd install-tl-*
perl ./install-tl
você pode receber erros ao tentar atualizar.
Executando tlmgr update --all
(como não root
usuário), há erros sobre o cannot write to directory
.
Usando root
(ou sudo tlmgr update --all
), os erros são da forma
tlmgr: Local TeX Live (2020) is older than remote repository (2022). Cross release updates are only supported with
update-tlmgr-latest(.sh/.exe) --update See https://tug.org/texlive/upgrade.html for details.
ou bash: tlmgr: command not found
.
Como você corrige esses problemas?
Você deveria executar a update-tlmgr-latest
coisa de cima?
Responder1
Como um usuário comum, você não deve conseguir gravar na instalação do TeX Live em todo o sistema, portanto, obter esse erro é bom e correto. Você deve usar um usuário específico do sistema (por exemplo texlive
, ) ou o superusuário root
. Usar sudo
para executá-lo é o mesmo que usar root
e funcionará (mas se você usou um usuário do sistema para a instalação inicial, você deve usar apenas esse usuário, não root
).
Se tlmgr
não for encontrado, você precisa adicionar o caminho do tlmgr
executável ao root
caminho do:
Execute sudo su - ; nano ~/.bashrc
(supondo que você use bash
como shell). Adicione uma linha semelhante à seguinte, salve e saia.
export PATH=/usr/local/texlive/2022/bin/linux-x86_64/:${PATH}
Se você obtiver o cross version error
, a correção é a mesma: adicione o caminho correto à frente do root
caminho do e ele escolherá esse.
Por que existe uma versão que você não instalou?
Geralmente, será uma versão instalada por um gerenciador de pacotes para atender a uma dependência de algo que você instalou. Isso pode ser algo tão simples quanto um editor que possui o modo TeX (o editor Kile
se encaixa nesta descrição).
O antigo TeX Live pode ser removido?
Provavelmente sim. Mas NÃO use rm
para excluí-lo. Isso causará mais problemas do que soluções. Use o gerenciador de pacotes, é para isso que serve. Ele pode tentar remover algumas coisas que você deseja, então preste atenção à lista de coisas que serão removidas.
Se você estiver no Debian Linux, existem alguns muito bonsinstruçõespor convencer seu gerenciador de pacotes ( apt
, apper
, synaptic
) de que você possui o TeX Live, para que ele não tente instalar uma versão desatualizada novamente. Você pode convencer o RPM ( yum
, dnf
) do mesmo em distros baseadas em RedHat, mas o processo exato é diferente e não é coberto por esse link. Alguém ligadounix&linux.SEpode ajudá-lo com isso, mas está fora do escopo deste site.
Atualizando versões (por exemplo, de 2022 a 2023):
Um dos erros acima especifica a execução do arquivo update-tlmgr-latest(.sh/.exe) --update
. Se você copiar esse comando e executá-lo, não funcionará. Se você estiver no Windows, você usaria update-tlmgr-latest.exe --update
e deveria funcionar. Se você estiver no Linux, use update-tlmgr-latest.sh --update
. O erro não é particularmente claro, mas também pressupõe alguma familiaridade com extensões de arquivo e formatos executáveis para vários sistemas. Não tenho nenhuma sugestão para uma mensagem de erro melhor, caso alguém que possa consertar esteja lendo isto.
Pessoalmente, eu não atualizaria a versão usando update-tlmgr-latest
. Em vez disso, eu instalaria uma nova versão, deixando a versão existente no lugar ou removendo-a quando estiver satisfeito com o fato de a nova versão estar funcionando com meus documentos.
Instalando usando um usuário do sistema:
Acima, foi mencionado o uso de um usuário do sistema, e não root
a instalação do sistema TeX Live. Veja como fazer isso:
Usando root
ou sudo
, crie um novo usuário do sistema nomeado texlive
usando o seguinte comando (ou algo substancialmente semelhante):
useradd -d /usr/local/texlive -m -r texlive
passwd -l texlive
Isso criará um usuário do sistema ( -r
), com um diretório inicial de /usr/local/texlive
( -d /usr/local/texlive -m
) e bloqueará a senha (para que não haja senha que possa fazer login na conta). Use sudo su - texlive
para mudar para o texlive
usuário e execute a instalação conforme listado na pergunta.
A principal razão para isso é a separação de responsabilidades. O texlive
usuário é usado nada mais nada menos do que a administração da instalação do TeX Live. Ele não pode ser usado para nenhuma outra administração de sistema e é muito claro quais arquivos fazem parte da instalação do TeX Live (eles são de propriedade de texlive
, não de root
).
Tópico avançado - Várias versões do TeX Live trabalhando juntas:
(a versão automática funciona no Linux, pode ou não funcionar no Mac, não funciona no Windows)
Boas notícias! É possível instalar várias versões diferentes do Tex Live, sem que elas interfiram umas nas outras. Instale cada um em um diretório separado, como /usr/local/texlive/<year>/
.
Para escolher entre versões, você pode alterar manualmente sua PATH
variável ou pode fazer com que o computador faça isso automaticamente para você. Para fazer o computador fazer isso, você pode usar o environment-modules
pacote, com um arquivo de módulo semelhante a este (crie um para cada versão do TeX Live que você instalou):
#%Module1.0#######################################################################
#
#
module-whatis "Loads settings for the TeXLive 2023"
prepend-path PATH /usr/local/tex/texlive/2023/bin/x86_64-linux
prepend-path MANPATH /usr/local/tex/texlive/2023/texmf/doc/man
prepend-path INFOPATH /usr/local/tex/texlive/2023/texmf/doc/info
Se você tiver um desses arquivos de módulo para cada versão, poderá selecionar facilmente uma versão usando module load texlive/2023
e reverter ao padrão com module remove texlive/2023
. Novamente, para obter ajuda específica sobre como usar arquivos de módulo dessa maneira,unix&linux.SEé um bom lugar para pedir ajuda (depois de consultar as páginas de manual, é claro).