Чому деякі пакунки конфліктують між собою?


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

Та сама особливість «конфліктує сама з собою».

Я вже вирішив свої проблеми з менеджером пакунків, але питання все одно мене турбує: що це означає, коли пакет конфліктує сам? Для чого це використовується?

Відповіді:


25

Oneiric підтримує Multi-Arch, тобто дозволяє одночасно встановлювати пакети різних архітектур (в даний час i386 та amd64 aka 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

Aptitude не показує вам всю історію.

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

Я перебуваю на 64-бітній установці, тому вона насправді лише в конфлікті з 32-бітовим колегою.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.