众所周知,这是一条警告消息,但这准确吗?
如果是这样,那么它记录在哪里? (我已经在手册页中搜索了 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
)使用三个不同的前缀来区分诊断消息的类型或级别:
E
是为了错误。错误使程序无法继续运行。程序通常会因错误而终止。来自的典型错误消息apt
是E: Unable to correct problems, you have held broken packages
。W
用于警告。警告是异常的情况,但不会阻止程序继续运行。来自的典型警告消息apt
是W: Some index files failed to download. They have been ignored, or old ones used instead
。N
用于通知。通知是程序希望您注意的内容,但这不是警告。典型的通知apt
是N: There is 1 additional version. Please use the '-a' switch to see it
.
传统上将终止处理的诊断消息称为“错误消息”,并且将不终止处理的诊断消息称为“警告消息”。然而,向用户呈现这些内容的方式可能因工具而异。
syslogd
Unix 系统上常见的日志守护进程划分记录消息分为严重性级别emerg
、alert
、crit
、err
、
warning
、notice
和(按严重性降序排列),即使该服务通常仅info
由系统服务和守护进程使用,我假设开发人员已经借用了(“注意”)来自该部门的前缀。debug
syslogd
apt
N
这些日志消息的严重性级别是标准,因为它们是为使用日志记录而定义的syslog()
POSIX 中的系统接口。在诊断消息中添加严重性前缀的方式apt
我并不常见。但是,在编译器的诊断输出中常见“警告”和“错误”一词。
--quiet
的选项使apt-get
程序的普通的(非诊断)输出简洁。这与其他命令的类似选项的工作方式类似,并且程序通过选项禁用诊断输出的情况并不常见。