![tlmgr update --使用用户模式自我救援](https://linux22.com/image/457873/tlmgr%20update%20--%E4%BD%BF%E7%94%A8%E7%94%A8%E6%88%B7%E6%A8%A1%E5%BC%8F%E8%87%AA%E6%88%91%E6%95%91%E6%8F%B4.png)
我一直在使用上游的 Vanilla TeX live,过去tlmgr update --all
也一直这样使用,--self
没有任何问题。
然而,现在出现了一些新的东西(尽管我在互联网上看到它似乎并不新),那就是user mode
。基本上,我收到了这个错误消息:
$ sudo tlmgr update -self
(running on Debian, switching to user mode!)
(see /usr/share/doc/texlive-base/README.tlmgr-on-Debian.md)
TLPDB: not a directory, not loading: /root/texmf
tlmgr: user mode not initialized, please read the documentation!
因此我阅读了文档,运行tlmgr init-usertree
但它已经被初始化:
$ tlmgr init-usertree
tlmgr: user mode database already set up in
tlmgr: /home/louisvgn/texmf/tlpkg/texlive.tlpdb
tlmgr: not overwriting it.
现在,我最终想要的是能够更新--all
,但我不知道该怎么做,它总是给我第一个错误消息告诉我user mode not initialized
。
不过,从根本上来说,我想了解这到底是什么,以及如何覆盖它以便在整个系统内安装/更新。
答案1
您想要更新/usr/local/texlive/2022
,因此您需要使用/usr/local/texlive/2022/bin/x86_64-linux/tlmgr
显然/usr/local/texlive/2022
在您的帐户下是可写的,所以您不需要sudo
如果您已经在 sudo 下安装了它,那么您需要在 sudo 下更新,但应该首先设置 PATH 来启动,/usr/local/texlive/2022/bin/x86_64-linux
您只需在您的帐户下设置它。
然而
tlmgr update --self --all
应该更新你的 texlive 副本。
上述操作肯定不会在有关/usr/share/...
(系统 texlive)的问题中给出警告,但是如果你最初在 sudo 下安装了 tug texlive 并且没有更新的写权限,你可以使用 sudo 授予自己访问权限或更新权限
sudo /usr/local/texlive/2022/bin/x86_64-linux/tlmgr update --self --all
所以它使用正确的那个。