Travailler sur Ubuntu 14.04.5 LTS. zsh
est un paquet, pour lequel une mise à jour est disponible:
# 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
Cependant, ni apt-get install zsh
ni unattended-upgrades
ne le mettraient à niveau:
# 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
Même si je demande explicitement la nouvelle version, aucune mise à niveau ne sera effectuée:
# 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.
Pourquoi apt-get
me mentirait-il, car je possède déjà la dernière version? Pourquoi unattended-upgrades
l'ignorerait-il de la même façon, même si je dresse la liste de toutes les origines possibles, y compris trusty-backports
, dans son /etc/apt/apt.conf.d/50unattended-upgrades
comme "autorisé"?
UPDATE: oui, il serait logique que les "backports" soient désactivés par défaut. Cependant, nous les avons listés comme origines valables dans /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
Même si je supprime la partie restricted
des lignes ci-dessus, cela n'améliorera toujours pas zsh ...
UPDATE: Après avoir étudié le lien @ olivierb2 proposé dans son commentaire ci-dessous, j'ai créé /etc/apt/preferences.d/equalize
pour forcer priorité égale à toutes les origines:
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
Et maintenant, les choses fonctionnent comme je les attend:
# 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
Je ne comprends toujours pas ce qui contrôle les priorités en l'absence de "préférences" explicites. Mais maintenant j'ai la solution.
Les backports sont désactivés par défaut, vous devez utiliser la commande suivante pour mettre à jour votre paquet à partir de backports
apt-get install zsh -t trusty-backports
Edit: je manque le page source où vous pouvez trouver des informations