我使用 fsarchiver 进行恢复,如下所示
关联:http://www.icewalkers.com/Linux/Software/535640/fsarchiver.html
命令:
fsarchiver restfs /tmp/backup/c0d0p2.fsa id=0,dest=/dev/cciss/c0d0p2
失败原因:
[errno=22, Invalid argument]: oper_restore.c#213,extractar_restore_attr_xattr(): xattr:lsetxattr(/racoon,security.selinux) failed Statistics for filesystem 0
请帮忙这是什么:errno=22 ???
答案1
errno(3)
在 GNU/Linux 中,可以在以下文件中找到数字:
$ grep 22 /usr/include/asm-generic/errno-base.h
#define EINVAL 22 /* Invalid argument */
在这种情况下,错误表明 fsarchiver 无法恢复文件的扩展属性。
SELinux 实现的强制访问控制 (MAC) 属性存储在xattr
文件/目录中。
来自 fsarchiver维基百科:
同样重要的是,当您保存已被 SELinux 标记的文件系统时,请确保在运行 FSArchiver 的内核中未启用 SELinux,或者,如果您确定运行 FSArchiver 的上下文具有足够的权限来读取与 SELinux 相关的扩展属性,则可以在启用 SELinux 的情况下使用 FSArchiver。在其他情况下,内核可能会返回未标记而不是 security.selinux 属性的实际值。然后,FSArchiver 将不会保留这些属性,因此当您恢复根文件系统时系统将无法工作,或者您必须要求 SELinux 重新标记文件系统。如果您使用 SystemRescueCd-1.1.3 或更新版本中的 FSArchiver,则默认情况下会禁用 SELinux 支持,因此如果您使用该环境中的 FSArchiver,您的 SELinux 标签将被保留。