gzip 압축 파일을 안전하게 확대하는 방법은 무엇입니까?

gzip 압축 파일을 안전하게 확대하는 방법은 무엇입니까?

gzip 압축 파일(약 3Kb)이 있는데 크기가 정확히 4000이기를 원합니다.

이를 달성하기 위해 후행 패딩 0을 추가하는 것이 안전합니까? (보안이란 gzip으로 압축된 파일의 내용을 오류 없이 압축할 수 있다는 의미입니다.)

dd if=/dev/zero of=/myfile bs=1 count=4000
dd if=/gzipfile.gz of=/myfile

이것이 안전하지 않다면 대안이 있습니까?

답변1

매뉴얼 페이지에서:

CAVEATS

 When writing compressed data to a tape, it is generally
 necessary to pad the output with zeroes up to a block
 boundary. When the data is read and the whole block is
 passed to gun‐ zip for decompression, gunzip detects that
 there is extra trailing garbage after the compressed data
 and emits a warning by default. You have to use the
 --quiet option to suppress the warning.

그래서 당신은 안전해 보이는군요.

conv=notrunc두 번째 호출을 통과해야 하기 때문에 코드가 작동하지 않습니다 dd.

또는 다음을 수행할 수 있습니다.

dd bs=4000 seek=1 count=0 of=file.gz

또는

truncate  -s 4000 file.gz

크기를 4000바이트로 만드세요(실제로 0을 쓸 필요 없이 희소하게 만드세요).

관련 정보