Unattended-upgrade игнорирует Origins-Pattern и использует дополнительные репозитории.
Дебиан 11.
У меня есть 2 репозитория:
My local
:
950 https://repo.local.com/debian11-security-test bullseye-security/main amd64 Packages release o=Debian,a=bullseye-security,n=bullseye-security,l=repo.local.com-test,c=main,b=amd64 origin repo.local.com
Debian-security:
500 http://security.debian.org bullseye-security/main amd64 Packages release v=11,o=Debian,a=stable-security,n=bullseye-security,l=Debian-Security,c=main,b=amd64 origin security.debian.org
Я хочу, чтобы Unattended-upgrade устанавливал обновления только из моего репо:
Unattended-Upgrade::Origins-Pattern {
"origin=Debian,codename=${distro_codename}-security,label=repo.local.com*";
}
Пробуем его в режиме отладки и видим, что он загружается с security.debian.org:
unattended-upgrade --dry-run -d
Get:29 http://security.debian.org bullseye-security/main amd64 linux-image-5.10.0-21-amd64 amd64 5.10.162-1 [55.5 MB]
Get:45 http://security.debian.org bullseye-security/main amd64 linux-image-amd64 amd64 5.10.162-1 [1484 B]
Checking: linux-image-amd64 ([<Origin component:'main' archive:'stable-security' origin:'Debian' label:'Debian-Security' site:'security.debian.org' isTrusted:True>, <Origin component:'main' archive:'bullseye-security' origin:'Debian' label:'repo.local.com-test' site:'repo.local.com' isTrusted:True>])
<apt_pkg.AcquireItem object:Status: 2 Complete: 1 Local: 1 IsTrusted: 1 FileSize: 55519352 DestFile:'/var/cache/apt/archives/linux-image-5.10.0-21-amd64_5.10.162-1_amd64.deb' DescURI: 'http://security.debian.org/pool/...
Если я закомментирую security.debian.org в source.list, unattendet-upgrade начнет использовать мой репозиторий:
Get:39 https://repo.local.com/debian11-security-test bullseye-security/main amd64 linux-image-5.10.0-21-amd64 amd64 5.10.162-1 [55.5 MB]
Get:45 https://repo.local.com/debian11-security-test bullseye-security/main amd64 linux-image-amd64 amd64 5.10.162-1 [1484 B]
<apt_pkg.AcquireItem object:Status: 2 Complete: 1 Local: 0 IsTrusted: 1 FileSize: 55519352 DestFile:'/var/cache/apt/archives/linux-image-5.10.0-21-amd64_5.10.162-1_amd64.deb' DescURI: 'https://repo.local.com/debian11-security-test/pool/main/l/linux-signed-amd64/linux-image-5.10.0-21-amd64_5.10.162-1_amd64.deb' ID:39 ErrorText: ''>
Но я не хочу это комментировать, поэтому я мог вручную обновить официальный репо.
Версия пакетов одинакова в обоих репозиториях:
apt-cache policy linux-image-amd64
linux-image-amd64:
Installed: 5.10.84-1
Candidate: 5.10.162-1
Version table:
5.10.162-1 950
500 http://security.debian.org bullseye-security/main amd64 Packages
950 https://repo.local.com/debian11-security-test bullseye-security/main amd64 Packages
Пробовал несколько Origins-Pattern:
Unattended-Upgrade::Origins-Pattern {
"origin=Debian,codename=${distro_codename}-security,label=repo.local.com*";
}
Unattended-Upgrade::Origins-Pattern {
"label=repo.local.com-test";
}
Unattended-Upgrade::Origins-Pattern {
"site=repo.local.com";
}
И автоматическое обновление все еще загружается с http://security.debian.org
Как я могу заставить Unattended-upgrade использовать только мой локальный репозиторий для обновления без отключения официального репозитория?