Что это за блуждающие нулевые байтовые файлы, извлеченные из tarball? (OSX) - PullRequest
1 голос
/ 31 октября 2008

Я извлекаю папку из архива и вижу, что эти нулевые байтовые файлы отображаются в результате (где их нет в источнике). Настройка (все в OS X):

На первом компьютере у меня есть каталог / My / Stuff / Goes / Here /, содержащий несколько сотен файлов. Я строю это так

tar -cZf mystuff.tgz /My/Stuff/Goes/Here/

На втором компьютере я копирую файл tgz в свой локальный каталог, затем распаковываю его.

tar -xZf mystuff.tgz

Создает ~ scott / My / Stuff / Goes /, но затем в разделе Goes я вижу два файла:

Here/ - a directory,  
Here.bGd - a zero byte file.

Файл нулевого байта "Here.bGd" содержит случайный трехсимвольный суффикс, смешанные символы верхнего и нижнего регистра. Он имеет то же имя, что и каталог самого низкого уровня, упомянутый в команде tar-creation. Он появляется только в каталоге самого низкого уровня с именем. Кто-нибудь знает, откуда они берутся, и как я могу откорректировать создание своих смол, чтобы избавиться от них?

Обновление: Я проверил оглавление файлов с помощью tar tZvf: toc не перечисляет файлы нулевого байта, поэтому я склоняюсь к предположению, что распакованный компьютер неисправен. На распакованном компьютере OS X версии 10.5.5 (не знаю, как проверить тип файловой системы). Tar - это GNU tar 1.15.1, и он поставляется вместе с машиной.

Ответы [ 5 ]

2 голосов
/ 31 октября 2008

Вы можете получить оглавление из архива, выполнив

tar tZvf mystuff.tgz

Если эти нулевые байты перечислены в оглавлении, значит, проблема в компьютере, создающем тарбол. Если их нет в списке, значит, проблема в том, что компьютер распаковывает архив.

0 голосов
/ 01 ноября 2008

На моем компьютере с MacOS X (10.4.11) я иногда получаю файлы .DS_Store в каталоге (но это не пустые файлы), и я видел другие скрытые имена файлов на картах памяти, которые использовались на макинтош Они как-то связаны с файловой системой Mac. Я предполагаю, что то, что вы видите, связано с одним или другим из этих наборов файлов. На оригинальных компьютерах Mac (MacOS 9 и более ранних версиях) имелись ветки данных и вилки ресурсов для файлов.

Небольшая игра показывает, что каталог, в котором я никогда не использовал Finder, не имеет файла .DS_Store; если я использую Finder для перехода к этому каталогу, появляется файл .DS_Store. Предположительно, он содержит информацию о том, как файлы должны отображаться на дисплее Finder (поэтому, если вы перемещаете файлы, они остаются там, где вы их положили).

Это не дает прямого ответа на ваш вопрос; Я надеюсь, что это дает некоторые указатели.

0 голосов
/ 31 октября 2008

Я не видел этой конкретной проблемы раньше с tar. Однако существует другая проблема, когда tar объединяет файлы метаданных с обычными файлами (они имеют одинаковые имена, но имеют префикс «._»). Решением этой проблемы было установить переменную окружения COPYFILE_DISABLE=y. Если эти странные файлы - это больше файлов метаданных, может, это решит и вашу проблему?

Если этого не сделать, вы можете попробовать установить другую версию tar.

0 голосов
/ 31 октября 2008

Я не могу повторить это в моей системе 10.5.5.

Итак, для каждой системы:

  1. Какую версию OSX вы используете?
  2. какая файловая система используется?
0 голосов
/ 31 октября 2008

Я не знаю (а для мальчика это сложная проблема для Google!), Но вот шаг устранения неполадок: попробуйте tar без Z. Это определит, является ли compress или tar причиной проблемы.

...