apt 命令无法升级我保留的软件包

apt 命令无法升级我保留的软件包

有一个十年前就已回答的问题“以下包裹已被保留:”为什么以及我该如何解决?

答案围绕以下三个主题而变化:

sudo apt-get --with-new-pkgs upgrade <list of packages kept back> # theme 1
sudo apt-get dist-upgrade                                         # theme 2 
sudo apt-get install <list of packages kept back>                 # theme 3

我对这个问题的理解是;我运行sudo apt-get update; sudo apt-get upgrade后看到以下输出:

The following packages have been kept back:
  coreutils libpulse-dev libpulse-mainloop-glib0 libpulse0 libpulse0:i386
  libpulsedsp pulseaudio-utils snapd update-notifier update-notifier-common
0 upgraded, 0 newly installed, 0 to remove and 10 not upgraded.

每次我运行 时都是这样sudo apt-get update; sudo apt-get upgrade。我不记得每次都是相同的 10 个包还是大约 10 个不同的包。无论如何,我继续尝试前面提到的解决方案:

sudo apt-get --with-new-pkgs upgrade <list of packages kept back> # theme 1
sudo apt-get dist-upgrade                                         # theme 2 

这些都不起作用(是的,我确实<list of packages kept back>用保留的软件包的实际名称替换了它们)。发出这些命令后,我的终端上什么也没有显示。只有两行空白。所以我不得不尝试最后一个选项:

sudo apt-get install <list of packages kept back>                 # theme 3

这可行,但也存在问题:

  1. 我必须从终端输出复制/粘贴(我总是忘记终端复制/粘贴快捷键)
  2. 我的终端中总是有空格、换行符等无法顺利复制/粘贴
  3. 我自己也会犯错和人为错误
  4. 这只是一种糟糕的做事方式,你明白我的意思。

有没有干净的方法运行一个命令(或脚本)来通过 apt 升级我的系统?我甚至(喘息)现在会满足于 GUI 升级按钮。每次升级我的任何<list of packages kept back>系统时,总是有一个升级按钮只是个小小的麻烦。

答案1

这是最近发生的事情分阶段更新

无需采取任何措施。通常需要几天时间才能确保更新的软件包是安全的。

答案2

包裹被扣留可能有两个原因:

  1. 该商品正在分阶段发布,因此并非每个人都能同时收到。只需等待,商品最终就会送达。使用以下方式检查包裹状态:
apt-cache policy pulseaudio  
pulseaudio:  
  Installed: 1:15.99.1+dfsg1-1ubuntu2.1  
  Candidate: 1:15.99.1+dfsg1-1ubuntu2.2  
  Version table:  
     1:15.99.1+dfsg1-1ubuntu2.2 500 (phased 70%)  
...snip  

您可以通过以下方式强制交货:

sudo apt -o APT::Get::Always-Include-Phased-Updates=true upgrade --dry-run

--dry-run当您检查完该组后,将其删除。

  1. 软件包已报告严重问题,因此暂时停止交付。apt-cache 策略不会报告分阶段百分比。除非您想帮助调试,否则请等待其重新发布。

相关内容