![Как apt-get справляется с несколькими источниками?](https://rvso.com/image/23964/%D0%9A%D0%B0%D0%BA%20apt-get%20%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F%20%D1%81%20%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D0%BC%D0%B8%20%D0%B8%D1%81%D1%82%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8%3F.png)
Предположим, в репозиториях Ubuntu есть пакет.
Я устанавливаю этот пакет с помощью apt-get
.
Затем я добавляю дополнительный источник (с помощью add-apt-repository
), в котором указана либо более новая, либо более старая версия пакета.
Будет ли apt-get всегда обновляться до последней версии, независимо от того, какой источник предлагает последнюю версию?
решение1
APT всегда будет устанавливать последнюю версию, которая не исключенапредпочтения. Настройки указаны в файле /etc/apt/preferences
(и в файлах под /etc/apt/preferences.d
).
Некоторые репозитории имеют конфигурацию, которая не позволяет их пакетам устанавливаться автоматически. Например, Debian backports имеют файлы релиза (которые вы можете увидеть в /var/lib/apt/lists
), которые содержат
NotAutomatic: yes
ButAutomaticUpgrades: yes
Если у вас есть несколько источников для одного и того же пакета (то есть одно и то же имя пакета, один и тот же номер версии), то APT загружает из первого найденного источника /etc/apt/sources.list
(или /etc/apt/sources.list.d/*
; файлы ищутся в лексикографическом порядке, а источники ищутся по порядку внутри каждого файла). Поэтому сначала перечислите локальные зеркала. Порядок sources.list
не имеет значения для пакетов с другим номером версии.