Получение ошибки «Bad file descriptor» во время tar

Я пытаюсь tar tar с этой командой «tar -cpSWf myfile.tar workdir; gzip myfile.tar», но я получаю эту ошибку для некоторых файлов в каталоге workdir.

tar: my/sub/dir/file1.oa: Cannot seek to 1536: Bad file descriptor 

Я запускаю ту же команду в другом каталоге, и такой ошибки нет. Это потому, что файлы .oa повреждены или диск не работает? Это распространенная проблема при использовании tar? Есть ли способ устранить эту ошибку?

  • Сжатие двух одинаковых папок дает разные результаты
  • команда для получения наивысшего имени каталога в сжатых файлах
  • создание xar-архива с использованием утилиты tar в FreeBSD
  • «Тар» - результат поиска, сохраняющий структуру каталогов
  • невозможно извлечь файл, который загружается на FTP-сервер
  • Показывать файлы tar.gz, но tar.gz уже находится в файле tar
  • Много файлов «._» внутри tar
  • grep для строки в нескольких файлах под tar и print wc -l
  • One Solution collect form web for “Получение ошибки «Bad file descriptor» во время tar”

    Вопросов

    Это потому, что файлы .oa повреждены или диск не работает? Это распространенная проблема при использовании tar? Есть ли способ устранить эту ошибку?

    На самом деле не актуально, является ли эта проблема типичной или нет (раньше я ее не встречал), я бы начал с попытки tar один файл и посмотреть, не может ли выделить проблему еще немного, а также повтори это.

     $ tar -cpSWf somefile.tar my/sub/dir/file1.oa 

    Кроме того, как в стороне, вы можете сэкономить себе шаг и tar и сжать все сразу:

     $ tar zcpSWf somefile.tar.gz ... 

    Я также хотел бы временно отключить SW переключатели, чтобы проверить, не повлияло ли это на вашу способность tar эти проблемные файлы.

    Если эти ошибки являются предупреждением о наличии на жестком диске поврежденных секторов, вам может потребоваться запустить fsck или использовать такой инструмент, как HDAT2, чтобы попытаться восстановить поврежденные сектора. Однако эти ремонтные работы могут по-прежнему оставлять файл .oa в поврежденном состоянии.

    Linux и Unix - лучшая ОС в мире.