Sto lavorando su alcune istruzioni di installazione della macchina e sono stato sorpreso di scoprire che apt-get install A B
può comportarsi diversamente da apt-get install A && apt-get install B
.
Il mio esempio specifico è A == openjdk-7-jdk
e B == ant
.
Quindi, openjdk-7-jdk
dipende da openjdk-7-jre-headless
, che soddisfa ant
la dipendenza java6-runtime-headless
. Ma se li installi come apt-get install openjdk-7-jdk ant
, APT non sembra capirlo e si installa default-jre-headless
. Ma se si installa openjdk-7-jdk
prima dell'installazione ant
, la sua dipendenza è soddisfatta e tutto va bene.
L'APT di solito è abbastanza intelligente da capire questo genere di cose, quindi perché non può farlo in questo caso? Mi piacerebbe avere una migliore comprensione del perché funzioni in questo modo, quindi questo genere di cose non mi farà inciampare in futuro.
apt-get install -o Debug::pkgProblemResolver=true package1 package2...
. Ciò potrebbe darti un suggerimento sul perché funzioni in questo modo.