如何在不安装某些依赖项的情况下安装软件包?


74

我正在尝试安装软件包LaTeXila,输出看起来像这样:

$ sudo apt-get install latexila --no-install-recommends
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  latexila-data latexmk luatex tex-common texlive-base texlive-binaries
  texlive-common texlive-doc-base texlive-latex-base
Suggested packages:
  rubber texlive-latex-extra debhelper
Recommended packages:
  texlive texlive-latex-recommended texlive-luatex lmodern
  texlive-latex-base-doc
The following NEW packages will be installed:
  latexila latexila-data latexmk luatex tex-common texlive-base
  texlive-binaries texlive-common texlive-doc-base texlive-latex-base
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 29.3 MB of archives.
After this operation, 74.5 MB of additional disk space will be used.
Do you want to continue [Y/n]?

我不想安装texlive软件包。我已经从http://www.tug.org/texlive/手动安装了texlive 。有什么建议么?


添加程序,然后删除不需要的软件包。当您安装类似的程序时,您只需下载/安装一组软件包。您需要更改软件包中包含的内容,并且不能以用户身份进行更改。
阿尔瓦(Alvar)

8
这里确实应该有一些高级用户功能。它要么让我安装没有特定依赖项的东西,要么让我声称已经安装了某些东西,即使它实际上没有安装。如果我想被当作我不知道自己在做什么,我会坚持使用Windows。
Alex

好吧,如果您真的不想要整个软件包,则只​​需安装特定文件并希望它可以工作。
阿尔瓦(Alvar)

2
亚历克斯-我想我可能无意中投下了反对票。我有一个习惯,就是在触摸板上将网页向下滚动到左侧。在这个网站上,我已经发生过几次,可能我没有注意到您的情况。(希望投票得到确认)。解决您的问题的另一种方法是创建一个Equivs程序包。虽然可行,但对于诸如texlive之类的东西来说并不是最简单的。一些信息和一个链接示例-tug.org/texlive/debian.html
doug

Answers:


74

apt-get不会这样做,但是dpkg会这样做。

apt-get download latexila latexila-data

这将下载二进制.deb文件,但不会尝试安装它们。

现在,您可以使用dpkg强制安装它们。

dpkg --force-all -i <name of the .deb files you downloaded>

我将在dpkg手册页中回显警告:

警告:这些选项主要仅供专家使用。在不完全了解其影响的情况下使用它们可能会破坏整个系统。

如果尝试执行此操作后系统已损坏,则可以尝试删除Latexila和Latexila数据。祝好运。


这应该被标记为答案,非常简单直接。
Severo Raz

好答案。我想安装asciidoc只是为了以手册页和HTML的形式编写文档。382 MB的乳胶垃圾!现在,我有了asciidoc,谢谢。
卡兹(Kaz)2014年

5
@WolterHellmund这绝对不是公认的答案,因为忽略依赖关系会导致数据库不一致,这将在升级软件包或安装相关软件包时引起麻烦。根据henrique的建议,正确的解决方案是对等
吉尔斯2014年

13

以下是TeX Live和Debian / Ubuntu上TUG页面后面的说明:

  1. 在系统范围内以根用户身份安装香草TeX Live。
  2. 确保安装的唯一Debian的TeX Live中包tex-commontexinfo和可能lmodern
  3. 将TeX Live的bin目录添加到ENV_PATH/etc/login.defs
  4. 使用equivs以下命令构建一个虚拟软件包,向APT讲述您的TeX Live安装:


    $ aptitude install equivs # as root
    mkdir /tmp/tl-equivs && cd /tmp/tl-equivs
    equivs-control texlive-local
    # edit texlive-local (see below)
    $ equivs-build texlive-local
    $ sudo dpkg -i texlive-local_2011-1_all.deb

在“编辑texlive-local”步骤中,根据需要编辑“维护者”字段和本地TeX Live安装提供的软件包列表。如果您安装了scheme-fullcollection-texinfo建议,文件应该像这个例子

(基本上,必须创建一个虚拟程序包来愚弄apt-get

有关其他方式,另请参见如何在Debian或Ubuntu上安装“香草” TeXLive?在TeX.SX上。


2
我认为这是正确的答案。
Marnen Laibow-Koser 2014年

6

做完之后

aptitude install [packagename]

您有一个问题,是否要安装提到的所有软件包..如果有一个软件包,您不想像mysql-server一样安装,因为它已卸载到另一台安装了y / n答案的服务器上。

:mysql-server

3

查找不符合依赖性的软件包列表。

使用下载.deb文件apt-get download。然后使用

sudo dpkg -i --ignore-depends=<package(s) to ignore> package.deb

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.