避免安装某些依赖包(texlive)

避免安装某些依赖包(texlive)

由于 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 年 TeXlive2013 年 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 版本)

相关内容