Тот же пакет - множественный репозиторий

7

Какой репозиторий будет Ubuntu выбрать для загрузки пакета, если тот же пакет доступен в нескольких репозиториях? Предположим, что пакет A был первоначально установлен из репозитория X, а позже я добавил репо Y, у которого также есть пакет A. Какое репо будет выбрано для обновления пакета? Также, если я полностью удалю этот пакет и попытаюсь переустановить, то какое репо было бы желательно Ubuntu для установки пакета?

    
задан 7_R3X 03.02.2016 в 13:11
источник

1 ответ

6

По умолчанию устанавливается пакет с наивысшим номером версии, независимо от того, из какого репозитория он приходит, , если его номер версии не ниже установленной в данный момент версии пакета (это может произойти, например, если вы загрузили более высокую версию в виде пакета .deb и установили его вручную). В очень маловероятном случае, когда несколько репозиториев имеют одинаковую (самую высокую) версию пакета, пакет устанавливается из того, который появляется первым в файле sources.list .

Вы можете изменить это, однако, назначив другой приоритет для некоторых пакетов на основе различных критериев. Предыдущий абзац соответствует настройкам по умолчанию, поскольку по умолчанию все пакеты имеют приоритет 500. Однако, если разные версии пакета имеют разные приоритеты, будет установлена ​​версия с наивысшим приоритетом, а номера версий будут использоваться только в качестве связующих, если несколько версий имеют одинаковый (самый высокий) приоритет. Кроме того, если пакет с наивысшим приоритетом имеет приоритет не менее 1000, он будет установлен, даже если его версия ниже установленной в настоящее время версии.

Приоритеты управляются в /etc/apt/preferences и документируются в man apt_preferences . См. Мой ответ здесь для примера того, как они могут быть использованы.

    
ответ дан fkraiem 03.02.2016 в 13:31
источник