今天需要在 CentOS Stream 下面测试一些新的系统,在测试之前先执行一下 dnf -y update 对系统进行更新,但在更新的时候出现错误的提示:Plugin selinux: hook fsm_file_prepare failed。

通常这种问题与 SELinux 安全上下文设置有关。以下是一些的解决思路:
1、执行一下命令检查 SELinux 是否启用:
sestatus
getenforce

2、从上面截图来看,SELinux 处于启用的状态,然后执行以下命令,临时禁用 SELinux:
setenforce 0
3、临时禁用之后,重新执行 dnf -y update 对系统更新,看看是否可以正常更新。如果可以正常更新的,在完成更新之后,建议重启一次系统。
由于上述操作只是临时禁用 SELinux,在系统重启完成后,SELinux 会重新启用。如果对系统安全有一定要求的,建议不要永久关闭 SELinux,如果像上面那种情况的需要禁用 SELinux 来对系统进行一些修改的,使用本文提到的方法临时禁用 SELinux 即可。
注:本文也适用于 Red Hat Enterprise Linux、Rocky Linux、Almalinux及其它由RHEL衍生而来的系统。