Почему я не могу обновить zsh?

Работа над 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

# 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

# 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

Я до сих пор не понимаю, что именно контролирует приоритеты при отсутствии явных настроек «предпочтений». Но теперь у меня есть решение.

1
задан 27 September 2017 в 17:44

3 ответа

Резервные копии по умолчанию отключены. Для обновления вашего пакета из backports

apt-get install zsh -t trusty-backports

вы должны использовать следующую команду: Edit: я пропустил страницу источника, где вы можете найти информацию

4
ответ дан 22 May 2018 в 18:05
  • 1
    Является ли это написано в каком-то конфигурационном файле, что backports отключены или он жестко закодирован в apt-get и unattended-upgrades где-нибудь? Благодаря! – Mikhail T. 27 September 2017 в 00:09
  • 2
    Я уточнил свой вопрос с дополнительной информацией. Не могли бы вы дать ему еще один взгляд, пожалуйста? – Mikhail T. 27 September 2017 в 01:37
  • 3
    Правила Apt относительно Backports жестко закодированы. Не рекомендуется обходить эти правила. Дополнительная информация здесь help.ubuntu.com/community/UbuntuBackports – olivierb2 27 September 2017 в 12:10
  • 4
    Я все еще не могу найти, , где он жестко запрограммирован. Команда dpkg -L apt | xargs fgrep -d skip backports ничего не перечисляет ... Но ваша ссылка была идентифицирована, как обходиться - я, когда я закрепляю приоритеты, должен использовать release вместо origin, который я использовал выше! Благодарю. – Mikhail T. 27 September 2017 в 17:35

Резервные копии по умолчанию отключены. Для обновления вашего пакета из backports

apt-get install zsh -t trusty-backports

вы должны использовать следующую команду: Edit: я пропустил страницу источника, где вы можете найти информацию

4
ответ дан 18 July 2018 в 06:10

Резервные копии по умолчанию отключены. Для обновления вашего пакета из backports

apt-get install zsh -t trusty-backports

вы должны использовать следующую команду: Edit: я пропустил страницу источника, где вы можете найти информацию

4
ответ дан 24 July 2018 в 18:32

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

Похожие вопросы: