web-dev-qa-db-fra.com

Pourquoi ne puis-je pas mettre à niveau zsh?

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

# 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.

mise à niveau sans surveillance

# 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.

1
Mikhail T.

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

4
ob2