gzip: неожиданный конец файла с - как все равно читать файл

Моя проблема заключалась в неправильных разрешениях для файла / dev / ptmx (0600). Когда я изменил его на 0666, как это упоминается в man ptmx, у tmux не было проблем с запуском.

8
12.04.2017, 18:31
3 ответа

Помимо самого конца файла, вы сможете увидеть несжатые данные с помощьюzcat(или gzip -dc, илиgunzip -c):

zcat log.gz | tail

или

zcat log.gz | less

или

zless log.gz

gzipбудет выполнять буферизацию по очевидным причинам (ему необходимо сжимать данные по частям ), поэтому даже если программа вывела некоторые данные, эти данные могут еще не находиться в файле log.gz.

Вы также можете сохранить несжатый журнал с помощью

zcat log.gz > log

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

10
27.01.2020, 20:13

Вы можете попробовать разделить файл и сжать каждый из них: https://stackoverflow.com/a/2016918/3090950

В любом случае, не могли бы вы запустить команду в подробном режиме? Это даст вам больше информации.

0
27.01.2020, 20:13

Если я правильно понимаю, вы хотели бы сделать что-то вроде tail -fс все еще растущим файлом gzip :Я разработал gztool , который может сделать это (среди прочего):

$ gztool -T log.gz

и он будет непрерывно выводить на консоль, ожидая новых данных, когда это необходимо.

Обратите внимание, что gztoolтакже создаст индексный файл (log.gzi, в данном случае ), который сделает будущие хвосты или другие произвольные доступы к данным gzip с gztoolпрактически мгновенными. Если вы не хотите создавать индекс (, даже если он имеет размер 0,3%/gzip и не увеличивает время обработки ), вы можете использовать -W, чтобы не создавать его.

1
27.01.2020, 20:13

Теги

Похожие вопросы