次のコマンドを実行しましたが失敗しました。まず、奇妙な出力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として表示するには、次の手順を実行します。
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/
コマンドを入力すると、シェルは最初にディレクトリを検索します。唯一の問題は、以下のガイドラインがすべてのユーザーに適用されないことです。したがって、root アクセス権を取得すると、変数はPATH
元の内容に戻ります。
そのため、同じコマンドを実行すると、masi
2root
つの異なるプログラムが提供されます。解決策は、古いユーザーの環境変数を使用またはsudo -sE
保存することです。su -p