当我在 Fedora 15 机器上更新软件包“selinux-policy-targeted”时,作为 yum 的安装后操作的一部分,会调用整个磁盘的 restorecon 来更改磁盘上的 selinux 上下文以匹配新规则。但是,我的服务器有一个相当大的磁盘阵列,里面有大量的小文件,而且大多数时候 IO 负载都相当高,所以这个操作需要很长时间(读作:实际上是多个天)执行此操作。
有什么方法可以强制这个 restorecon 不发生,或者至少让我从这个操作中排除一个目录树,这样我就可以更新操作系统中重要内容的上下文(即配置目录等),但不能更新我的数据...
答案1
嗯,有一个选项可以排除文件夹(-e)当您手动调用 restorecon 命令时,但是当它自动调用时,它会引用恢复条件配置文件文件并重新应用上下文。我猜想您的用户主目录中有如此大量的数据,而 restorecond.conf 中的 ~/* 包含将是您需要调整的,因为遗憾的是,没有通过此 conf 排除任何文件夹的选项。
答案2
该软件包不会在 %post 中进行完整的重新标记,因为这对很多人来说是疯狂的...它确实:
restorecon -R /root /var/log /var/lock /var/run 2> /dev/null
... 是否有某些原因包括您的备份?