在 RPM Linux 上安装任何东西时,dnf
在最简单的调用中,当出现提示时,默认答案是“N”(否),用户需要按“Y”(或“y”),然后按 Enter 来安装软件包。只需按 Enter 键即可中止安装。
在基于 Debian 的系统上执行相同的操作,apt
默认为“Y”(是),如果不小心按两次 Enter 键,可能会导致系统严重后果(特别是因为apt
如果软件包与您要安装的软件包冲突,则会愉快地在同一进程中卸载软件包) )。
因此我的问题是:是否可以使apt
的提示符也默认为“N”?
这应该是一个配置,而不是一个别名命令行选项,因为系统正在部署。
戳来源:
不同的地方都依赖
YnPrompt()
这个函数:默认
Default
为true
:如果启用了提示,则有一个部分可以翻译/本地化各种语言中任一
[Y/n]
或较不常见[y/N]
(确实存在,请参阅下面的示例)的显示:然后是如果APT 配置尚未强制回答则检索提示输入的部分。
Default
因此提示取决于调用函数时使用的参数值。只有少数地方提供了此参数(偏离默认
[Y/n]
提示/Yes
答案),并且每次都直接将其作为常量提供:它不依赖于任何 APT 配置。在来源中找到的示例apt-mark
:错误要求提示,给出:
[y/N]
所以有 APT 配置来避免触发这样的提示,例如
APT::Get::Assume-Yes
orAPT::Get::Assume-No
直接用Yes
or替换提示No
,或者使用模拟时(最后一个例子:APT::Mark::Simulate
)不执行任何操作也不提示,但至少到 Debian 12 的 apt 都没有出现版本 2.6.1 可以是任何 APT 配置,以保留提示并将默认提示/答案从[Y/n]
/更改Yes
为[y/N]
/No
,也不能从[y/N]
/更改No
为[Y/n]
/Yes
。结论:目前该功能不可用。
APT::Get::Assume-Yes
它可以通过创建一两个新的专用 APT 配置参数(类似于“如何”和“工作”)来实现APT::Get::Assume-No
,可以检查这些参数YnPrompt()
以更改对Default
传递的参数的评估方式。或者可能有其他 APT 配置参数专用于特定的 APT 命令(例如:apt-mark
)来更改该命令在查询 时将传递的内容YnPrompt()
,但目前不存在。