Debian = aptitude如何在安装软件时取消select/禁用自动软件包?

我想安装颠覆。 但是我已经(手动)安装了mysql。 而且似乎aptitude会再次尝试安装mysql mysql-common{a} 。 如何在安装Subversion时取消selectmysql安装? 我需要使用哪些命令/参数? 我用-P,但它似乎不是正确的select?

 aptitude -P install subversion Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Lese Status-Informationen ein... Fertig Lese erweiterte Statusinformationen Initialisiere Paketstatus... Fertig Lese Task-Beschreibungen... Fertig Die folgenden NEUEN Pakete werden zusätzlich installiert: libapr1{a} libaprutil1{a} libmysqlclient15off{a} libneon27-gnutls{a} libpq5{a} libserf-0-0{a} mysql-common{a} libsvn1{a} subversion 

非常感谢你!! 延

既然你没有使用软件包pipe理器来安装mysql,它不知道你已经安装了它。 正确的做法是使用软件包pipe理器来安装一切,或者不要使用软件包pipe理器。 在这种情况下,你可以做的最好的事情是创build并安装一个“虚拟”软件包 ,让系统知道你已经安装了相应的库。 要做到这一点,安装equivsapt-get install equivs 。 然后,对于每个虚拟包,您需要创build一个描述该包的文件。 要通过运行equivs-control packagename 。 这将为您创build一个名为packagename的控制文件,您将不得不编辑它。 在这个文件中,您需要设置您的虚拟软件包来提供其他程序正在查找的依赖关系。 基于Arrowmaster的信息,它需要读取类似的内容

 Section: misc Priority: optional Standards-Version: 3.0.1 Package: my-mysql Provides: mysql-common, libmysqlclient15off 

但是正如thelsdj所说,如果你的mysql没有安装libmysqlclient的版本,程序可能无法运行。

首先,在网上发布命令输出时,尤其是在主要是英文站点上的命令输出,如果命令输出也是英文的话,它也会有帮助 这可以通过在环境中设置LC_ALL=C轻松完成,例如只需将命令更改为LC_ALL=C aptitude -P install subversion

从Debian Lenny中的subversion软件包的依赖关系来看,它依赖于libsvn1,libsvn1依赖于libaprutil1,libaprutil1依赖于依赖于mysql-common的libmysqlclient15off。 所以你不能在Debian Lenny中安装subversion 1.5.1软件包而不安装mysql-common。 另外,尽pipe你可以使用lenny-backports来安装Subversion 1.6.12,但是这个最终并不依赖于mysql-common。

根据你手动安装mysql的位置,允许aptitude重新安装它应该是安全的。 问题是,颠覆可能与特定版本的mysqlclient库链接,如果你不安装aptitude提供的版本,它可能不会运行。

“apt-get –no-upgrade”可能会诀窍。 我想先看看“apt-get –no-upgrade –dry-run”。