我使用 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 標籤將被保留。