Dev*_*lar 14 package-management apt
假设有一个软件我不想通过 安装apt,而是手动安装。(TeXLive,因为我想使用 2011 版本并且apt只有 2009 版本。)
假设我想通过 安装另一个软件apt,但这取决于第一个软件。(Vim LaTeXSuite,因为在系统范围内手动安装是很痛苦的。)
默认情况下,apt不会“看到”第一个软件,而是继续安装许多不需要和不受欢迎的软件(即 TeXLive 2009)以满足依赖元数据。
我怎样才能:
告诉apt一个给定的包(例如texlive)是出于所有实际目的而安装的,并且它不应该作为其他包的依赖项安装?
告诉apt安装给定的包(例如vim-latexsuite)而不关心它的依赖关系?
我已经通过各种筛选apt-相关联机手册,以及来到了空,也发现了这个问题,在这个网站,但觉得有有要做到这一点不太hackish的方式,不是吗?
(从我的 Gentoo 时代开始,我记得emerge --inject和/etc/portage/package.provides,并且基本上正在寻找apt等价物。)
Dan*_*son 13
您应该使用该equivs包生成提供这些依赖项的元包,然后用于dpkg安装这些包。
安装equivs和阅读它的文档应该就足够了,但是这个 Ubuntu 指南非常广泛,应该也适用于其他 APT 系统。
此外,如果您觉得一个包应该能够在没有指定依赖项的情况下安装,您应该针对该包提交一个错误,解释不需要依赖项的情况。
在这种情况下,texlive-base-bin至少在基本 Debian 发行版中似乎只是“推荐”而不是“依赖项”(可能部分texlive是因为它是一个如此庞大的包),但是因为在 Debian 上安装上游 TeX Live 是很常见的,因为自从发行版经常落后很多(因为这个包是个野兽,没有大量的工作往往无法打包,这主要是由一个或几个人完成的,他们声称他们生活在 Debian 旁边),equivs技巧经常与 TeX Live 一起使用(哇,这句话失控了:-))。
另外:对于那些希望在软件包系统之外安装 TeXLive 的人的更详细说明,这些关于 TeX.SX 的说明更广泛,并且很可能会继续保持更新。它们还包括有关该equivs步骤的更明确的说明。
| 归档时间: |
|
| 查看次数: |
7397 次 |
| 最近记录: |