由于 Ubuntu 的 TeXLive 相当老旧(2009 版),我总是听到 TeX 人员推荐直接从 CTAN 安装最新的 TeXLive。(是的,我需要该问题中提到的相同包。)我这样做了,并安装了 TeXLive 2011。
现在我需要安装的一些软件包(例如 gummi)依赖于 Ubuntu 的 TeXLive 软件包。既然我已经手动安装了 TeXLive,如何才能阻止安装 Ubuntu 的 TeXLive 软件包?
答案1
创建一个虚拟包,它不提供任何文件,但声明它提供来自 texlive 的包名称。有一个工具可以做到这一点:equivs-build
来自当量包裹。
equivs-build
接受一个声明软件包依赖关系的文件(例如,Provides: foo, bar
意味着安装软件包与安装软件包foo
和一样好bar
),并构建一个.deb
二进制软件包。您可以使用equivs-control
生成模板。TUG 提供 equivs 文件2011 年 TeXlive和2013 年 TeXlive我将在此重现他们的 2013 年文件:
Section: misc
Priority: optional
Standards-Version: 3.9.4
Package: texlive-local
Version: 2013-1
Maintainer: you <[email protected]>
Provides: chktex, biblatex, biblatex-dw, cm-super, cm-super-minimal, context,
dvidvi, dvipng, feynmf, fragmaster, jadetex, lacheck, latex-beamer,
latex-cjk-all, latex-cjk-chinese, latex-cjk-chinese-arphic-bkai00mp,
latex-cjk-chinese-arphic-bsmi00lp, latex-cjk-chinese-arphic-gbsn00lp,
latex-cjk-chinese-arphic-gkai00mp, latex-cjk-common, latex-cjk-japanese,
latex-cjk-japanese-wadalab, latex-cjk-korean, latex-cjk-thai, latexdiff,
latexmk, latex-sanskrit, latex-xcolor, lcdf-typetools, lmodern, luatex,
musixtex, passivetex, pgf, preview-latex-style, prosper, ps2eps, psutils,
purifyeps, t1utils, tex4ht, tex4ht-common, tex-gyre, texlive, texlive-base,
texlive-bibtex-extra, texlive-binaries, texlive-common, texlive-extra-utils,
texlive-fonts-extra, texlive-fonts-extra-doc, texlive-fonts-recommended,
texlive-fonts-recommended-doc, texlive-font-utils, texlive-formats-extra,
texlive-games, texlive-generic-extra, texlive-generic-recommended,
texlive-humanities, texlive-humanities-doc, texlive-lang-african,
texlive-lang-all, texlive-lang-arabic, texlive-lang-cjk, texlive-lang-cyrillic,
texlive-lang-czechslovak, texlive-lang-english, texlive-lang-european,
texlive-lang-french, texlive-lang-german, texlive-lang-greek,
texlive-lang-indic, texlive-lang-italian, texlive-lang-other,
texlive-lang-polish, texlive-lang-portuguese, texlive-lang-spanish,
texlive-latex-base, texlive-latex-base-doc, texlive-latex-extra,
texlive-latex-extra-doc, texlive-latex-recommended,
texlive-latex-recommended-doc, texlive-luatex, texlive-math-extra,
texlive-metapost, texlive-metapost-doc, texlive-music,
texlive-omega, texlive-pictures, texlive-pictures-doc, texlive-plain-extra,
texlive-pstricks, texlive-pstricks-doc, texlive-publishers,
texlive-publishers-doc, texlive-science, texlive-science-doc, texlive-xetex,
thailatex, tipa, tipa-doc, xindy, xindy-rules, xmltex
Architecture: all
Description: My local installation of TeX Live 2013.
A full "vanilla" TeX Live 2013
http://tug.org/texlive/debian#vanilla
如果您没有安装完整的 TeXlive ,您可能需要在线上输入您的电子邮件地址Maintainer
(以便您记住此包来自哪里)并调整提供的包列表。假设您已使用debian-equivs-2013-ex.txt
上述方法(如果没有,您可能需要调整文件名),请运行以下命令:
equivs-build debian-equivs-2013-ex.txt
sudo dpkg -i texlive-local_2013-1_all.deb
答案2
dpkg 可以忽略任何冲突和依赖。
dpkg -i --ignore-depends=package1,package2 targetpackage.deb
但目前我看不到 apt-get 的解决方案。
答案3
PocketSam 是正确的,你不能让 apt 做到这一点;你需要直接使用 dpkg。
您需要手动下载 gummi .deb 文件:
apt-get download gummi
然后,使用 apt-get 从 gummi 手动安装依赖项,TeXLive 除外。
最后,您可以使用 dpkg --ignore-depends 来安装 gummi。
请注意,这很容易出错,如果您尝试对 gummi 进行 apt-get 升级,它可能会引入旧的 TeXLive。
答案4
有一个包,gummi-notex
就是做这个的。参见这里有关 ppa 的安装说明(目前适用于 saucy (13.10) ubuntu 版本)