在测试服务器上遇到一个奇怪的问题,无法重命令/home目录
# mv /home /home_old
mv: cannot move ‘/home’ to ‘/home_old’: Device or resource busy
实际上使用lsof
检查,/home
目录并没有访问,但是有很多selinux
相关的file_contexts.homedirs.bin
[[email protected] /]# lsof | grep home
systemd 1 root mem REG 253,0 44725 326702 /etc/selinux/targeted/contexts/files/file_contexts.homedirs.bin
lvmetad 475 root mem REG 253,0 44725 326702 /etc/selinux/targeted/contexts/files/file_contexts.homedirs.bin
systemd-u 491 root mem REG 253,0 44725 326702 /etc/selinux/targeted/contexts/files/file_contexts.homedirs.bin
重启操作系统,确保没有用户在/home
目录下,并且直接使用root
用户身份去mv /home /home_old
同样报错。
[[email protected] /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 8.5G 3.6G 5.0G 42% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.4M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vdb 100G 33M 100G 1% /data
/dev/vda1 497M 309M 188M 63% /boot
tmpfs 3.1G 0 3.1G 0% /run/user/0
确保没有/home
目录的独立磁盘挂载。
怀疑是selinux不允许修改/home
,所以尝试禁止selinux
,修改/etc/sysconfig/selinux
#SELINUX=enforcing
SELINUX=disabled
不重启操作系统也可以直接关闭selinux
setenforce 0
我也尝试重启了操作系统,但是发现,虽然lsof | grep home
已经不再出现 selinux
相关的file_contexts.homedirs.bin
,但是在重命名 /home
目录依然报错
# mv /home /home_old
mv: cannot move ‘/home’ to ‘/home_old’: Device or resource busy
这个问题暂时么有找到解决方法。