Я работаю над некоторыми инструкциями по настройке машины, и я был удивлен, обнаружив, что apt-get install A Bможет вести себя иначе, чем apt-get install A && apt-get install B.
Мой конкретный пример A == openjdk-7-jdkи B == ant.
Итак, openjdk-7-jdkзависит от того openjdk-7-jre-headless, что удовлетворяет antзависимость России java6-runtime-headless. Но если вы устанавливаете их как apt-get install openjdk-7-jdk ant, APT, похоже, не понимает этого и устанавливает default-jre-headless. Но если вы устанавливаете openjdk-7-jdkдо установки ant, его зависимость удовлетворена и все хорошо.
APT обычно достаточно умен, чтобы понять такие вещи, так почему же он не может сделать это в этом случае? Я хотел бы иметь лучшее понимание того, почему это работает таким образом, так что подобные вещи больше меня не сбивают с толку в будущем.
apt-get install -o Debug::pkgProblemResolver=true package1 package2.... Это может дать вам подсказку, почему так работает.