我在运行替代 Linux 发行版的 Linux 系统上安装了 Debian chroot。过去它一直运行良好,但在过去的几个月里,我发现自己无法升级 libuuid1。相反,它抱怨道:
Cannot open audit interface - aborting.
这导致 dpkg 出错,这意味着我基本上无法再安装软件包。
我认为这是与 selinux 的交互,我的 Debian 用户空间认为它可用,但无法与其交互。具体来说,我认为 sudo 正在尝试打开审计接口的 fd,并收到意外的 errno(请参阅https://lists.fedoraproject.org/pipermail/scm-commits/2010-April/419799.html)。
我一直在寻找是否可以在用户级别完全禁用它,但我只找到了有关在内核中禁用它的信息,当然我无法访问。
我对 selinux 一无所知。有什么方法可以欺骗我的 chroot,让它认为 selinux 根本不存在?是否有一个大的用户空间开关来表示“不要尝试与其交互”?审计接口看起来像是通过 netlink 工作的;有什么方法可以覆盖它以使其返回正确的错误代码?
答案1
您可能正在通过 qemu-user 系统调用转换运行 chroot。查看此错误报告https://bugs.launchpad.net/qemu/+bug/1323001。commitdiff 告诉我们 X-Git-Tag:v2.1.0-rc0~52^2~1。因此,请使用 qemu >= v2.1.0 重试