Dlaczego niektóre pakiety są ze sobą sprzeczne?

16

Po aktualizacji do Oneiric miałem pewne problemy z menedżerem pakietów (chciałem usunąć połowę mojego systemu, w tym pakiety libc6, zlib1g itp.). Podczas walki z talentem zauważyłem, że niektóre pakiety zawierają meta-informacje, które wskazują, że są ze sobą w konflikcie. Przykłady:

% 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

Widzisz Conflicts: libc-binlinię? Jeszcze jeden:

% 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

Ta sama funkcja „konfliktów z samym sobą”.

Rozwiązałem teraz swoje problemy z menedżerem pakietów, ale wciąż mnie niepokoi pytanie: co to znaczy, gdy pakiet sam się konfliktuje? Do czego to służy?

ulidtko
źródło

Odpowiedzi:

25

Oneiric obsługuje Multi-Arch, to znaczy pozwala na jednoczesne instalowanie pakietów różnych architektur (obecnie i386 i amd64 aka 32-bit i 64-bit). Niektórych pakietów nie można zainstalować jednocześnie (np. Libc6: i386 i libc6: amd64). aptitude nie może obsłużyć tych przypadków i dlatego uważa, że ​​dobrym pomysłem może być usunięcie tych pakietów. Zalecane jest użycie apt-getteraz.

Jeśli używasz apt-cache show libc-bin, możesz zobaczyć linię wspominającą o tym konflikcie:

Multi-Arch: obcy

Opis tego pola można znaleźć na stronie http://wiki.debian.org/Multiarch/Implementation#Multi-Arch:_foreign_support_packages

Lekensteyn
źródło
8

Aptitude nie pokazuje całej historii.

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

Mam 64-bitową instalację, więc w rzeczywistości jest to sprzeczne tylko z jej 32-bitowym odpowiednikiem.

Oli
źródło
7

Spróbuj uruchomić w błąd 831768 .

aptitudeObawiam się, że jeszcze nie rozumie wielu języków. Najlepiej unikać, aptitudedopóki nie zostanie to rozwiązane. Można przetrwać apt-get.

tumbleweed
źródło