以下软件包已被保留 - 强制安装安全吗?

以下软件包已被保留 - 强制安装安全吗?

在执行时sudo apt upgrade,我收到以下错误(或警告,不确定它是什么):

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  libnvidia-cfg1-440 libnvidia-compute-440 libnvidia-compute-440:i386 libnvidia-decode-440 libnvidia-decode-440:i386 libnvidia-encode-440 libnvidia-encode-440:i386
  libnvidia-extra-440 libnvidia-fbc1-440 libnvidia-fbc1-440:i386 libnvidia-gl-440 libnvidia-gl-440:i386 libnvidia-ifr1-440 libnvidia-ifr1-440:i386
  nvidia-compute-utils-440 nvidia-driver-440 nvidia-kernel-common-440 nvidia-kernel-source-440 nvidia-utils-440 xserver-xorg-video-nvidia-440
0 upgraded, 0 newly installed, 0 to remove and 20 not upgraded.

我找到了解决方案(运行sudo apt install <package-name>)。我还发现了为什么会这样。这是因为新版本有未满足的依赖关系。

但我怀疑这样做是否安全sudo apt install <package-name>,或者系统会在几天内处理这个问题。如果是这样,那么需要多少天才能自行解决这个问题?

编辑1:
我当前的 Nvidia 驱动程序是 440。

答案1

您看到此消息通常有四个原因:

  • 升级过程需要添加使用--with-new-pkgs upgrade。如果没有这个,apt upgrade就不会添加或删除新的包。

  • 升级过程需要消除:仔细检查您的 apt 配置,哪些软件包将被删除,分析可能的后果,检查您的备份……然后:apt full-upgrade。将添加或删除完成升级所需的软件包。

    apt full-upgrade只有在 中有坏的存储库时才会很危险/etc/apt/sources.list*。最好知道 会full-upgrade升级所有软件包,但是使用默认存储库应该没问题。不是使用full-upgrade可能很危险,因为您可能会错过安全更新。来源

    apt full-upgrade可以删除和添加软件包,但实际上并不危险。如果您的 sources.list 文件有问题,任何软件包安装命令都可能造成严重损害!常规命令apt upgrade将安装任何启用的软件源中的任何软件包;full-upgrade这种方式并不唯一。来源

  • 相关包裹被标记为滞留:(sudo apt-mark showmanual | grep nvidia例如)列出的软件包中有一个是apt upgrade? 列出的问题软件包。在这种情况下,应该分析是谁/为什么这些软件包被这样标记。

    例如,我有一个问题flatpak,通过添加其 PPA 从 1.11.1 移至 1.14.4 进行了修复。出于某种原因,flatpak 标记为被阻止xdg-desktop-portalFlatpak 和 Snap 的桌面集成门户)。

  • 取决于不可用的软件包或版本:这可能是暂时的问题,也可能是适当的错误配置。

    • 这种临时情况有时可能与分阶段更新(还这里):

      一旦更新发布到 -updates,更新就会分阶段进行,以便逐步向不断扩大的 Ubuntu 用户子集提供更新。此过程使我们能够自动监控回归问题,并在发现任何问题时停止更新过程。

      Phased-Update-Percentage 最初设置为 10%,并运行一项作业(每 6 小时一次)来检查回归,如果没有发现回归,则分阶段更新百分比将增加 10%。因此,更新将在 54 小时或大约 2 天后完全分阶段完成。

      更新管理器当前唯一支持分阶段更新的软件包管理器. 任何其他更新机制都会安装所有更新,而不管分阶段更新百分比是多少。

其他说明

  • 不确定如何使用full-upgrade?试试用--dry-run。来自apt 手册

    -s,,,,,,:无操作;根据当前系统状态模拟将要发生的事件,但实际上不会改变系统--simulate--just-print--dry-run--recon--no-act

  • dist-upgrade不会更新整个发行版(如do-release-upgrade)。这是用词不当。full-upgrade等价于. 避免使用dist-upgrade.

  • 使用apt命令, 这友好的替代方案apt-get


有时sudo ubuntu-drivers install可能会尝试降级您的 NVIDIA 驱动程序。我不确定为什么。

相关内容