Как вывести файлы в пустой архив tar? - PullRequest
0 голосов
/ 08 апреля 2020

Сегодня я столкнулся с этой проблемой

gzip: stdin: not in gzip format

и нашел Как извлечь файл filename.tar.gz , но я был удивлен, что этот файл не является допустимым форматом gzip .

Это правда, что file archive.tar.gz возвращает data вместо POSIX tar archive (GNU)

Когда я пытался выяснить, где проблема, я понял, что проблема заключается в «пустой» смоле .

Я могу воспроизвести проблему следующим образом:

$ echo -n "" > empty.txt
$ tar --remove-files -cvf empty.tar.gz -T empty.txt
$ file empty.tar.gz
empty.tar.gz: data
$ tar -tvf empty.tar.gz

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

, поэтому мне интересно, как "восстановиться" от этого?

Кажется, что m c не имеет проблем с этим.

Хорошо, я исправил свой скрипт, поэтому перед созданием tar проверяю количество записей в файле на tar.

Некоторые другие советы?

$ tar --version
tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
...