Как apt-get справляется с несколькими источниками?

8

Допустим, в репозиториях Ubuntu есть пакет.

Я устанавливаю этот пакет, используя apt-get.

Затем я добавляю дополнительный источник (с add-apt-repository), который перечисляет более новую или более старую версию пакета.

Будет ли apt-get всегда обновляться до последней версии, независимо от того, какой источник предлагает последнюю версию?

eoinoc
источник

Ответы:

10

APT всегда будет устанавливать последнюю версию, которая не исключена настройками . Предпочтения указаны в файле /etc/apt/preferences(и в файлах ниже /etc/apt/preferences.d).

Некоторые репозитории имеют конфигурацию, которая предотвращает автоматическую установку их пакетов. Например, в бэкпортах Debian есть файлы релизов (которые вы можете увидеть /var/lib/apt/lists), которые содержат

NotAutomatic: yes
ButAutomaticUpgrades: yes

Если у вас есть несколько источников для одного и того же пакета (т. Е. Одно и то же имя пакета, один и тот же номер версии), то APT загружается из первого источника, найденного в /etc/apt/sources.list(или /etc/apt/sources.list.d/*; файлы ищутся в лексикографическом порядке, а источники ищутся по порядку внутри каждого файл). Поэтому сначала перечислите локальные зеркала. Порядок в не sources.listимеет значения для пакетов с другим номером версии.

Жиль "ТАК - перестань быть злым"
источник
так для точно такого же пакета (то же имя, тот же номер версии), apt будет искать в алфавитном порядке sources.list.d(и его подкаталоги)?
Саджук
1
@Sajuuk Во- sources.listпервых, затем в файлах sources.list.dв алфавитном порядке. Внутри каждого файла выполняется поиск в порядке перечисления источников в файле.
Жиль "ТАК - перестань быть злым"
Я знаю, потому что источники могут существовать в нескольких местах, таких как /etc/apt/sources.list и ./etc/apt/sources.list.d/*.list Я спрашиваю, в каком порядке будут искать эти источники ?
Саджук
@Sajuuk Посмотрите мой отредактированный комментарий (я нажал Enter, прежде чем закончил набирать его).
Жиль "ТАК - перестань быть злым"