Không thể cài đặt các gói i386 với apt (Debian)


1

Vì vậy, kiến ​​trúc bản địa của tôi là amd64 và tôi cũng đã thêm i386 là nước ngoài. Tôi đã phải đối mặt với hành vi apt lạ. Ví dụ: hãy lấy gói libqt4-dbus. Tôi cố gắng tìm hiểu tất cả các phiên bản gói có sẵn:

phargelm@phargelm:~$ sudo apt list libqt4-dbus -a
Listing... Done
libqt4-dbus/stable,now 4:4.8.6+git64-g5dc8b2b+dfsg-3+deb8u1 amd64  [installed]

Dường như, chỉ có sẵn bản dựng amd64. Nếu tôi cố gắng cài đặt các gói này với chỉ định rõ ràng kiến ​​trúc gói (i386), tôi sẽ nhận được điều này:

phargelm@phargelm:~$ sudo apt install libqt4-dbus:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libqt4-dbus:i386 : Depends: libqtdbus4:i386 (= 4:4.8.6+git64-g5dc8b2b+dfsg-3+deb8u1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Ngoài ra, tôi không có kết quả với cài đặt apt-get -f:

phargelm@phargelm:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Nhưng năng khiếu làm việc tốt

phargelm@phargelm:~$ sudo aptitude install libqt4-dbus:i386
The following NEW packages will be installed:
  gcc-4.9-base:i386{a} libc6:i386{a} libc6-i686:i386{a} libdbus-1-3:i386{a} libffi6:i386{a} libgcc1:i386{a} libglib2.0-0:i386{a} libpcre3:i386{a} libqt4-dbus:i386 
  libqt4-xml:i386{a} libqtcore4:i386{a} libqtdbus4:i386{a} libselinux1:i386{a} libstdc++6:i386{a} zlib1g:i386{a} 
0 packages upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.2 MB of archives. After unpacking 27.1 MB will be used.

Vì vậy, câu hỏi là: tại sao aptitude có thể cài đặt libqt4-dbus: i386 mà không gặp vấn đề gì, nhưng apt không thể, làm thế nào để khắc phục nó?


Bạn có thể làm apt-get updateđầu tiên trước khi cài đặt? Bạn đã kiểm tra của bạn /etc/apt/sources.list?

Câu trả lời:


0

Câu trả lời có thể được nhìn thấy trong đầu ra của năng khiếu. Đơn giản là năng khiếu là một công cụ cấp cao cố gắng giải quyết địa ngục phụ thuộc cho bạn. Apt nói với bạn rằng thư viện này yêu cầu cài đặt một phụ thuộc, điều mà Aptitude đã làm cho bạn, kiểm tra danh sách các lib bổ sung được cài đặt bởi Aptitude để thực hiện yêu cầu của bạn. Điều này có thể đạt được bởi Apt, nếu bạn yêu cầu nó tự cài đặt tất cả danh sách này.


Tôi không bao giờ có vấn đề với apt. Nó luôn giải quyết các phụ thuộc một cách hoàn hảo, nhưng bây giờ có vẻ như apt không thử cài đặt tất cả các phụ thuộc và nó có vẻ lạ. Tôi muốn hiểu lý do của hành vi như vậy. Tại sao apt cài đặt phụ thuộc cho các gói khác? amd64 chẳng hạn?
Phargelm

0

Bạn có thể cần cập nhật cơ sở dữ liệu năng khiếu và các gói đã cài đặt trước.

# aptitude update
# aptitude safe-upgrade 

Ok, tôi đã thử nó, nhưng, thật không may, không thành công :(
Phargelm

0

Vấn đề đã được giải quyết bằng cách xóa kho lưu trữ "dotdeb" không chính thức khỏi danh sách nguồn và gỡ cài đặt / hạ cấp tất cả các gói thành nhánh ổn định.

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.