Бинарные пакеты могут для свой корректной работы
требовать наличия других, отсутствия других, а также рекомендовать к
установке другие пакеты, вместе с которыми данные будут обеспечивать
большую функциональность.
Depends
Абсолютная зависимость. Пакет не будет сконфигурирован
до тех пор, пока перечисленные пакеты не будут корректно
сконфигурированы.
Pre-Depends
Также абсолютная зависимость, но более
строгая. Не будет начинаться даже инсталляция пока эта зависимость не
будет удовлетворена (необходима, если пакет используется, скажем, в
инсталляционных скриптах)
Recomends
Строгая, но не абсолютная зависимость. Перечисляет
пакеты, которые должны быть установлены с данным, кроме случаев
необычных инсталляций. Например, kernel-sources настоятельно
рекомендуют устанавливать gcc.
Suggests
Зависимость указывает на пакеты, не на шутку
расширяющие функциональность данного. Например, те же kernel-sources
указывают тут ncurses-dev так как конфигурировать
с помощью make config не слишком весело.
Enchances
Имеет обратный смысл предыдущего. Перечисляет пакеты,
функциональность которых расширяет данный пакет.
Conflicts
Указывает пакеты, вместе с которыми данный работать
не может. Например, на машине может быть только один MTA, поэтому exim
конфликтует с mail-transport-agent.
Replaces
Указывает пакеты, файлы которых заменяет. Если заменяет
все файлы пакета, по пакет становится disappeared и помечается для
удаления. Этим пользуются чтобы спровоцировать удаление конфликтующего
пакета:
Provides: mail-transport-agent
Conflicts: mail-transport-agent
Replaces: mail-transport-agent
Provides
В debian существует система так называемых виртуальных
пакетов. Большинство программ являются представителями
какого либо класса (например, exim, sendmail, postfix -
MTA). Поэтому в пакете, представляющем программу, полезно указать
этот класс в поле Provides. Теперь, если какому-либо пакету
необходима подобная функциональность, он может в поле Depends
указать лишь название
класса5 вместо того, чтобы перечислять
все программы дистрибутива с подобной функциональностью. Так как
физически не существует пакетов с такими именами, они называются
виртуальными.