错误行前缀“W:”是什么意思,就像来自 apt-get 或其他类似命令一样?

错误行前缀“W:”是什么意思,就像来自 apt-get 或其他类似命令一样?

众所周知,这是一条警告消息,但这准确吗?

如果是这样,那么它记录在哪里? (我已经在手册页中搜索了 dpkg 和 apt-get 以及网络。我还尝试添加--quiet, 和--quiet --quiet选项,但它们似乎并没有使这些W: ...行保持沉默。)


这仅适用于 apt-get,还是更广泛地适用,比如通过一些标准 C 库或一些历史标准?


例如:

$ sudo apt-get source somepackage
...
W: Download is performed unsandboxed as root as file ...

另外,它们是否有其他标准或类似的错误行前缀代码?

答案1

apt(程序和软件集合apt-get)使用三个不同的前缀来区分诊断消息的类型或级别:

  1. E是为了错误。错误使程序无法继续运行。程序通常会因错误而终止。来自的典型错误消息aptE: Unable to correct problems, you have held broken packages
  2. W用于警告。警告是异常的情况,但不会阻止程序继续运行。来自的典型警告消息aptW: Some index files failed to download. They have been ignored, or old ones used instead
  3. N用于通知。通知是程序希望您注意的内容,但这不是警告。典型的通知aptN: There is 1 additional version. Please use the '-a' switch to see it.

传统上将终止处理的诊断消息称为“错误消息”,并且将不终止处理的诊断消息称为“警告消息”。然而,向用户呈现这些内容的方式可能因工具而异。

syslogdUnix 系统上常见的日志守护进程划分记录消息分为严重性级别emergalertcriterrwarningnotice和(按严重性降序排列),即使该服务通常仅info由系统服务和守护进程使用,我假设开发人员已经借用了(“注意”)来自该部门的前缀。debugsyslogdaptN

这些日志消息的严重性级别标准,因为它们是为使用日志记录而定义的syslog()POSIX 中的系统接口。在诊断消息中添加严重性前缀的方式apt我并不常见。但是,在编译器的诊断输出中常见“警告”和“错误”一词。

--quiet的选项使apt-get程序的普通的(非诊断)输出简洁。这与其他命令的类似选项的工作方式类似,并且程序通过选项禁用诊断输出的情况并不常见。

相关内容