告诉 aptitude 我已经安装了一些东西

告诉 aptitude 我已经安装了一些东西

嗨,我知道这个问题可能有点无意义,但我还是想问一下。我在 Ubuntu 10.04 (x64) 上安装了 TeXLive 2009,但我手动使用“安装-tl“perl 脚本按照说明进行操作http://tug.org/texlive/doc.html。我之前安装的所有其他软件都是通过

sudo aptitude 安装包裹名字

我之所以手动安装是因为閱讀器无法使用 aptitude 存储库版本进行安装,我想要一种快速安装/卸载 TeXLive-latex 相关软件包的方法。此外,我读到,一般来说,TeXLive Ubuntu 存储库通常已过时。

我现在面临的问题是,我需要安装其他相关软件,例如,auctex当我发出

sudo aptitude 安装 auctex

我知道所有这些包都将被安装:

auctex emacs23{a} emacs23-bin-common{a} emacs23-common{a}
  emacsen-common{a} lacheck{a} latex-beamer{a} latex-xcolor{a} lmodern{a}
  luatex{a} pgf{a} preview-latex-style{a} prosper{a} ps2eps{a}
  tex-common{a} texlive-base{a} texlive-binaries{a} texlive-common{a}
  texlive-doc-base{a} texlive-extra-utils{a} texlive-font-utils{a}
  texlive-generic-recommended{a} texlive-latex-base{a}
  texlive-latex-base-doc{a} texlive-latex-recommended{a}
  texlive-latex-recommended-doc{a} texlive-luatex{a} texlive-pstricks{a}
  texlive-pstricks-doc{a}

即使我尝试类似

sudo aptitude 安装--without-recommends auctex

我仍然得到

auctex emacs23{a} emacs23-bin-common{a} emacs23-common{a}
  emacsen-common{a} 预览-latex-style{a} tex-common{a}

哪一个方式比以前更好,但我仍然得到tex-common在执行 TeXLive 完整安装时通常会安装的内容(我认为)。tex-common反过来,是因为而安装的preview-latex-style,而这又是需要的,因为auctex需要所以。

所以,我的问题是,有没有什么方法可以判断能力?嘿,我已经安装了这些,所以不用担心依赖性,尽管你以前从未见过它们,但我已经控制了它们?“?auctex即使手动安装了 TeXLive 仍然可以工作吗?

非常感谢任何帮助或想法。

答案1

当您安装未通过打包系统提供的程序时,请将其安装在/usr/local(或 下/opt,或您的主目录中,但不要安装在 中/usr)。除非您的磁盘空间不足,否则您可以保留打包版本(如果有)。

有时假装安装了某个软件包会很有用。这可以通过安装一个虚拟软件包来实现,该软件包除了需要和提供依赖项外什么也不做。基于 Debian 的系统(包括 Ubuntu)在软件包equivs-build中提供了该命令equivs。引用软件包描述:

该软件包提供了一个创建仅包含依赖信息的 Debian 包的工具。

它的一个用途是创建一个元包:该包的唯一目的是声明对其他包的依赖和冲突,以便自动安装、升级或删除这些包。

另一个用途是绕过依赖性检查。如果系统上未安装软件包 P,则通常无法安装依赖于 P 的软件包。但是,如果已知安装了与 P 等效的功能,则可以使用此工具欺骗 Debian 软件包管理系统,使其相信软件包 P 确实已安装。注意:这应该被视为一种粗暴的破解方法,用于解决尴尬的情况,而不是正常的解决方案。

答案2

我不能aptitude为了拥有最新的 LaTeX 发行版而做那么多乱七八糟的事情。我试过了戴夫·帕里洛的建议,安装

aptitude 安装--without-recommends--prompt--safe-resolver auctex

它安装好了auctex,但是emacs没有用。显然,auctex配置必须从源代码进行,所以解决我上述问题的唯一方法是忘记关于aptitude(所以再一次,戴夫·帕里洛是正确的,我搞砸了aptitude)并auctex从源代码构建。你可能已经明白了,这是一个巨大的挑战,因为每次我可能需要与 LaTeX 相关的东西时,我都需要从源代码构建每个程序,所以......回答我的第二个问题:不,除非auctex从源代码构建,否则它将无法工作。此外,扩展是./configure --funky-options-about-where-your-tex-installation-may-resideauctex消失了当我重新启动 Emacs 时。

我删除auctex

sudo aptitude 清除 auctex

然后我删除了 TeXLive 2009,方法是“閱讀器“,我会从 Ubuntu 的存储库安装一个。我会同时处理这个问题。我喜欢aptitude处理安装的方式,但有时只是......啊。回答主要问题“有没有办法告诉aptitude你已经手动做了某事?”:没有,在我的这个特定实验中,但我不知道这是否可能在某些有经验的解决方法。

抱歉,各位,给您带来不便。如果这是一个测试环境,我会继续尝试手动完成所有操作,即使这意味着要多次重新安装操作系统。但我只需要这个功能,我不能选择那个选项。感谢大家的时间和考虑。

答案3

您绕过了正常的 aptitude 依赖系统,所以我认为您可能遇到了问题。最简单但可能乏味的答案是使用选项运行 aptitude --prompt- 它会在每次安装(或删除)之前询问您,然后您可以选择要安装的软件包。

由于这个问题与破解 latex 有关,你可以将其发布在Tex - LaTex 堆栈交换

相关内容