¿Por qué algunos paquetes entran en conflicto con ellos mismos?

16

Después de una actualización a Oneiric, tuve algunos problemas con el administrador de paquetes (quería eliminar la mitad de mi sistema, incluidos los paquetes libc6, zlib1g, etc.). Durante la pelea con aptitud, he notado que algunos paquetes tienen metainformación que indica que entran en conflicto consigo mismos. Ejemplos:

% 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

¿Ves la Conflicts: libc-binlínea? Uno mas:

% 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 misma característica de "conflictos consigo mismo".

He resuelto mis problemas con el administrador de paquetes ahora, pero la pregunta todavía me molesta: ¿qué significa cuando un paquete entra en conflicto? ¿Para qué se usa esto?

ulidtko
fuente

Respuestas:

25

Oneiric es compatible con Multi-Arch, es decir, le permite instalar paquetes de diferentes arquitecturas simultáneamente (actualmente i386 y amd64, también conocido como 32 bits y 64 bits). Algunos paquetes no pueden instalarse simultáneamente (como libc6: i386 y libc6: amd64). aptitude no puede manejar estos casos y, por lo tanto, piensa que puede ser una buena idea eliminar esos paquetes. Se recomienda usar apt-getahora.

Si lo usa apt-cache show libc-bin, puede ver la línea que menciona este conflicto:

Multi-arco: extranjero

Se puede encontrar una descripción de este campo en http://wiki.debian.org/Multiarch/Implementation#Multi-Arch:_foreign_support_packages

Lekensteyn
fuente
8

Aptitude no te muestra toda la historia.

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

Estoy en una instalación de 64 bits, por lo que en realidad solo está en conflicto con su contraparte de 32 bits.

Oli
fuente
7

Te has encontrado con el error 831768 .

aptitudetodavía no entiende multiarch, me temo. Es mejor evitar aptitudehasta que esto se resuelva. Uno puede sobrevivir con apt-get.

planta rodadora
fuente