Một gói foo xung đột tầm thường có thể được thực hiện để làm việc với thanh , bằng cách chạy dpkg --force-conflicts -i foo
. Nhưng cuối cùng cũng đến lúc nâng cấp và các đối tượng 'apt-get':
% apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
foo : Conflicts: bar but 0.2-1 is installed
E: Unmet dependencies. Try using -f.
Có thể apt-get được tinh chỉnh / buộc phải chịu đựng cuộc xung đột (khá nhiều cố định), sau đó nâng cấp?
(Quickie tồn tại bằng chứng: gỡ bỏ cài đặt foo , sau đó nâng cấp, sau đó cài đặt lại foo như trước Vì vậy nó. Là có thể, câu hỏi là tìm cơ chế cồng kềnh nhất.)
Một ví dụ, nhưng câu hỏi này không phải là về bất kỳ hai gói cụ thể .
Trong nhiều năm, song song GNU đã có một cuộc xung đột không đáng kể với moretutils ; mỗi cung cấp / usr / bin / song song . dpkg có thể buộc cùng tồn tại:
# assume 'moreutils' is already installed, and 'parallel' is in
# apt's cache directory.
dpkg --force-conflicts -i /var/cache/apt/archives/parallel_20141022+ds1-1_all.deb
Điều này tạo ra một dòng, đổi tên các moreutils phiên bản để /usr/bin/parallel.moreutils . Cả hai chương trình hoạt động, cho đến khi người dùng nâng cấp.
Tôi đã thử một tùy chọn -o , nhưng điều đó không mang lại hòa bình:
apt-get -o Dpkg::Options::="--force-conflicts" install parallel moreutils
Có thể -o số tùy chọn trong hàng trăm, tuy nhiên ...
dpkg
và apt
rõ ràng không hài lòng với tình hình hiện tại. Và cách duy nhất để sửa chữa mọi thứ là không cài đặt cả hai gói. Thers không phải là cách tốt để xoa dịu họ, và cố gắng làm như vậy sẽ không dẫn đến đâu cả.
--forcing
mọi thứ nói chung là một ý tưởng tồi trừ khi bạn biết những gì bạn đang làm.