2013-07-02 3 views
0

Я хотел проверить какой-то потенциальный деструктивный код в каталоге и во всех его подкаталогах. Итак, я набрал его, а затем сделал копию из tarball в пространстве, где мой код не случайно уничтожил бы все, что я действительно хотел сохранить. Мой код, казалось, работал, за исключением того, что я заметил, что определенные файлы не были помещены в tarball.tar не архивируя все мои файлы

Это то, что я изначально сделал:

tar -czf mydirectory.tar.gz directory 

В безопасном месте Затем я сделал следующее:

tar -xzf mydirectory.tar.gz 

Я побежал рекурсивный diff на архивированных и оригинальных каталогов. Это показало, что некоторые файлы отсутствуют.

Похоже, что любой файл с именем .__<name>__ не был записан в архив. Например, .__quiz__ или .__example__.

tar Пропустить эти файлы, Как мне добавить tar? Какие еще файлы могли бы tar не записывать?

Даже если я запустил tar в подробный режим, не было сообщения о том, что что-то пропущено.

UPDATE

Я установил версию targnu. Это прекрасно работает.

ответ

0

Хмм, для меня tar архивирует все файлы с этим рисунком .__<file>__, если я не поместил шаблон в -exclude=.

Вы можете ввести echo $TAR_OPTIONS в свою оболочку и проверить, не установлен ли он? Возможно, у вас есть некоторые параметры по умолчанию, установленные для tar (например, вышеупомянутый шаблон исключения).

Edit:

Так, деготь игнорирует .__<name>__ файлы, судя по вашей многословной выход смолы. Возможно ли, чтобы исключить этот шаблон? Введите alias, чтобы перечислить все команды с псевдонимом.

+0

Переменная '$ TAR_OPTIONS', по-видимому, не установлена: по крайней мере, когда я пытаюсь« echo $ TAR_OPTIONS ». –

+0

Хм, у вас есть переменная 'COPYFILE_DIABLE'? Если он установлен в true, он должен заблокировать любой файл, начинающийся с '._' – Th30n

+0

№. Это также не задано. –