不要跑sudo tex。

不要跑sudo tex。

我已经在电脑上安装了 texlive 2015,但是当我在终端中测试它时什么也没有发生,如下所示:

meng@meng-Inspiron-5548:~$ tex

meng@meng-Inspiron-5548:~$ 

但如果我使用sudo tex,结果将是这样的:

meng@meng-Inspiron-5548:~$ sudo tex

[sudo] password for meng: 

This is TeX, Version 3.1415926 (TeX Live 2013/Debian)

**

我尝试找到这两个版本的目录:

meng@meng-Inspiron-5548:~$ which tex

/usr/local/texlive/2015/bin/x86_64-linux/tex

meng@meng-Inspiron-5548:~$ sudo which tex

[sudo] password for meng: 

/usr/bin/tex

系统似乎自动使用 2013,但是我已将 2015 的 PATH 添加到配置文件和 bashrc,那么如何使用 2015?

答案1

不要跑sudo tex

至少,除非你真正了解自己为什么要这样做,了解风险并接受后果。


好的。话虽如此,但这里还是存在多个问题。

  1. 您有多个 TeX 安装。通常不建议这样做,您可能应该删除 Debian 的使用apt。您可能需要确信apt对 TeX 的依赖已得到满足。请确保按照安装假包的说明进行操作在这个问题中

  2. 设置 PATH~/.bashrc不会将其设置为系统范围的。它将其设置为。例如,它不会为 root 设置它。根据sudo配置方式,当您使用 执行命令时,您的部分或全部个人环境设置可能会被删除sudo。这是一项安全功能。在您的系统上,PATH当您使用 时会重置sudo

那是:

$ echo $PATH

$ sudo echo PATH

将返回不同的结果。你的 PATH包括 中的二进制文件/usr/local/texlive/2015/bin/x86_64-linux/。此外,这些二进制文件优先于 中的二进制文件/usr/bin/PATH重置 后,情况不再如此。

但这并不重要,因为在大多数情况下,您不需要/usr/local/texlive/2015/bin/x86_64-linux/以 root 权限运行任何二进制文件。例外情况是,如果您以 root 权限安装了 TeX Live,则可能需要执行此操作。然后您可能需要运行

/usr/local/texlive/2015/bin/x86_64-linux/tlmgr update --all

tlmgr当您想要更新安装时,提供完整路径。

如果您确实希望 root 也能默认访问新的二进制文件,那么您可以这样做。但是,当 Debian 的软件包texlive仍安装在您的系统上时,您当然不应该这样做,而且正如我所说,一般不需要这样做。PATH出于安全原因,我为所有用户明确配置了 TeX Live 的二进制文件,但 root 用户除外。

相关内容