首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AppArmor重新安装失败

AppArmor重新安装失败
EN

Ask Ubuntu用户
提问于 2012-01-31 23:41:42
回答 1查看 4.7K关注 0票数 2

我使用仪表器和libriache2-mod-设备一起沙箱一些网站。但是,在最近重新安装之后,它就停止工作了。我一直在犯这个错误:

代码语言:javascript
复制
Setting up apparmor (2.7.0~beta1+bzr1774-1ubuntu2) ...
 * Starting AppArmor profiles
Warning from stdin (line 1): /sbin/apparmor_parser: cannot use or update cache, disable, or force-complain via stdin

[ OK ]
 * Reloading AppArmor profiles
Warning from stdin (line 1): /sbin/apparmor_parser: cannot use or update cache, disable, or force-complain via stdin
invoke-rc.d: initscript apparmor, action "reload" failed.

我试图完全删除和清除设备,apache2,libasache2-mod设备等,然后重新安装,但我一直得到这个错误。据我所知,在这个系统中没有任何其他东西可以阻止它。有什么想法吗?

EN

回答 1

Ask Ubuntu用户

发布于 2012-05-14 17:47:31

当内核和缓存中的特性不同步时,AppArmor无法生成或更新缓存文件。当安装了具有新特性的内核并且/或用户空间尚未更新以匹配和/或用户空间编译器中有错误时,就会发生这种情况。

在这种情况下,一种方法是从开发版本安装内核,或者从上游安装内核,而不是用匹配的包更新设备用户空间。这并不能阻止设备加载策略,但它确实会生成警告并减缓其速度,因为它在每次加载时都会执行新的编译。

删除并重新安装一组软件包,如apparmorapache2libapache2、。是否可以正确删除和清除旧的不一致的缓存文件。部分删除缓存文件通常不会生成新的缓存条目,因为缓存只存储一个功能集的条目。

缓存文件存储在/etc/apparmor.d/cache/中。

通过查看以下内容,您可以比较缓存和内核特性集:

代码语言:javascript
复制
/etc/apparmor.d/cache/.features

取决于您的内核:

代码语言:javascript
复制
/sys/kernel/security/apparmor/features/

(条目目录)

或者:

代码语言:javascript
复制
/sys/kernel/security/apparmor/features

(档案)

以及:

代码语言:javascript
复制
/sys/kernel/security/apparmor/matching

您可以检查已加载的策略状态,以确定是否正在加载策略及其正在经历的缓存更新失败:

代码语言:javascript
复制
sudo aa-status

您可以尝试通过以下方法强制重新生成缓存:

代码语言:javascript
复制
sudo /etc/init.d/apparmor restart

如果失败,可以尝试手动删除缓存文件,然后重新生成缓存:

代码语言:javascript
复制
sudo rm -rf /etc/apparmor.d/cache/*
sudo /etc/init.d/apparmor restart

如果这样做不起作用,那么您已经碰到了一个bug,我建议您用启动板归档一个bug:

代码语言:javascript
复制
ubuntu-bug apparmor
票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/100374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档