Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- 匿 名 の投稿
返信数: 10
TeXLive2013 のインストールに関して別件で質問したところ、ディストロ側の
TeXもインストールされているので,PATH等の設定を注意する旨のご指摘を頂き
ました。

https://okumuralab.org/tex/mod/forum/discuss.php?d=1183

ディストロ側のTeXをアンインストールし、TeX Live 2013 のみをインストール
する方法を教えて頂けますでしょうか。

* 既に行った手順

私は以下の手順でインストール致しました

===
$ mkdir -p ~/app/TeX
$ cd ~/app/TeX
$ sudo aptitude install equivs
$ wget http://www.tug.org/texlive/files/debian-equivs-2013-ex.txt
$ equivs-build debian-equivs-2013-ex.txt
$ sudo dpkg -i texlive-local_2013-1_all.deb
$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
$ tar xvf install-tl-unx.tar.gz
$ cd install-tl-20131222
$ sudo ./install-tl
...
Actions:
<I> start installation to hard disk
<H> help
<Q> quit
Enter command:I
$ sudo /usr/local/texlive/2013/bin/x86_64-linux/tlmgr path add
$ sudo tlmgr update --self --all
$ sudo tlmgr repository add http://www.tug.org/~preining/tlptexlive/ tlptexlive
$ sudo tlmgr pinning add tlptexlive '*'
$ sudo tlmgr install pmetapost
$ sudo tlmgr install pxdvi pmetapost
$ sudo mkdir -p /usr/local/texlive/2013/texmf/web2c
$ cd /usr/local/texlive/2013/texmf/web2c
$ sudo ln -s ../../texmf-dist/web2c/texmf.cnf .
$ sudo tlmgr update --all
===

* その他気になった点について

以下、よく分からない点と知らべた点を列挙します

** ディストロ側とは

ご指摘いただいたディストロ側というのはディストリビューションで配布され
ているパッケージという意味で問題無いでしょうか。Linux に疎いため分かっ
ておりません。。。すみません。

** texlive2013 のファイル群が展開される場所

texlive2013 のファイルは全て

/usr/local/texlive/2013/

以下に展開され、それ以外には展開されないといった旨の文章をどこかで見た
ような気がしますが、この理解は正しいでしょうか。

** なぜディストリ側のTeXがインストールされていると判断されたのか

なぜディストリ側のTeXがインストールされていると判断されたのか分かっていません。
上述の理由により、/usr/share/ にも TeX に関するファイルが存在しているためでしょうか。

===
$ sudo find / -name texmf.cnf
/usr/local/texlive/2013/texmf-dist/web2c/texmf.cnf
/usr/local/texlive/2013/texmf-dist/doc/generic/pgf/text-en/texmf.cnf
/usr/local/texlive/2013/texmf.cnf
/usr/share/texlive/texmf/web2c/texmf.cnf
/usr/share/texmf/web2c/texmf.cnf
/etc/texmf/web2c/texmf.cnf
===

** ディストリ側のTeXについて

aptitude ではインストールされていないと出でますが、これは誤りでしょうか。

===
~ $ aptitude show texlive
パッケージ: texlive
状態: インストールされていません
バージョン: 2012.20120611-5
優先度: 任意
セクション: tex
メンテナ: Debian TeX Maintainers <debian-tex-maint@lists.debian.org>
アーキテクチャ: all
展開サイズ: 106 k
依存: texlive-latex-base (>= 2012.20120516), texlive-fonts-recommended (>=
        2012.20120516), texlive-latex-recommended (>= 2012.20120516)
提案: texlive-doc-en
提供元: texlive-local
...
===

** aptitude, TeXLive2013, 現在インストールされている platex のバージョン

- aptitude でインストールされるもの 2012
- 私がインストールしたものは 2013
ですが、
- platex のバージョン 2014/dev
と出てきます。

これはどのように理解したら良いでしょうか。

===
$ platex --version
e-pTeX 3.1415926-p3.4-130605-2.6 (utf8.euc) (TeX Live 2014/dev)
kpathsea version 6.2.0dev
ptexenc version 1.3.2dev
Copyright 2013 D.E. Knuth.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the e-pTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the e-pTeX source.
Primary author of e-pTeX: Peter Breitenlohner.
===

** ENV_PATH の設定方法

http://www.tug.org/texlive/debian.html
によると
「3. Add TeX Live's bin directory to ENV_PATH in /etc/login.defs.」
と書いてありますが、どのように設定すれば良いか分かりません。

現在は

[/etc/login.defs]
===
...
#
# *REQUIRED*  The default PATH settings, for superuser and normal users.
#
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
...
===

という設定で platex の存在場所は

===
$ sudo find / -name platex
/usr/local/texlive/2013/texmf-dist/tex/platex
/usr/local/texlive/2013/texmf-dist/doc/platex
/usr/local/texlive/2013/texmf-dist/source/platex
/usr/local/texlive/2013/bin/i386-linux/platex
/usr/local/bin/platex
===

となっています。

texlive2013 が /usr/local/texlive/2013/ 以下のみにしか展開されないのであれば

[/etc/login.defs]
===
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/texlive/2013/bin/i386-linux/platex
===

と変更すれば良いような気がしますが

===
$ which platex
/usr/local/bin/platex
===

と出ており、上述のバージョン情報も新しいものなので、このままで良いのか
とも思っています(2013ではなく2014ですが)。

以上よろしくお願いします。
匿 名 への返信

Re: Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- Norbert Preining の投稿
$ sudo find / -name texmf.cnf
...
/usr/share/texlive/texmf/web2c/texmf.cnf
...
~ $ aptitude show texlive
パッケージ: texlive
状態: インストールされていません
バージョン: 2012.20120611-5
そちらtexlive-localのパッケージをインストールしてから、他のtexlive-*パッケージを処分していいとかまいません。

そちらの場合は、
  • texlive
  • tex-common
  • texlive-* (texlive-local以外)
です。

ノルベルト
Norbert Preining への返信

Re: Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- 匿 名 の投稿
コメントありがとうございます。


> そちらtexlive-localのパッケージをインストールしてから、他のtexlive-*パッケージを処分していいとかまいません。

大変申し訳ありませんが、仰っている意味が分かりかねます。


これはtexlive-localのパッケージインストールし、texlive-*のパッケージをアンインストールしろという事でしょうか。
匿 名 への返信

Re: Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- Norbert Preining の投稿
曖昧な説明をすみません。
意味は、texlive-local以外のtexlive*パッケージをアンインストールするかしないかかわりません。
ディスクスペースの問題があれば、アンインストールして下さい。

ノルベルト
Norbert Preining への返信

Re: Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- 匿 名 の投稿
> 意味は、texlive-local以外のtexlive*パッケージをアンインストールするかしないかかわりません。
「するかしないかわかりません」と言うのは何を意味しているのか理解できません。

> ディスクスペースの問題があれば、アンインストールして下さい。
ディスク容量は問題ありませんので、アンインストールは不要でしょうか。
匿 名 への返信

Re: Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- Norbert Preining の投稿
>「するかしないかわかりません」と言うのは何を意味しているのか理解できません。
「するかしない。。か。。かわりません」。。。変わりません

アンインストールしていいです。
アンインストールしなくていいです。
どちでもいいです。
匿 名 への返信

Re: Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- 匿 名 の投稿
単に TeXLive2013 が使えればなんでも良いのか、どうしても開発版を手動で入れなければならないのかどちらなのでしょう?
前者なのであれば、Debian sid (unstable) の TeXLive は 2013 なので、TeX 関連パッケージだけ sid から借りてくるという運用で問題ないのではないでしょうか。

(私は手動で入れたことが無いので曖昧ですが) 何がどこに展開されるかは install-tl なる perl スクリプトの中身を見ればわかると思いますが、おそらく /usr/local/share/texlive/2013 以下であってるはずです。

なので、/usr/share/texmf/web2c/texmf.cnf が何に由来して存在しているのかちょっと提示いただいた内容から読み取れていないのですが

$ dpkg -S /usr/share/texmf/web2c/texmf.cnf

とすると何かパッケージ名を吐きますか? もし Debian 由来のパッケージを入れているなら texlive-base が管轄しているはずのファイル (おそらく /usr/share/texlive/texmf-dist/web2c/texmf.cnf へのシンボリックリンク) だと思います。なお、
> パッケージ: texlive
> 状態: インストールされていません
これはメタパッケージなので、これが入ってないというだけでは Debian 由来の TeXLive 関連パッケージが入ってないかどうか確認できません。

$ dpkg -l | grep texlive

あたりの出力を確認してみて頂けますか?
匿 名 への返信

Re: Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- 匿 名 の投稿
(追記しようと思ったら思案している間に30分すぎてしまいました。とほほ……)
> $ which platex
> /usr/local/bin/platex
> ===
>
> と出ており、上述のバージョン情報も新しいものなので、このままで良いのか

提示されている PATH の先頭に /usr/local/bin があるので大丈夫だとは思いますが
$ which tex

$ which ptex
などはちゃんと /usr/local/bin 以下のを指しますか? もし Debian 由来の texlive-binaries パッケージが入っている場合は /usr/bin 以下を指すかもしれません。このパッケージには platex は含まれない (platex は texlive-lang-cjk パッケージに入っている) ので、platex だけ確認して安心していると知らないうちに二つの TeXLive が混じっていておかしな挙動をするかもしれませんので一応。
匿 名 への返信

Re: Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- Norbert Preining の投稿
そんなに上手に説明ができないと思いますが、一応やってみましょう。

第一問題:Debian/sidのパッケージをwheezyに入れますか。

Debian/TeX Liveの開発者の僕の返事:しりません。

Debian/sidのlibrariesがたくさん変わってきたと思いますから、texlive-binariesをインストールすることは無理かもしれません。backportsで見たら、必要なlibrariesを見つけるかもしれませんが、これもうわかりません。

第二問題:/usr/share/texmf/web2c/texmf.cnf

このファイルはtexlive-baseのパッケージのファイルです。

第三問題:Debian versus Upstream

install-tlのperlプログラムでインストールされたTeX LiveはもともとのTUGのTeX Liveです。
Debianのapt-get/aptitudeでインストールされたTeX Liveは僕のrepackagingです。
/usr/local/texlive/2013にインストールされたTeX Liveをtlmgrで相識ができます。
/usr/(bin/,share/,..)にインスされたTeX Liveをapt-getで相識ができますが、tlmgrを使えません。

第四問題:dpkg -l | grep texlive | grep ^ii

最後にこのリストを添付します。他の大切なパッケージはtex-commonです。これを処分してから、全てのDebianのTeXパッケージも処分されているはずです。

第五問題:二つの TeXLive が混じる

TeXのプログラムは大体kpathseaを使っているので、混じる危険がないです。/usr/local/texlive/2013にインストールされたTeX Liveはそこのファイルだけ使うはずです。


下手な日本語をすみませんが、これよりの説明がちょっと難しいと思います。

ノルベルト

PS:明日から年末年始た旅の中なので、あまり書く機会がなさそうです。



dpkg -l | grep texlive | grep ^iiのリスト

ii texlive 2013.20131219-1 all TeX Live: A decent selection of the TeX Live packages
ii texlive-base 2013.20131219-1 all TeX Live: Essential programs and files
ii texlive-bibtex-extra 2013.20131219-1 all TeX Live: BibTeX additional styles
ii texlive-binaries 2013.20130729.309 amd64 Binaries for TeX Live
ii texlive-extra-utils 2013.20131219-1 all TeX Live: TeX auxiliary programs
ii texlive-font-utils 2013.20131219-1 all TeX Live: Graphics and font utilities
ii texlive-fonts-extra 2013.20131219-1 all TeX Live: Additional fonts
ii texlive-fonts-extra-doc 2013.20131219-1 all TeX Live: Documentation files for texlive-fonts-extra
ii texlive-fonts-recommende 2013.20131219-1 all TeX Live: Recommended fonts
ii texlive-fonts-recommende 2013.20131219-1 all TeX Live: Documentation files for texlive-fonts-recom
ii texlive-formats-extra 2013.20131219-1 all TeX Live: Additional formats
ii texlive-full 2013.20131219-1 all TeX Live: metapackage pulling in all components of Te
ii texlive-games 2013.20131219-1 all TeX Live: Games typesetting
ii texlive-generic-extra 2013.20131219-1 all TeX Live: Generic additional packages
ii texlive-generic-recommen 2013.20131219-1 all TeX Live: Generic recommended packages
ii texlive-humanities 2013.20131219-1 all TeX Live: Humanities packages
ii texlive-humanities-doc 2013.20131219-1 all TeX Live: Documentation files for texlive-humanities
ii texlive-lang-african 2013.20131219-1 all TeX Live: African scripts
ii texlive-lang-all 2013.20131219-1 all TeX Live: metapackage depending on all TeX Live langu
ii texlive-lang-arabic 2013.20131219-1 all TeX Live: Arabic
ii texlive-lang-cjk 2013.20131219-1 all TeX Live: Chinese/Japanese/Korean
ii texlive-lang-cyrillic 2013.20131219-1 all TeX Live: Cyrillic
ii texlive-lang-czechslovak 2013.20131219-1 all TeX Live: Czech/Slovak
ii texlive-lang-english 2013.20131219-1 all TeX Live: US and UK English
ii texlive-lang-european 2013.20131219-1 all TeX Live: Other European languages
ii texlive-lang-french 2013.20131219-1 all TeX Live: French
ii texlive-lang-german 2013.20131219-1 all TeX Live: German
ii texlive-lang-greek 2013.20131219-1 all TeX Live: Greek
ii texlive-lang-indic 2013.20131219-1 all TeX Live: Indic scripts
ii texlive-lang-italian 2013.20131219-1 all TeX Live: Italian
ii texlive-lang-other 2013.20131219-1 all TeX Live: Other languages
ii texlive-lang-polish 2013.20131219-1 all TeX Live: Polish
ii texlive-lang-portuguese 2013.20131219-1 all TeX Live: Portuguese
ii texlive-lang-spanish 2013.20131219-1 all TeX Live: Spanish
ii texlive-latex-base 2013.20131219-1 all TeX Live: LaTeX fundamental packages
ii texlive-latex-base-doc 2013.20131219-1 all TeX Live: Documentation files for texlive-latex-base
ii texlive-latex-extra 2013.20131219-1 all TeX Live: LaTeX additional packages
ii texlive-latex-extra-doc 2013.20131219-1 all TeX Live: Documentation files for texlive-latex-extra
ii texlive-latex-recommende 2013.20131219-1 all TeX Live: LaTeX recommended packages
ii texlive-latex-recommende 2013.20131219-1 all TeX Live: Documentation files for texlive-latex-recom
ii texlive-luatex 2013.20131219-1 all TeX Live: LuaTeX packages
ii texlive-math-extra 2013.20131219-1 all TeX Live: Mathematics packages
ii texlive-metapost 2013.20131219-1 all TeX Live: MetaPost and Metafont packages
ii texlive-metapost-doc 2013.20131219-1 all TeX Live: Documentation files for texlive-metapost
ii texlive-music 2013.20131219-1 all TeX Live: Music packages
ii texlive-omega 2013.20131219-1 all TeX Live: Omega packages
ii texlive-pictures 2013.20131219-1 all TeX Live: Graphics, pictures, diagrams
ii texlive-pictures-doc 2013.20131219-1 all TeX Live: Documentation files for texlive-pictures
ii texlive-plain-extra 2013.20131219-1 all TeX Live: Plain TeX packages
ii texlive-pstricks 2013.20131219-1 all TeX Live: PSTricks
ii texlive-pstricks-doc 2013.20131219-1 all TeX Live: Documentation files for texlive-pstricks
ii texlive-publishers 2013.20131219-1 all TeX Live: Publisher styles, theses, etc.
ii texlive-publishers-doc 2013.20131219-1 all TeX Live: Documentation files for texlive-publishers
ii texlive-science 2013.20131219-1 all TeX Live: Natural and computer sciences
ii texlive-science-doc 2013.20131219-1 all TeX Live: Documentation files for texlive-science
ii texlive-xetex 2013.20131219-1 all TeX Live: XeTeX and packages

Norbert Preining への返信

Re: Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- 匿 名 の投稿
コメントありがとうございます。

結論から申しますと、パッケージの

texlive-base
texlive-binaries
texlive-common
texlive-doc-base
texlive-latex-base
texlive-latex-base-doc
texlive-luatex
texlive-xetex

および

libptexenc1
tex-common
texinfo
lmodern

などが入っており、それが原因でした。
以前、font 周りがよく分からず、やみくもにxfonts-tipaなどを入れた事がありまして、その際に入ったようです。

フォントのパッケージ云々と色々面倒になってきたので、パッケージで提供されているTeXLive2012をインストールしようと思います。

ありがとうございました。

以下、その時の作業内容とアドバイス頂いた方への回答です。

> 単に TeXLive2013 が使えればなんでも良いのか、どうしても開発版を手動で入れなければならないのかどちらなのでしょう?

前者です。単に TeXLive2013 が使えればなんでも良いです。
何か変に混在して分け分からなくなるのを恐れているだけです。

> 前者なのであれば、Debian sid (unstable) の TeXLive は 2013 なので、TeX 関連パッケージだけ sid から借りてくるという運用で問題ないのではないでしょうか。

知りませんでした。そういう手も使えるんですね。
ありがとうございます。

> $ dpkg -S /usr/share/texmf/web2c/texmf.cnf
>
> とすると何かパッケージ名を吐きますか?

以下のように出ました

===
# dpkg -S /usr/share/texmf/web2c/texmf.cnf
texlive-base: /usr/share/texmf/web2c/texmf.cnf
===

> もし Debian 由来のパッケージを入れているなら texlive-base が管轄しているはずのファイル (おそらく /usr/share/texlive/texmf-dist/web2c/texmf.cnf へのシンボリックリンク) だと思います。

おっしゃるとおりでした。

> > パッケージ: texlive
> > 状態: インストールされていません
> これはメタパッケージなので、これが入ってないというだけでは Debian 由来の TeXLive 関連パッケージが入ってないかどうか確認できません。

ありがとうございます。
理解できました。

> $ dpkg -l | grep texlive
>
> あたりの出力を確認してみて頂けますか?

以下のように出ました。

===
~ $ dpkg -l | grep texlive
ii  texlive-base            2012.20120611-5  all              TeX Live: Essential programs and files
ii  texlive-binaries        2012.20120628-4  i386              Binaries for TeX Live
ii  texlive-common          2012.20120611-5  all              TeX Live: Base component
ii  texlive-doc-base        2012.20120611-1  all              TeX Live: TeX Live documentation
ii  texlive-latex-base      2012.20120611-5  all              TeX Live: Basic LaTeX packages
ii  texlive-latex-base-doc  2012.20120611-5  all              TeX Live: Documentation files for texlive-latex-base
ii  texlive-local            2013-1            all              My local installation of TeX Live 2013.
ii  texlive-luatex          2012.20120611-5  all              TeX Live: LuaTeX packages
ii  texlive-xetex            2012.20120611-5  all              TeX Live: XeTeX packages
===

> p提示されている PATH の先頭に /usr/local/bin があるので大丈夫だとは思いますが
> $ which tex
> や
> $ which ptex
> などはちゃんと /usr/local/bin 以下のを指しますか?

指します。

===
$ which tex
/usr/local/bin/tex
$ which ptex
/usr/local/bin/ptex
$ which platex
/usr/local/bin/platex
===

TeX 入れた覚え無いのになーと思い、やり直そうとしたら原因が分かりました。

====
$ sudo rm -rf /usr/local/texlive/2013/texmf/web2c
$ sudo tlmgr remove pxdvi pmetapost
$ sudo tlmgr pinning remove tlptexlive -all
$ sudo tlmgr repository remove tlptexlive
$ sudo tlmgr path remove
$ sudo /usr/local/texlive/2013/bin/i386-linux/tlmgr uninstall
$ sudo aptitude remove texlive-local
$ sudo aptitude remove equivs
$ rm -rf ~/app/TeX
$ sudo aptitude remove texlive-base texlive-binaries texlive-common texlive-doc-base texlive-latex-base texlive-latex-base-doc texlive-luatex texlive-xetex
以下のパッケージが削除されます:
  texlive-base texlive-binaries texlive-common texlive-doc-base texlive-latex-base texlive-latex-base-doc
  texlive-luatex texlive-xetex
更新: 0 個、新規インストール: 0 個、削除: 8 個、保留: 1 個。
0  バイトのアーカイブを取得する必要があります。展開後に 154 M バイトのディスク領域が解放されます。
以下のパッケージには満たされていない依存関係があります:
tipa : 依存: texlive-latex-base [インストールされません]
        依存: texlive-base-bin[仮想パッケージです]
以下のアクションでこれらの依存関係の問題は解決されます:

    以下のパッケージを削除する:
1)    tipa
2)    xfonts-tipa

    以下の依存関係を未解決のままにする:
3)    fonts-oflb-asana-math が texlive-xetex を推奨
4)    luatex が texlive-luatex を推奨


この解決方法を受け入れますか? [Y/n/q/?]
====

以上です。
匿 名 への返信

Re: Debian 7.2 wheezy で TeX Live 2013 のみをインストールする方法

- 匿 名 の投稿
解決なさったようでよかったです。

蛇足になりますが、もし sid から TeXLive 2013 を借りてくることを検討なさるなら手順としては次のようにします。

まず /etc/apt/souces.list を一時的に編集して wheezy のレポジトリから sid のレポジトリを指すようにして、
$ sudo aptitude update
$ sudo aptitude install texlive-base texlive-binaries texlive-common
など必要なパッケージを入れ、そのあと誤爆防止のためすぐに souces.list の変更をもとに戻して aptitude update しておきます。

ただし、パッケージャのノルベルトさんご本人からご指摘いただいている通り、依存関係の連鎖で他に更新を要求されるパッケージがどの程度まで広範になるかはやってみないとわからないので、コンフリクトが発生したりしてうまく更新できないかもしれません。