Si ha instalado manualmente la última versión de TeX Live de esta manera (instalando como root
usuario):
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
Es posible que obtenga errores al intentar actualizar.
Al ejecutar tlmgr update --all
(como no root
usuario), hay errores sobre cannot write to directory
.
Usando root
(o sudo tlmgr update --all
), los errores son de la 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.
o bash: tlmgr: command not found
.
¿Cómo se solucionan estos problemas?
¿Deberías ejecutar la update-tlmgr-latest
cosa desde arriba?
Respuesta1
Como usuario normal, no debería poder escribir en la instalación de TeX Live en todo el sistema, por lo que recibir ese error es bueno y correcto. Debería utilizar un usuario específico del sistema (p. ej texlive
.) o el superusuario root
. Usar sudo
para ejecutarlo es lo mismo que usar root
y funcionará (pero si usó un usuario del sistema para la instalación inicial, solo debe usar ese usuario, no root
).
Si tlmgr
no se encuentra, debe agregar la ruta al tlmgr
ejecutable a la root
ruta de:
Ejecute sudo su - ; nano ~/.bashrc
(asumiendo que lo usa bash
como shell). Agregue una línea similar a la siguiente, luego guarde y salga.
export PATH=/usr/local/texlive/2022/bin/linux-x86_64/:${PATH}
Si obtiene cross version error
, la solución es la misma: agregue la ruta correcta al frente de root
la ruta y elegirá esa.
¿Por qué hay una versión que no instalaste?
Generalmente, será una versión instalada por un administrador de paquetes para cumplir con una dependencia de algo que haya instalado. Esto puede ser algo tan simple como un editor que tenga modo TeX (el editor Kile
se ajusta a esta descripción).
¿Se puede eliminar el antiguo TeX Live?
Probablemente si. Pero NO lo use rm
para eliminarlo. Eso causará más problemas de los que resuelve. Utilice el administrador de paquetes, para eso sirve. Es posible que intente eliminar algunas cosas que desee, así que preste atención a la lista de cosas que se eliminarán.
Si estás en Debian Linux, hay algunos muy buenos.instruccionespor convencer a su administrador de paquetes ( apt
, apper
, synaptic
) de que tiene TeX Live, para que no intente instalar una versión desactualizada nuevamente. Es posible que pueda convencer a RPM ( yum
, dnf
) de lo mismo en las distribuciones basadas en RedHat, pero el proceso exacto es diferente y no está cubierto por ese enlace. Alguien enunix y linux.SEEs posible que pueda ayudarlo con eso, pero está fuera del alcance de este sitio.
Actualización de versiones (por ejemplo, de 2022 a 2023):
Uno de los errores anteriores especifica la ejecución de update-tlmgr-latest(.sh/.exe) --update
. Si copia ese comando y lo ejecuta, no funcionará. Si estás en Windows, usarías update-tlmgr-latest.exe --update
y debería funcionar. Si estás en Linux, usa update-tlmgr-latest.sh --update
. El error no es particularmente claro, pero también supone cierta familiaridad con las extensiones de archivos y los formatos ejecutables para varios sistemas. No tengo ninguna sugerencia para un mejor mensaje de error, en caso de que alguien que pueda solucionarlo esté leyendo esto.
Personalmente, no actualizaría la versión usando update-tlmgr-latest
. En su lugar, instalaría una nueva versión, ya sea dejando la versión existente en su lugar o eliminándola una vez que esté satisfecho de que la nueva versión funciona con mis documentos.
Instalación utilizando un usuario del sistema:
Arriba, se mencionó el uso de un usuario del sistema, no root
la instalación del sistema TeX Live. Aquí se explica cómo hacerlo:
Usando root
o sudo
, cree un nuevo usuario del sistema nombrado texlive
usando el siguiente comando (o algo sustancialmente similar):
useradd -d /usr/local/texlive -m -r texlive
passwd -l texlive
Esto creará un usuario del sistema ( -r
), con un directorio de inicio de /usr/local/texlive
( -d /usr/local/texlive -m
), y bloqueará la contraseña (para que no haya ninguna contraseña que pueda iniciar sesión en la cuenta). Úselo sudo su - texlive
para cambiar al texlive
usuario, luego ejecute la instalación como se indica en la pregunta.
La razón principal de esto es la separación de responsabilidades. El texlive
usuario se utiliza nada más y nada menos que para la administración de la instalación de TeX Live. No se puede utilizar para ninguna otra administración del sistema y está muy claro qué archivos forman parte de la instalación de TeX Live (son propiedad de texlive
, no de root
).
Tema avanzado: varias versiones de TeX Live trabajando juntas:
(La versión automática funciona en Linux, puede funcionar o no en Mac, no funcionará en Windows)
¡Buenas noticias! Es posible instalar varias versiones diferentes de Tex Live, sin que interfieran entre sí. Instale cada uno en un directorio separado, como /usr/local/texlive/<year>/
.
Para elegir entre versiones, puede cambiar manualmente su PATH
variable o puede hacer que la computadora lo haga automáticamente por usted. Para que la computadora lo haga, puedes usar el environment-modules
paquete, con un archivo de módulo similar a este (crea uno para cada versión de TeX Live que tengas instalada):
#%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
Si tiene uno de esos archivos de módulo para cada versión, puede seleccionar fácilmente una versión usando module load texlive/2023
y volver al valor predeterminado con module remove texlive/2023
. Nuevamente, para obtener ayuda específica sobre el uso de archivos de módulo de esta manera,unix y linux.SEes un buen lugar para pedir ayuda (después de mirar las páginas de manual, por supuesto).