如何解压Duplicity/DejaDup生成的difftar文件?
解决DejaDup/Duplicity .difftar备份文件解压失败的可行方案
一、用WSL2安装原生Duplicity(最靠谱的方法)
.difftar是Duplicity的增量备份格式,只有原生工具能完整解析,之前Cygwin报错大概率是依赖缺失,换WSL2更稳定:
- 打开Windows PowerShell,执行
wsl --install安装WSL2,选Ubuntu发行版(默认即可) - 进入WSL终端,更新并安装Duplicity:
sudo apt update && sudo apt install duplicity - 恢复备份:
- 把你的.difftar备份文件放到Windows的某个文件夹,比如
C:\Users\你的用户名\Backup - 在WSL里执行恢复命令(替换成你的实际路径):
duplicity restore file:///mnt/c/Users/你的用户名/Backup/ /mnt/c/Users/你的用户名/Recovered/
- 把你的.difftar备份文件放到Windows的某个文件夹,比如
二、检查并修复损坏的备份片段
如果备份文件有损坏,先做完整性检查和修复:
- 在WSL或Linux环境下,执行命令检查备份完整性(参考目录可以是空文件夹):
duplicity verify file:///你的备份路径 /临时参考目录 - 若检测到无效片段,执行清理命令:
duplicity cleanup file:///你的备份路径
三、手动提取可读取的文件(极端情况)
如果以上方法都卡壳,试试手动提取部分可用文件:
- 在WSL或Linux里,直接用tar命令尝试解压:
tar -xvf 你的备份文件.difftar - 如果有损坏提示,忽略错误继续提取:
tar -xvf 你的备份文件.difftar --ignore-failed-read
四、原Linux机器恢复的排查要点
之前原机器恢复失败,可能是版本或权限问题:
- 检查Duplicity版本,备份时用的版本和现在的要匹配,执行
duplicity --version查看当前版本,若不一致,安装对应版本(比如备份用0.8.20):sudo apt install duplicity=0.8.20-1 - 给备份目录赋予正确权限:
再尝试用DejaDup的恢复功能操作。sudo chmod -R 755 /你的备份目录路径
内容的提问来源于stack exchange,提问作者user23289622
相关产品推荐
相关产品推荐

