Я понимаю, что в разделе Depends: файлов управления deb пакет может указывать альтернативные зависимости, разделенные символом |
, чтобы удовлетворить одну зависимость.
Мой вопрос: как apt-get
решает, какой из них установить, когда есть альтернативы?
Есть ли способ вручную изменить этот выбор, используя что-то похожее на apt_preferences
?
Например, если пакет зависит от java и в разделе «У нас есть зависимости» openjdk-6-jre | sun-java6-jre
, как я могу принудительно установить apt-get для установки openjdk-6-jre
, если в системе не установлены ни один из пакетов? 118]
В Руководстве по политике Debian, Глава 7 - Объявление отношений между пакетами , вы можете прочитать
В разделах Зависит, Рекомендует, Предлагает, Предварительно Зависит, Строит-Зависит и Поля управления Build-Depends-Indep пакета, которые объявляют зависимости от других пакетов, имена пакетов в списке могут также включать списки альтернативных имен пакетов, разделенных символами вертикальной черты (трубы) |. В таком случае, если установлен какой-либо из альтернативных пакетов, эта часть зависимости считается удовлетворенной.
Я не могу найти никакой другой полезной информации о списке альтернатив во всем документе, поэтому я должен сделать вывод, что, если ни один из пакетов в списке уже не установлен, первый в списке будет выбран. Но знайте, что это только моя интерпретация.