Tôi đang làm việc với một số hướng dẫn thiết lập máy và tôi rất ngạc nhiên khi thấy rằng nó apt-get install A B
có thể hoạt động khác hơn apt-get install A && apt-get install B
.
Ví dụ cụ thể của tôi là A == openjdk-7-jdk
và B == ant
.
Vì vậy, openjdk-7-jdk
phụ thuộc vào openjdk-7-jre-headless
, thỏa mãn ant
sự phụ thuộc của java6-runtime-headless
. Nhưng nếu bạn cài đặt chúng như apt-get install openjdk-7-jdk ant
, APT dường như không tìm ra điều này và cài đặt default-jre-headless
. Nhưng nếu bạn cài đặt openjdk-7-jdk
trước khi cài đặt ant
, sự phụ thuộc của nó được thỏa mãn và tất cả đều tốt.
APT thường đủ thông minh để tìm ra loại điều này, vậy tại sao nó không thể làm như vậy trong trường hợp này? Tôi muốn hiểu rõ hơn về lý do tại sao nó hoạt động theo cách này, vì vậy loại điều này sẽ không khiến tôi gặp lại trong tương lai.
apt-get install -o Debug::pkgProblemResolver=true package1 package2...
. Điều đó có thể cho bạn một gợi ý tại sao nó hoạt động theo cách đó.