web-dev-qa-db-fra.com

Pourquoi certains paquets sont en conflit avec eux-mêmes?

Après une mise à niveau vers Oneiric, j'ai eu quelques problèmes avec le gestionnaire de paquets (il voulait supprimer la moitié de mon système, y compris les paquets libc6, zlib1g, etc.). Pendant le combat avec aptitude, j'ai remarqué que certains paquets contiennent des méta-informations indiquant qu'ils sont en conflit avec eux-mêmes. Exemples:

% 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 <[email protected]>
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

Voir la ligne Conflicts: libc-bin? Un de plus:

% 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 <[email protected]>
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

La même fonctionnalité "en conflit avec lui-même".

J'ai résolu mes problèmes avec le gestionnaire de paquets maintenant, mais la question me préoccupe toujours: qu'est-ce que cela signifie quand un paquet entre en conflit sur lui-même? À quoi sert-il?

16
ulidtko

Oneiric prend en charge Multi-Arch, c'est-à-dire qu'il vous permet d'installer simultanément des packages d'architectures différentes (actuellement les versions i386 et AMD64 a.k.a 32 et 64 bits). Certains packages ne peuvent pas être installés simultanément (comme libc6: i386 et libc6: AMD64). aptitudene peut pas gérer ces cas et pense donc que ce peut être une bonne idée de supprimer ces paquets. Il est recommandé d'utiliser apt-get maintenant.

Si vous utilisez apt-cache show libc-bin, vous pouvez voir la ligne mentionnant ce conflit:

Multi-Arch: étranger

Vous trouverez une description de ce champ à l'adresse suivante: http://wiki.debian.org/Multiarch/Implementation#Multi-Arch:_foreign_support_packages

25
Lekensteyn

L'aptitude ne vous montre pas toute l'histoire.

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

Je suis sur une installation 64 bits, de sorte qu’il n’est en conflit avec son homologue 32 bits.

8
Oli

Vous avez rencontré bug 831768 .

aptitude ne comprend pas encore multiarch, j'ai bien peur. Il est préférable d'éviter aptitude jusqu'à ce que cela soit résolu. On peut survivre avec apt-get.

7
tumbleweed