테일 연산을 지원하는 압축 형식이 있습니까? 여러 개의 gzip 블록을 함께

tailed 를 지원하는 압축 형식을 찾고 있습니다. 마지막 X 비 압축 바이트를 얻기 위해 전체 파일을 읽을 필요는 없습니다. bzip2, xz, lzma 등과 같은 형식으로 가능합니까?

한 번 gzip을 사용하여 무언가를 코딩했습니다. 기본적으로 정말 높은 수준에서 여러 개의 gzip 블록을 함께 묶은 것이었고, 마지막 블록이 시작될 때까지 파일 끝에서 뒤로 탐색 할 수있는 유틸리티가있었습니다. 이 파일들은 표준 gzip 유틸리티로 완전히 읽을 수 있지만 좀 더 표준화 된 것을 원합니다.

이를위한 궁극적 인 목적은 압축 된 상태로 기록한 다음 tail디스크 나 네트워크에서 전체 내용을 읽을 때까지 기다릴 필요없이 완전히 기록되지 않은 스트리밍 파일 일 수있는 로그 파일입니다 .



답변

gzip에는 –rsyncable 옵션이 있으며 이는 본질적으로 동일 합니다. 비표준 부분은 gzip-block-aware “ztail”유틸리티이지만, 이미 처리 한 것처럼 보입니다.


답변

FWIW : gzip 파일에 대한 색인을 생성 하는 zlib의 zran.c 소스 코드 에서 명령 행 도구를 개발했습니다 . https://github.com/circulosmeos/gztool

-T옵션 으로 gzip 파일의 연속 꼬리를 만들 수 있습니다 . 또는 -t(많은 다른 옵션 사용 가능)을 사용 하여 마지막 내용의 꼬리 만 멈 춥니 다 .

이러한 작업 중 하나에 대해 gztool해당 작업에 인터리브 된 인덱스 파일이 생성됩니다.

색인은 언제든지 중단되고 나중에 재사용 및 / 또는 완료 될 수 있습니다. 로 그리고 gztool단지 파일의 모든 곳에서 데이터를 추출에 명령 할 수 있으며, 해당 작업과 인터리브 인덱스를 만들 것이다, 그것을 사용하는 경우 손실 시간이 결코 없습니다.


답변