На удаленном сервере под управлением Linux Ubuntu 16.04 'у меня не хватило места, когда я делал tar-файл из набора старых файлов .rar (~ 150G), и теперь конечный tar' поврежден '. Вот когда я делаю tar tf
я получаю:
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
Как я могу исправить эту поврежденную смолу?
Я пытался:
- удалить усеченный файл из 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
- Я также попытался с помощью шестнадцатеричного редактора удалить последнюю часть файла, которая, как я полагаю, заключается в том, в чем заключается проблема, но я выбился из колеи, потому что не знал точно, как или что исправить, и я не хотел ухудшать ситуацию.
Есть идеи?