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 использовать только мой локальный репозиторий для обновления без отключения официального репозитория?

0 ответов

Другие вопросы по тегам