为什么有些软件包会与自己冲突?


16

升级到Oneiric之后,我的软件包管理器遇到了一些麻烦(它想删除系统的一半,包括libc6,zlib1g软件包等)。在以智谋战中,我注意到某些软件包具有元信息,该信息指出它们与自己发生冲突。例子:

% aptitude show libc-bin
Package: libc-bin                        
Essential: yes
New: yes
State: installed
Automatically installed: no
Version: 2.13-20ubuntu5
Priority: required
Section: libs
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Uncompressed Size: 3,420 k
Conflicts: libc-bin
Breaks: libc0.1 (< 2.10), libc0.1 (< 2.10), libc0.3 (< 2.10), libc0.3 (< 2.10), libc6 (< 2.10), libc6 (< 2.10), libc6.1 (< 2.10), libc6.1 (< 2.10)
Replaces: libc0.1, libc0.1, libc0.3, libc0.3, libc6, libc6, libc6.1, libc6.1
Provides: libc-bin
Provided by: libc-bin
Description: Embedded GNU C Library: Binaries

看到Conflicts: libc-bin线了吗?多一个:

% aptitude show qdbus   
Package: qdbus                           
New: yes
State: installed
Automatically installed: no
Version: 4:4.7.4-0ubuntu8.1
Priority: optional
Section: libs
Maintainer: Kubuntu Developers <kubuntu-devel@lists.ubuntu.com>
Uncompressed Size: 213 k
Depends: libc6 (>= 2.3.4), libgcc1 (>= 1:4.1.1), libqt4-dbus (= 4:4.7.4-0ubuntu8.1), libqt4-xml (= 4:4.7.4-0ubuntu8.1), libqtcore4 (= 4:4.7.4-0ubuntu8.1), libstdc++6 (>= 4.1.1)
Conflicts: qdbus
Breaks: libqt4-dbus (< 4:4.7.3-4ubuntu5), libqt4-dbus (< 4:4.7.3-4ubuntu5), qt4-dev-tools (< 4:4.7.3-4ubuntu6), qt4-dev-tools (< 4:4.7.3-4ubuntu6)
Replaces: libqt4-dbus (< 4:4.7.3-4ubuntu5), libqt4-dbus (< 4:4.7.3-4ubuntu5), qt4-dev-tools (< 4:4.7.3-4ubuntu6), qt4-dev-tools (< 4:4.7.3-4ubuntu6)
Provides: qdbus
Provided by: qdbus
Description: Qt 4 Dbus Tool

相同的“与自身冲突”功能。

我现在已经用软件包管理器解决了我的麻烦,但是问题仍然困扰着我:当软件包自身发生冲突时,这意味着什么?这是做什么用的?

Answers:


25

Oneiric支持Multi-Arch,即允许您同时安装不同体系结构的软件包(当前为i386和amd64,又名32位和64位)。某些软件包不能同时安装(例如libc6:i386和libc6:amd64)。aptitude 无法处理这些情况,因此认为删除这些软件包可能是一个好主意。建议立即使用apt-get

如果使用apt-cache show libc-bin,则可以看到提到此冲突的行:

多曲:外国

有关此字段的描述,请参见http://wiki.debian.org/Multiarch/Implementation#Multi-Arch:_foreign_support_packages


8

能力并不能向您展示整个故事。

$ apt-cache depends libc-bin | grep Conflicts
  Conflicts: libc-bin:i386

我使用的是64位安装,因此实际上只与32位安装冲突。


7

您遇到了bug 831768

aptitude恐怕还不了解多体系结构。最好避免aptitude解决此问题。一个人可以生存apt-get

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.