![这是什么意思:来自 XXX 的警告:apparmor_parser:文件“XXX”缺少功能 abi,正在恢复使用默认策略功能 abi](https://linux22.com/image/1193957/%E8%BF%99%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%EF%BC%9A%E6%9D%A5%E8%87%AA%20XXX%20%E7%9A%84%E8%AD%A6%E5%91%8A%EF%BC%9Aapparmor_parser%EF%BC%9A%E6%96%87%E4%BB%B6%E2%80%9CXXX%E2%80%9D%E7%BC%BA%E5%B0%91%E5%8A%9F%E8%83%BD%20abi%EF%BC%8C%E2%80%8B%E2%80%8B%E6%AD%A3%E5%9C%A8%E6%81%A2%E5%A4%8D%E4%BD%BF%E7%94%A8%E9%BB%98%E8%AE%A4%E7%AD%96%E7%95%A5%E5%8A%9F%E8%83%BD%20abi.png)
在 dist 升级之后,我收到很多类似这样的警告:
来自 /etc/apparmor.d/sbin.dhclient 的警告(/etc/apparmor.d/sbin.dhclient 第 4 行):apparmor_parser:文件“/etc/apparmor.d/sbin.dhclient”缺少功能 abi,恢复为默认策略功能 abi
- 这是什么意思?谷歌没有帮助,或者我无法很好地搜索它
- 这是个问题吗?
- 如果是的话,我该如何解决?
答案1
每steeldriver 的评论,这意味着该文件是 AppArmor 策略,并且它没有更新到 AppArmor v3,因此 AppArmor 会回退到 v2 策略。
答案2
这只是一个措辞不当的警告信息。我的解读方式官方文档这条信息的实际意图是
Warning from /etc/apparmor.d/sbin.dhclient line 4: apparmor_parser: missing AppArmor ABI version declaration, defaulting to ABI version 2. This is probably okay if this was policy originally written for an older version of AppArmor.
如果我正在设计这个系统,我会简单地定义缺少版本声明始终意味着版本 2,并且永远不会发出此警告。