
我創建了dd
整個系統的備份,我想將其還原到新的(加密的)驅動器。我成功地用於rsync -ad
恢復新創建的 ext4 文件系統的文件和權限(我成功啟動了它並使用它來編寫此內容),但我無法訪問安裝在的設備/media/username
(假設我單擊文件管理器中的某個分割區來安裝) it),該目錄和掛載點歸root:root
.已知檔案的權限(例如 中的內容/home
)設定正確,因此我假設在備份之前也/media/*
擁有該權限。root
我猜有問題前十字韌帶s。
- 有辦法恢復嗎前十字韌帶無需再次複製所有內容? (我已經發現這指南,但它說它不可靠。我不知道這是否適合我的用例。另外,我不需要恢復 Linux 所有權和權限,這應該已經是正確的,我不想破壞它。也許
-s
選項getfacl
是我需要的? - 還有什麼
rsync
遺漏需要恢復嗎? - 如果無法保存此內容並且我必須再次複製所有內容,我應該使用什麼。指南我遵循了使用的
tar
命令,但是透過管道傳輸兩個命令真的很慢tar
。
我用Linux 薄荷 19.3。
編輯:我檢查了備份(/mnt/
),我是對的,ACL 已設定:
sudo getfacl /mnt/media/username/
getfacl: Removing leading '/' from absolute path names
# file: mnt/media/username/
# owner: root
# group: root
user::rwx
user:username:r-x
user:libvirt-qemu:--x
group::---
mask::r-x
other::---
edit2:自從複製了所有內容後,我做了一些更改,所以我更喜歡不會覆蓋文件內容的方法。
答案1
對我有用的解決方案(如果您只想恢復 ACL 和權限但不想更改檔案):
cd /path/to/backup # so that saved paths would be relative to backed up root
getfacl -R . > ~/facl.bak
cd /
setfacl --restore=/root/facl.bak
答案2
您可以使用rsync -avX
代替rsync -ad
.它應該會套用任何缺少的 ACL,而無需重新複製文件內容。
新增該-u
標誌以避免更新已變更的文件,並--existing
避免建立新文件(例如,您已在目標中刪除它們)。