Tại sao một số gói xung đột với chính họ?


16

Sau khi nâng cấp lên Oneiric, tôi đã gặp một số rắc rối với trình quản lý gói (nó muốn xóa một nửa hệ thống của tôi, bao gồm các gói libc6, zlib1g, v.v.). Trong cuộc chiến với năng khiếu tôi đã nhận thấy rằng một số gói có thông tin meta nói rằng chúng xung đột với chính chúng. Ví dụ:

% 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

Xem Conflicts: libc-bindòng nào? Một lần nữa:

% 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

Tính năng "xung đột với chính nó" tương tự.

Bây giờ tôi đã giải quyết rắc rối của mình với người quản lý gói, nhưng câu hỏi vẫn làm phiền tôi: có nghĩa là gì khi một gói xung đột với chính nó? Cái này dùng để làm gì?

Câu trả lời:


25

Oneiric hỗ trợ Multi-Arch, nghĩa là cho phép bạn cài đặt các gói của các kiến ​​trúc khác nhau (hiện tại là i386 và amd64 hay còn gọi là 32 bit và 64 bit). Một số gói không thể được cài đặt đồng thời (như libc6: i386 và libc6: amd64). aptitude không thể xử lý các trường hợp này và do đó nghĩ rằng có thể nên loại bỏ các gói đó. Nên sử dụng apt-getngay bây giờ.

Nếu bạn sử dụng apt-cache show libc-bin, bạn có thể thấy dòng đề cập đến xung đột này:

Multi-Arch: nước ngoài

Có thể tìm thấy mô tả về lĩnh vực này tại http://wiki.debian.org/Multiarch/Imcellenceation#Multi-Arch:_forign_support_packages


8

Năng khiếu không cho bạn thấy toàn bộ câu chuyện.

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

Tôi đang cài đặt 64 bit nên thực tế nó chỉ xung đột với đối tác 32 bit của nó.


7

Bạn đã gặp phải lỗi 831768 .

aptitudeTôi chưa hiểu nhiều, tôi sợ. Tốt nhất nên tránh aptitudecho đến khi điều này được giải quyết. Người ta có thể tồn tại với apt-get.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.