다음 명령을 실행했는데 실패했습니다. 먼저 이상한 출력 404를 얻은 다음 알 수 없는 해시를 얻었습니다 wget
.
root@masi:/home/masi/Documents/# tlmgr update --self
산출
(running on Debian, switching to user mode!)
TLDownload::get_file: response error: 404 File 'texlive.tlpdb.xz' not found (for ftp://ftp.funet.fi/pub/TeX/CTAN/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz)
TLUtils::download_file: persistent connection ok, but download failed: ftp://ftp.funet.fi/pub/TeX/CTAN/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
TLUtils::download_file: retrying with wget.
TLUtils::download_file: retry with wget succeeded: ftp://ftp.funet.fi/pub/TeX/CTAN/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Unknown directive ...containerchecksum c59200574a316416a23695c258edf3a32531fbda43ccdc09360ee105c3f07f9fb77df17c4ba4c2ea4f3a5ea6667e064b51e3d8c2fe6c984ba3e71b4e32716955... , please fix it! at /usr/share/texlive/tlpkg/TeXLive/TLPOBJ.pm line 210, <$retfh> line 5579.
문제는 2016년 11월 27일과 12월 30일에 발생했습니다.
TeXLive 버전에 대한 혼란
TeXLive 2015를 루트로 표시하려면 다음을 수행합니다.
root@masi:/home/masi# tex -version
TeX 3.14159265 (TeX Live 2015/dev/Debian)
kpathsea version 6.2.1dev
Copyright 2014 D.E. Knuth.
There is NO warranty. Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the TeX source.
Primary author of TeX: D.E. Knuth.
나는 다음과 같이 달린다masi
masi@masi:~$ tex --version
TeX 3.14159265 (TeX Live 2016)
kpathsea version 6.2.2
Copyright 2016 D.E. Knuth.
There is NO warranty. Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the TeX source.
Primary author of TeX: D.E. Knuth.
나는 xelatex
보여주는 무엇이든 실행합니다TeXLive 2016~처럼masi
(/usr/local/texlive/2016/texmf-dist/tex/latex/l3experimental/l3str/l3flag.sty)
또한masi
command -v tlmgr
/usr/local/texlive/2016/bin/x86_64-linux/tlmgr
또한masi
command -v tex
/usr/local/texlive/2016/bin/x86_64-linux/tex
TeXLive: 2016, 2015
운영 체제: Debian 8.5
설명:TeX 배포판을 어떻게 업데이트하나요?
답변1
문제: 의 경로가 다르 masi
므로 root
로 su -p
이동할 때 경로를 변경하지 마십시오 root
. 내 솔루션 제안
su -p
tlmgr update --self
산출
tlmgr: package repository http://mirror.datacenter.by/pub/mirrors/CTAN/systems/texlive/tlnet (verified)
tlmgr: saving backups to /usr/local/texlive/2016/tlpkg/backups
tlmgr: no self-updates for tlmgr available.
답변2
해결책
루트 상태로 들어갈 때 이것 sudo -sE
또는 이것을 사용하여 su -p
현재 세션의 환경 변수를 보존하십시오.
설명하다
시스템은 사용자마다 다른 버전을 사용하는데 texlive
이는 환경 변수 때문입니다 PATH
.
터미널에 명령을 입력하면 쉘은 PATH
디렉토리에서 해당 프로그램을 찾습니다. 하지만 문제는 쉘 이 PATH
.PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/snap/bin:/snap/bin
date
터미널에 입력 하면 쉘은 date
디렉토리에서 프로그램을 찾고 /usr/local/sbin
, 찾지 못하면 프로그램을 찾고 /usr/local/bin
, 찾지 못하면...모든 디렉토리를 찾을 때까지 찾습니다.
2016을 수동으로 설치할 때 texlive
어느 시점에서 지시문을 사용했습니다 PATH=/usr/local/texlive/2016/bin/x86_64-linux/:$PATH
. 이렇게 하면 /usr/local/texlive/bin/x86_64-linux/
명령을 입력하면 쉘이 먼저 디렉터리를 검색합니다. 유일한 문제는 아래 지침이 모든 사용자에게 적용되지 않는다는 것입니다. 따라서 루트 액세스 권한을 얻으면 변수가 PATH
원래 내용으로 되돌아갑니다.
그렇기 때문에 동일한 명령을 실행하면 masi
두 root
개의 다른 프로그램이 제공됩니다. 해결책은 이전 사용자의 환경 변수를 사용 sudo -sE
하거나 보존하는 것입니다.su -p