TL/DR:我认为已接受的答案完全符合我的期望。仍然欢迎为该主题添加有用信息的其他答案。
我使用过rpm
( dnf
) 和apt
包管理系统。在rpm
系统中,我注意到当我更新或安装新软件包时,它几乎总是提示用户确认,并且大多数时候默认值为“否”。在apt
系统中,我注意到有时它不会提示用户确认,有时会提示用户默认“是”。
所以我的问题是,什么时候apt-get
或类似的事情提示用户确认,如果这样做,什么时候默认为“是”?
我认为如果我深入挖掘源代码,我应该能够找到答案,apt
但我没有做到,可能是因为我没有使用正确的工具或正确的方法来处理源代码。
请注意,我是不要求apt-get -y
或apt-get --assume-no
类似的事情。我知道这些选项,我并不要求别人告诉我它们的存在。我问的是行为当没有提供额外的命令行标志时。它可能取决于编译时的命令行选项,但回答apt
默认debian
和存储库中发布的行为ubuntu
应该足够了。
编辑: 我知道有apt-get install 不要求确认在 LinuxQuestions.org 上,但我一直认为存在默认提示apt-get
为 no(即[y/N]
)的情况,并且我想要来自来源的证据。
从接受的答案来看,很明显
如果提示的形式为
Do you want to continue? [Y/n]
它始终默认为“是”。
从已接受答案中的评论中,我终于从我一直在寻找的源代码中找到了证据:https://github.com/Debian/apt/search?utf8=%E2%9C%93&q=YnPrompt
所以我想我已经找到了我的问题的完整答案。
编辑2:在接受答案后不久,我意识到我实际上看到了[y/N]
基于yum
系统的系统。
答案1
apt-get upgrade
会一直提示。
apt-get install
仅当不存在冲突、保留的软件包以及显式指定要安装的所有新软件包时才会自动安装。也就是说,如果它自动引入依赖项,它会提示。