在运行 Linux Ubuntu 16.04' 的远程服务器上,当我从一堆旧 .rar 文件(约 150G)中解压 tar 文件时,空间不足,现在最后的 tar 已“损坏”。当我执行此操作时,tar tf
我得到:
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
我怎样才能修复这个损坏的 tar?
我尝试过:
- 从 tar 中删除截断的文件(
tar --delete -f mycorruptedtar.tar offendingfile.ext
) - 通过提取未损坏的文件并将它们添加到新的 tar 中来修复它
#!/bin/bash
for file in $(tar -tf mycorruptedtar.tar);
do
if [ ! "$file" == "offendingfile.ext" ]
then
tar xf mycorruptedtar.tar $file
tar rf newtar.tar $file --remove-files
tar --delete -f mycorruptedtar.tar $file
fi
done
- 我还尝试使用十六进制编辑器删除文件的最后一部分,我认为这就是问题所在,但我退缩了,因为我不知道具体如何或要修复什么,而且我不想让事情变得更糟。
有任何想法吗?