Pracuję nad niektórymi instrukcjami konfiguracji komputera i byłem zaskoczony, gdy dowiedziałem się, że apt-get install A Bmoże zachowywać się inaczej niż apt-get install A && apt-get install B.
Moim konkretnym przykładem jest A == openjdk-7-jdki B == ant.
openjdk-7-jdkZależy więc od tego openjdk-7-jre-headless, co spełnia antzależność java6-runtime-headless. Ale jeśli zainstalujesz je jako apt-get install openjdk-7-jdk ant, APT nie wydaje się tego rozgryzać i instaluje default-jre-headless. Ale jeśli zainstalujesz openjdk-7-jdkprzed instalacją ant, jego zależność jest spełniona i wszystko jest w porządku.
APT jest zwykle wystarczająco inteligentny, aby coś takiego wymyślić, więc dlaczego nie może tego zrobić w tym przypadku? Chciałbym lepiej zrozumieć, dlaczego to działa w ten sposób, więc tego rodzaju rzeczy już mnie nie potkną w przyszłości.
apt-get install -o Debug::pkgProblemResolver=true package1 package2.... To może dać ci wskazówkę, dlaczego tak działa.