Давайте иметь метапакет, который зависит от следующих пакетов
Depends: A (=2),
B (=2),
C (=2)
Обратите внимание на '=' - я хочу установить именно эти версии, а не самые последние.
Дополнительно:
B зависит от A (> = 1)
C зависит от B (> = 1) и A (> = 1)
Если самые последние версии A, B, C в хранилище равны 2, то это работает.
Поскольку я поместил версию 3 A и версию 3 B в репозиторий sudo apt-get install, my-meta-package отказывается завершать со следующей информацией:
The following packages have unmet dependencies:
my-meta-package: Depends: B (= 2) but 3 is to be installed
Depends: A (= 2) but 3 is to be installed
Если я вручную устанавливаю версии 2 для A и B, то метапакет устанавливается правильно, что настоятельно свидетельствует об отсутствии скрытой зависимости от A3 или B3. Это не решение проблемы, поскольку метапакет автоматически устанавливается на многих компьютерах.
ВОПРОС: Что нужно сделать, чтобы sudo apt-get install my-meta-package install версии 2,2,2?
Кроме того, есть ли способ, которым я мог бы получить расширенную информацию, что на самом деле создает необходимость для версии 3 A и версии 3 B?
источник
(a=2), (b=2)
?Ответы:
Вы должны выбрать конкретные версии для установки и установить их все одновременно с метапакетом.
Как сказано в ответе int_ua , вы можете узнать обратные зависимости с помощью этого:
Если вы хотите узнать больше информации о любом из этих пакетов ( доступные версии, зависимости и многое другое ), используйте это:
После того, как вы закончите их установку и захотите сохранить их в этих версиях при обновлении системы, вам нужно будет использовать apt-pinning как рекомендует belacqua .
APT закрепление
источник
Вы можете попробовать установить зависимости сначала с
sudo apt-get install package=2
где 2 - версияВы можете узнать, какие пакеты зависят от пакета с
apt-cache rdepends package
источник