AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1311421
Accepted
NovHak
NovHak
Asked: 2021-01-28 06:20:22 +0800 CST2021-01-28 06:20:22 +0800 CST 2021-01-28 06:20:22 +0800 CST

更新管理器不会使所有软件包保持最新。逻辑是什么?

  • 772

我在当前的 Groovy 中注意到,如果我只依赖图形更新管理器,某些包不会保持最新。目前,涉及 18 个包:gnome-shell-common gnome-shell-extension-prefs gnome-shell libpulse-dev libpulse-mainloop-glib0 libpulse0(amd64 & i386) libpulsedsp lshw pulseaudio-module-bluetooth pulseaudio-utils pulseaudio qemu-block-extra qemu-system-common qemu-system-data qemu-system-gui qemu-system-x86 qemu-utils。

任何aptor apt-get full-upgrade, dist-upgradeorupgrade命令都会升级软件包,但不会升级更新管理器,它会一直告诉我我的系统是最新的。即使我打开一个 tty(纯文本)会话,我也会收到没有可用更新的消息(我想这意味着更新管理器也在这里发挥作用)。

这是一个错误,还是预期的行为?但是,如果它是有意的,那么逻辑是什么?

编辑:执行后apt update,更新管理器检测到一些更新,其中一个可能同时添加的安全更新,但出于某种神秘的原因,它随后决定也升级与 Pulse Audio 相关的软件包。

然后我按顺序运行以下命令(包括输出):

$ apt list --upgradable

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Listing...
gnome-shell-common/groovy-updates,groovy-updates 3.38.2-1ubuntu1~20.10.1 all [upgradable from: 3.38.1-1ubuntu1.1]
gnome-shell-extension-prefs/groovy-updates 3.38.2-1ubuntu1~20.10.1 amd64 [upgradable from: 3.38.1-1ubuntu1.1]
gnome-shell/groovy-updates 3.38.2-1ubuntu1~20.10.1 amd64 [upgradable from: 3.38.1-1ubuntu1.1]
lshw/groovy-updates 02.18.85-0.3ubuntu2.20.10.1 amd64 [upgradable from: 02.18.85-0.3ubuntu2]
qemu-block-extra/groovy-updates 1:5.0-5ubuntu9.3 amd64 [upgradable from: 1:5.0-5ubuntu9.2]
qemu-system-common/groovy-updates 1:5.0-5ubuntu9.3 amd64 [upgradable from: 1:5.0-5ubuntu9.2]
qemu-system-data/groovy-updates,groovy-updates 1:5.0-5ubuntu9.3 all [upgradable from: 1:5.0-5ubuntu9.2]
qemu-system-gui/groovy-updates 1:5.0-5ubuntu9.3 amd64 [upgradable from: 1:5.0-5ubuntu9.2]
qemu-system-x86/groovy-updates 1:5.0-5ubuntu9.3 amd64 [upgradable from: 1:5.0-5ubuntu9.2]
qemu-utils/groovy-updates 1:5.0-5ubuntu9.3 amd64 [upgradable from: 1:5.0-5ubuntu9.2]

$ apt-cache policy gnome-shell
gnome-shell:
  Installed: 3.38.1-1ubuntu1.1
  Candidate: 3.38.2-1ubuntu1~20.10.1
  Version table:
     3.38.2-1ubuntu1~20.10.1 500
        500 http://fr.archive.ubuntu.com/ubuntu groovy-updates/main amd64 Packages
 *** 3.38.1-1ubuntu1.1 100
        100 /var/lib/dpkg/status
     3.38.1-1ubuntu1 500
        500 http://fr.archive.ubuntu.com/ubuntu groovy/main amd64 Packages

# apt update

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Hit:1 http://fr.archive.ubuntu.com/ubuntu groovy InRelease
Hit:2 http://security.ubuntu.com/ubuntu groovy-security InRelease
Hit:3 http://fr.archive.ubuntu.com/ubuntu groovy-updates InRelease
Hit:4 http://fr.archive.ubuntu.com/ubuntu groovy-backports InRelease
Reading package lists...
Building dependency tree...
Reading state information...
10 packages can be upgraded. Run 'apt list --upgradable' to see them.

然后我再次运行apt list --upgradableandapt-cache policy gnome-shell并得到与之前完全相同的输出apt update(我将重定向的输出与 进行了比较cmp)。update-manager仍然说我的系统是最新的。

apt
  • 1 1 个回答
  • 260 Views

1 个回答

  • Voted
  1. Best Answer
    user535733
    2021-01-28T10:33:29+08:002021-01-28T10:33:29+08:00

    这不是一个错误。您已经发现了分阶段更新。

    Phased Updates 是 Ubuntu 使用的一种漂亮的小风险管理(带吊带)技术。

    这个想法是,如果一个灾难性的包升级要通过 QA Review 和建议的测试,我们不要在同一天将该升级发送给每个人。相反,将升级分散在一周内。灾难袭击 repos 几个小时后,社区警报将导致新包被识别并拉出……从而保护 90-95% 的社区。

    这是一个好主意,但如果你从内部看,它肯定会令人困惑。

    这就是 apt 和 Update Manager 之间存在差异的原因:

    • 20.10 中的 Apt 不使用分阶段升级。(它将于 21.04 推出)
    • Update Manager 确实使用分阶段升级。

    所以两者的输出在 20.10 中没有直接可比性。

    无论您选择如何升级,您仍将获得所有升级。您可能会在不同的日子收到一些包裹,仅此而已。

    • 2

相关问题

  • 如何编写 shell 脚本来安装应用程序列表?

  • 如何查看存档中可用的软件包的所有版本?

  • 是否可以说出我安装的哪些软件包不在原版安装中?

  • 如何删除 PPA?

  • 使用 apt-get upgrade 时如何强制安装内核更新?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve