Работа над Ubuntu 14.04.5 LTS. zsh - это пакет, для которого доступно обновление:
# apt-cache policy zsh
zsh:
Installed: 5.0.2-3ubuntu6
Candidate: 5.0.2-3ubuntu6
Version table:
5.0.5-4ubuntu1~ubuntu14.04.1 0
100 http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty-backports/main amd64 Packages
*** 5.0.2-3ubuntu6 0
500 http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
Однако ни apt-get install zsh, ни unattended-upgrades не обновили его:
# apt-get install --dry-run zsh
Reading package lists... Done
Building dependency tree
Reading state information... Done
zsh is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
# unattended-upgrade --debug
Initial blacklisted packages:
Starting unattended upgrades script
Allowed origins are: ['o=LP-PPA-brightbox-ruby-ng,a=trusty', 'o=Percona Development Team,a=', 'o=Ubuntu,a=trusty-security', 'o=Ubuntu,a=trusty-updates', 'o=Ubuntu,a=trusty', 'o=Ubuntu,a=trusty-backports', 'o=LP-PPA-ondrej-php,a=trusty', 'o=RabbitMQ,a=testing', 'o=LP-PPA-vbernat-haproxy-1.5,a=trusty', 'o=Node Source,a=', 'o=,a=now', 'o=Ubuntu,a=trusty-security', 'o=Ubuntu,a=trusty', 'o=UbuntuESM,a=trusty', 'o=Ubuntu,a=trusty-updates', 'o=Ubuntu,a=trusty-proposed', 'o=Ubuntu,a=trusty-backports', 'o=LP-PPA-ondrej-php,a=trusty', 'o=LP-PPA-brightbox-ruby-ng,a=trusty', 'o=Node Source,a=trusty']
pkgs that look like they should be upgraded:
Fetched 0 B in 0s (0 B/s)
fetch.run() result: 0
blacklist: []
No packages found that can be upgraded unattended and no pending auto-removals
Даже если я явно запрошу новую версию, обновление не произойдет:
# apt-get install zsh=5.0.5-4ubuntu1~ubuntu14.04.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
zsh
Suggested packages:
zsh-doc
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Почему apt-get лгут мне, что у меня уже есть последняя версия? Почему unattended-upgrades также пропускает его, хотя я перечисляю все возможные происхождение, в том числе trusty-backports, в его /etc/apt/apt.conf.d/50unattended-upgrades как «разрешено»?
UPDATE: да, было бы разумно, backports "по умолчанию отключены. Тем не менее, мы указали их в качестве действительных истоков в /etc/apt/sources.list:
## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
Даже если я удалю часть restricted из вышеуказанных строк, она все равно не будет обновлять zsh ...
UPDATE : После изучения ссылки @ olivierb2, предложенной в его комментарии ниже, я создал /etc/apt/preferences.d/equalize, чтобы обеспечить равный приоритет всем происхождением:
Package: *
Pin: release a=trusty-security
Pin-Priority: 509
Package: *
Pin: release a=trusty
Pin-Priority: 509
Package: *
Pin: release a=testing
Pin-Priority: 509
Package: *
Pin: release a=trusty-updates
Pin-Priority: 509
Package: *
Pin: release a=trusty-backports
Pin-Priority: 509
Package: *
Pin: release a=now
Pin-Priority: 509
И теперь все работает так, как я их ожидаю:
# apt-cache policy zsh
zsh:
Installed: 5.0.2-3ubuntu6
Candidate: 5.0.5-4ubuntu1~ubuntu14.04.1
Version table:
5.0.5-4ubuntu1~ubuntu14.04.1 0
509 http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty-backports/main amd64 Packages
*** 5.0.2-3ubuntu6 0
509 http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
509 /var/lib/dpkg/status
Я до сих пор не понимаю, что именно контролирует приоритеты при отсутствии явных настроек «предпочтений». Но теперь у меня есть решение.
Резервные копии по умолчанию отключены. Для обновления вашего пакета из backports
apt-get install zsh -t trusty-backports
вы должны использовать следующую команду: Edit: я пропустил страницу источника, где вы можете найти информацию
Резервные копии по умолчанию отключены. Для обновления вашего пакета из backports
apt-get install zsh -t trusty-backports
вы должны использовать следующую команду: Edit: я пропустил страницу источника, где вы можете найти информацию
Резервные копии по умолчанию отключены. Для обновления вашего пакета из backports
apt-get install zsh -t trusty-backports
вы должны использовать следующую команду: Edit: я пропустил страницу источника, где вы можете найти информацию