Never-Ininclude-Phased-Updates 标志应该放置在哪个“apt”配置文件中?

Org*_*ble 6 update-manager apt

互联网上的许多参考文献 都说,人们可以选择退出软件更新程序的“分阶段更新”

\n\n
\n

通过添加 \xe2\x80\x98Update-Manager::Never-Include-Phased-Updates \xe2\x80\x9cTrue\xe2\x80\x9d;\xe2\x80\x99 到配置文件 \xe2\x80\x9c /etc/apt/apt.conf\xe2\x80\x9d。

\n
\n\n

我的系统没有该配置文件。要使用此选项,我应该创建文件还是将此行添加到 中的许多其他配置文件之一/etc/apt?这仍然是正确的语法吗?

\n

use*_*733 12

深入研究代码后...

分阶段更新是通过文件实现的/usr/lib/python3/dist-packages/UpdateManager/Core/UpdateList.py,该文件由包提供python3-update-manager。查看第 185 行和第 360 行。实际的 python 代码是apt.apt_pkg.config.find_b(),它在所有 apt 配置中进行搜索。

  1. 该字符串应该简单地说:Update-Manager::Always-Include-Phased-Updates;Update-Manager::Never-Include-Phased-Updates;。不需要或检查 True/False 布尔值。

    您应该能够将该行添加到/etc/apt/apt.conf.d/. 或者创建您自己的:/etc/apt/apt.conf.d/99-Phased-Updates.

  2. 当更新管理器(也称为软件更新程序)运行时,应将分阶段更新的存在或两者的存在Never-Include-Phased-Updates记录在日志中。/var/log/apt/

  3. 其他apt基于包管理器(Apt、Synaptic、Ubuntu Software、无人值守升级)不使用更新管理器代码,不使用分阶段更新,并忽略配置字符串的存在(不会被记录)。

    apt 从 21.04 开始使用分阶段更新。

    这些apt设置与更新管理器设置略有不同:

    Update-Manager::Always-Include-Phased-Updates;
    APT::Get::Always-Include-Phased-Updates True;
    
    Update-Manager::Never-Include-Phased-Updates;
    APT::Get::Never-Include-Phased-Updates True;
    
    Run Code Online (Sandbox Code Playgroud)
  4. 我们谈论的是(通常)在几天内传播更新——对于大多数用户来说这没有什么区别。您可以通过告诉apt忽略分阶段来尽早获得更新(一次性sudo apt -o APT::Get::Always-Include-Phased-Updates=true upgrade:)

有趣的是:存储库中分阶段更新包的当前状态位于https://people.canonical.com/~ubuntu-archive/phased-updates.html

给新用户的建议:分阶段更新的目的是保护您免受偶尔出现错误的更新的影响。让它这样做。想要禁用此功能的高级用户知道如何从中恢复。