DEBIAN_FRONTEND=noninteractive 与 apt-get -yqq 是多余的吗?

DEBIAN_FRONTEND=noninteractive 与 apt-get -yqq 是多余的吗?

我是 Docker 和 Linux 方面的菜鸟,正在研究我所从事的共享项目中的 Dockerfile。我不明白的事情——在 Dockerfile 的顶部我们有:

# Never prompts the user for choices on installation/configuration of packages
ENV DEBIAN_FRONTEND=noninteractive

但在后来的一系列 DockerRUN命令中,我看到它-yqq被附加到所有apt-get命令中:apt-get {install,update,upgrade} -yqq ...。由于-yqq应该自动回答问题apt-get并使其保持沉默,所以我很困惑它是否多余。但我很难找到简单的答案,所以这里有一些问题:

  • 是否apt-get直接读取值DEBIAN_FRONTEND并相应地设置选项?
  • 对于设置的一个或多个if来说-y和是多余的吗?-qqapt-get {install,update,upgrade}DEBIAN_FRONTEND=noninteractive

答案1

DEBIAN_FRONTEND由 读取debconf,用于在许多包的维护者脚本中提示输入。apt不是考虑到这个环境变量,DEBIAN_FRONTEND=noninteractive所以不是与和apt选项是多余的。-y-q

软件包安装中还可以涉及各种其他工具;参见例如使用 apt-get install 时强制非交互式“dpkg --configure”

相关内容