如何摆脱“软件包已降级,并且在没有 --allow-downgrades 的情况下使用 -y”apt 消息

如何摆脱“软件包已降级,并且在没有 --allow-downgrades 的情况下使用 -y”apt 消息

我使用 Nagios 测试来检查某些 Linux 机器中是否有任何软件包关键更新。 check 命令使用以下命令来查找挂起的关键更新:/usr/bin/apt-get -o 'Debug::NoLocking=true' -s -qq upgrade,即以非零状态退出。因此,Nagios 检查显示警告。

如果我手动运行该命令,我会收到以下消息:

~# /usr/bin/apt-get -o 'Debug::NoLocking=true' -s -qq upgrade
E: Packages were downgraded and -y was used without --allow-downgrades.

但是,我不记得降级过任何软件包。你能帮我摆脱这个警告吗?

最好的祝愿,

答案1

“软件包已降级”并不意味着您降级了软件包,而是意味着apt upgrade决定需要降级软件包(可能是因为您的 pin 优先级为 1000 或更高)。

真正的解决办法是避免最终陷入apt需要降级的情况,但我意识到这不是重点。

-qq意味着-y,但这里你还需要--allow-downgrades

apt-get -o 'Debug::NoLocking=true' -s -qq --allow-downgrades upgrade

降级需要额外确认。

(一般情况下应该避免这种情况,但由于该-s选项apt只要求模拟它会做什么,所以在这里是可以的。)

相关内容